This shows you the differences between two versions of the page.
pm:prj2022:imacovei:heartmonitor [2022/04/21 17:31] oana_roxana.vrancea [Introducere] |
pm:prj2022:imacovei:heartmonitor [2022/05/27 13:28] (current) oana_roxana.vrancea |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | Heart Monitor | ||
===== Heart Monitor ===== | ===== Heart Monitor ===== | ||
===== Introducere ===== | ===== Introducere ===== | ||
+ | Proiectul consta in realizarea unui aparat ce masoara pulsul unei persoane cu ajutorul unui senzor si afiseaza valoarea sa pe un ecran. Conform unor valori de referinta prestabilite in functie de varsta utilizatorului, diverse LED-uri vor indica atat gradul in care se incadreaza valoarea masurata, cat si frecventa batailor inimii. | ||
+ | Am ales acest proiect in urma analizarii functionalitatii bicicletei fitness cu senzori puls. Consider ca acest proiect este util deoarece masoara frecventa cardiaca si semnaleaza o valoare prea ridicata. | ||
- | Rolul aparatului este de a masura pulsul unei persoane prin intermediul unui senzor. Valoarea va fi afisata pe un ecran de tip OLED. Utilizatorul va fi rugat sa isi introduca varsta pentru a fi calculata valoarea maxima pe care o poate avea pulsul. Un led RGB este folosit pentru a indica valoarea pulsului. De asemenea, doua led-uri, unul verde si unul rosu, trebuie sa se aprinda si sa se stinga concomitent cu bataile inimii. La un moment dat va functiona doar unul dintre cele 2, in functie de valoarea pulsului. Un buzzer va genera un zgomot daca valoarea pulsului depaseste valoarea maxima permisa. | + | |
+ | ===== Descriere generală ===== | ||
+ | Aparatul masoara pulsul unei persoane prin intermediul unui senzor. Valoarea va fi afisata pe un ecran de tip OLED. Utilizatorul va fi rugat sa isi introduca varsta pentru a fi calculata valoarea maxima pe care o poate avea pulsul. Un led RGB este folosit pentru a indica valoarea pulsului. De asemenea, doua led-uri, unul verde si unul rosu, trebuie sa se aprinda si sa se stinga concomitent cu bataile inimii. La un moment dat va functiona doar unul dintre cele 2, in functie de valoarea pulsului. Un buzzer va genera un zgomot daca valoarea pulsului depaseste valoarea maxima permisa. | ||
+ | |||
+ | === Schema bloc === | ||
+ | {{:pm:prj2022:imacovei:untitled_diagram.png?600|}} | ||
+ | |||
+ | ===== Hardware Design ===== | ||
+ | === Schema Electrica === | ||
+ | {{:pm:prj2022:imacovei:schema_electrica_ovr.png?600|}} | ||
+ | === Lista de piese === | ||
+ | * Arduino UNO | ||
+ | * Senzor de Puls XD-58C | ||
+ | * Breadboard | ||
+ | * Ecran OLED | ||
+ | * Rezistori 220 Ω | ||
+ | * LED RGB | ||
+ | * LED verde | ||
+ | * LED rosu | ||
+ | * Buzzer | ||
+ | * fire tata-tata, mama-tata | ||
+ | |||
+ | ===== Software Design ===== | ||
+ | Pentru dezvoltarea software a proiectului am utilizat Arduino IDE. Bibliotecile utilizate sunt: | ||
+ | * Adafruit_GFX.h | ||
+ | * Adafruit_SSD1306.h | ||
+ | * Wire.h | ||
+ | * SPI.h | ||
+ | * avr/interrupt.h | ||
+ | |||
+ | Adafruit_GFX.h si Adafruit_SSD1306.h au fost necesare pentru display-ul OLED. | ||
+ | |||
+ | In cadrul implementarii am folosit convertorul analogic-digital(ADC), precum si intreruperi. | ||
+ | |||
+ | Initial, utilizatorul este rugat sa isi introduca varsta si este calculata valoarea maxima a pulsului pe care o poate avea si stocata in variabila globala max_pulse_value. Variabila heart_beat_val retine valoarea pe care o citeste senzorul de puls si se apeleaza functia find_threshold() care calculeaza pe baza ultimelor 10 valori citite anterior si stocate in vectorul sensor_values[] o limita superioara UPPER_THRESHOLD si o limita inferioara LOWER_THRESHOLD. Daca anterior a fost gasita o valoare mai mica decat limita inferioara, iar valoarea curenta este mai mare decat limita superioara, atunci am gasit o bataie de inima. | ||
+ | Dupa fiecare interval de 60 de secunde se afiseazaz numarul de BPM calculat. | ||
+ | |||
+ | ===== Rezultate Obţinute ===== | ||
+ | |||
+ | {{:pm:prj2022:imacovei:ovr_computing_bpm.jpeg?400|}} | ||
+ | {{:pm:prj2022:imacovei:ovr_green_light.jpeg?393|}} | ||
+ | |||
+ | {{:pm:prj2022:imacovei:ovr_yellow_light.jpeg?330|}} | ||
+ | {{:pm:prj2022:imacovei:ovr_red_light.jpeg?300|}} | ||
+ | |||
+ | ===== Concluzii ===== | ||
+ | Proiectul functioneaza asa cum mi-am propus initial. Cu toate acestea, a trebuit sa inlocuiesc senzorul de puls XD-58C cu unul de tip KY-039 ce se foloseste de un LED IR si un fototranzistor iar rezultatele pot fi influentate de lumina primita din jur. | ||
+ | |||
+ | ===== Jurnal ===== | ||
+ | * 22 - 28 aprilie -> achizitionare componente | ||
+ | * 2 - 7 mai -> testare componente | ||
+ | * 8 - 22 mai -> implementare parte software si hardware | ||
+ | * 22 - 23 mai -> finalizare proiect | ||
+ | |||
+ | ===== Download ===== | ||
+ | {{:pm:prj2022:imacovei:heart_monitor_source.zip|}} | ||
+ | |||
+ | ===== Bibliografie/Resurse ===== | ||
+ | https://create.arduino.cc/projecthub/Johan_Ha/from-ky-039-to-heart-rate-0abfca | ||
+ | |||
+ | https://create.arduino.cc/projecthub/Shubham_Desai/how-to-connect-oled-display-with-arduino-uno-6aed2a | ||
+ | |||
+ | https://electropeak.com/learn/interfacing-ky-039-finger-heartbeat-measuring-sensor-module-with-arduino/ | ||
+ | |||
+ | https://create.arduino.cc/projecthub/muhammad-aqib/arduino-rgb-led-tutorial-fc003e | ||
+ | |||
+ | https://create.arduino.cc/projecthub/SURYATEJA/use-a-buzzer-module-piezo-speaker-using-arduino-uno-89df45 | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||
+ | |||
+ | |||
+ | |||
+ | |||