This shows you the differences between two versions of the page.
pm:prj2022:ncaroi:pulse-meter [2022/05/27 16:06] daniela.becheanu [Software Design] |
pm:prj2022:ncaroi:pulse-meter [2022/05/27 22:20] (current) daniela.becheanu [Descriere generală] |
||
---|---|---|---|
Line 9: | Line 9: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
==Functionalitate== | ==Functionalitate== | ||
- | Pulsul este masurat folosind un senzor de puls, apoi trimitandu-se rezultatul catre ecranul LCD. Daca pulsul nu este in limitele normale (...), buzzerul porneste si LED-ul incepe sa palpaie. Altfel, LED-ul este aprins fara sa palpaie. In toate cazurile, pe ecran se va afla o apreciere a pulsuilui (Too low/Normal/Too high) | + | Pulsul este masurat folosind un senzor de puls, apoi trimitandu-se rezultatul catre ecranul LCD. Daca pulsul nu este in limitele normale (60 - 100 bpm), buzzerul porneste si LED-ul se aprinde. Altfel, LED-ul este stins, la fel si buzzerul. In toate cazurile, pe ecran se va afla o apreciere a pulsuilui (Too low/Normal/Too high) |
==Schema bloc== | ==Schema bloc== | ||
Line 30: | Line 30: | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Functii implementate: | ||
+ | * **setup()**: setez pinii LED-ului si al buzzer-ului ca fiind de ouptut, initializez campurile senzorului de puls si pornesc ecranul LCD | ||
+ | * **loop()**: primesc de la senzor valoarea pulsului si procesez datele primite (pentru toate cele 3 cazuri, afisez si valoarea pulsului) | ||
+ | * daca este intre 60 si 100 bpm, afisez "NORMAL" | ||
+ | * daca este mai mica decat 60 bpm, pornez buzzer-ul si LED-ul si afisez "TOO LOW" | ||
+ | * daca este mai mare decat 100 bpm, pornez buzzer-ul si LED-ul si afisez "TOO HIGH" | ||
- | |||
- | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | ||
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | ||
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | ||
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | ||
- | * (etapa 3) surse şi funcţii implementate | ||
- | </note> | ||
Biblioteci folosite pentru schema electrica: | Biblioteci folosite pentru schema electrica: | ||
*[[https://github.com/sparkfun/SparkFun-Eagle-Libraries | SparkFun]] | *[[https://github.com/sparkfun/SparkFun-Eagle-Libraries | SparkFun]] | ||
*[[https://www.distrelec.de/en/heart-rate-sensor-pulse-sparkfun-electronics-sen-11574/p/30152838 | Senzor puls]] | *[[https://www.distrelec.de/en/heart-rate-sensor-pulse-sparkfun-electronics-sen-11574/p/30152838 | Senzor puls]] | ||
- | *[[https://www.espressif.com/sites/default/files/documentation/esp32-wrover-e_esp32-wrover-ie_datasheet_en.pdf | ESP]] | ||
Pentru software, am folosit Arduino IDE. | Pentru software, am folosit Arduino IDE. | ||
+ | |||
+ | Biblioteci folosite pentru Arduino IDE: | ||
+ | *[[https://github.com/WorldFamousElectronics/PulseSensorPlayground | Senzor Puls]] | ||
+ | *[[https://github.com/esp8266/Arduino/blob/master/libraries/Wire/Wire.h | Wire]] | ||
+ | *[[https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library | LCD I2C]] | ||
+ | |||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | Proiectul functioneaza conform descrierii anterioare. |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | {{:pm:prj2022:ncaroi:pulse_meter2.jpeg?250|}} {{:pm:prj2022:ncaroi:pulse_meter3.jpeg?250|}} |
+ | {{:pm:prj2022:ncaroi:pulse_meter4.jpeg?250|}} {{:pm:prj2022:ncaroi:pulse_meter5.jpeg?250|}} | ||
+ | |||
+ | Link catre {{https://youtu.be/3Bs_u4fTj5s|demo}}. | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
Este un proiect interesant si diferit fata de ce am avut pana la momentul actual in facultate. Pentru prima data am realizat ceva pe partea de hardware si mi-a placut foarte mult. | Este un proiect interesant si diferit fata de ce am avut pana la momentul actual in facultate. Pentru prima data am realizat ceva pe partea de hardware si mi-a placut foarte mult. | ||
- | Ca probleme, la inceput nu reuseam prea bine sa iau valoarea pulsului de la senzor (pe langa asta, a trebuit sa cumpar 2 senzori pentru ca primul a venit rupt :-() | + | Ca probleme, la inceput nu reuseam prea bine sa iau valoarea pulsului de la senzor (pe langa asta, a trebuit sa cumpar 2 senzori pentru ca primul a venit rupt :-() Mi-ar fi placut, totusi, sa am un senzor de puls care sa nu necesite atat de multa grija in momentul in care pozitionez degetul pe el, doarece, daca atingerea este prea usoara sau prea apasata, acesta nu citeste prea bine valoarea pulsului. |
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | {{ :pm:prj2022:ncaroi:pulse-meter.zip | Cod sursa}} |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
- | + | ||
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | |
- | </note> | + | |
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
*Magazine online: [[https://www.optimusdigital.ro/ro/]], [[https://www.robofun.ro/]] | *Magazine online: [[https://www.optimusdigital.ro/ro/]], [[https://www.robofun.ro/]] | ||
Line 71: | Line 72: | ||
*Utilizare LED: [[https://create.arduino.cc/projecthub/karmette/basic-led-setup-for-beginners-0a124a]] | *Utilizare LED: [[https://create.arduino.cc/projecthub/karmette/basic-led-setup-for-beginners-0a124a]] | ||
+ | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export page as PDF</a></html> |