Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2022:sgherman:pulsemeter [2022/05/27 17:58]
maria.patrascu2307 [Download]
pm:prj2022:sgherman:pulsemeter [2022/06/02 15:29] (current)
maria.patrascu2307 [Download]
Line 3: Line 3:
 Grupa: 334CB Grupa: 334CB
 ===== Introducere ===== ===== Introducere =====
-Proiectul reprezinta un aparat care masoara pulsul. Atunci cand nu este apasat ​butonul ​se va afisa pe ecran mesajul "Press button to take your pulse!"​ pentru a anunta utilizatorul ca trebuie butonul apasat in timpul masurarii pulsului. ​Pe parcursul ​apasarii butonului si masurarii pulsului ​va functiona un buzzer, iar in functie de valoarea pulsului, un led se va aprinde pe o anumita culoare (verde, galben, rosu), daca senzorul nu depisteaza nimic, ledul va fi alb.+Proiectul reprezinta un aparat care masoara pulsul. Atunci cand nu este niciun buton apasat se va afisa pe ecran mesajul "Press button to take your pulse!"​ pentru a anunta utilizatorul ca trebuie ​sa tina butonul ​alb apasat in timpul masurarii pulsului. ​Se ruleaza programul de python pentru a putea introduce datele utilizatorului in baza de date, apoi in timpul ​apasarii butonului ​alb se masoara pulsul ​si va functiona un buzzer, iar in functie de valoarea pulsului, un led se va aprinde pe o anumita culoare (verde, galben, rosu). Daca senzorul nu depisteaza nimic, ledul va fi alb. Dupa preluarea datelor se apasa butonul albastru pentru a trimite valorile masurate de catre senzorul de puls catre baza de date, pentru a putea fi inregistrat utilizatorul.
 ===== Descriere generală ===== ===== Descriere generală =====
-In implementarea proiectului voi folosi, pe langa componentele de baza, un senzor de puls, un Display OLED, un LED, un buzzer si un buton. Atunci cand este apasat butonul si se pune degetul pe senzor, se asteapta afisarea valorii pulsului pe ecran. In functie de aceasta culoarea LED-ului o sa se schimbe, iar buzzer-ul o sa functioneze pe intreaga perioada a masurarii. Daca butonul nu este apasat, atunci se va afisa pe ecran un mesaj pentru indrumarea utilizatorului.+In implementarea proiectului voi folosi, pe langa componentele de baza, un senzor de puls, un Display OLED, un LED RGB, un buzzer si doua butoane. Atunci cand este apasat butonul ​alb si se pune degetul pe senzor, se asteapta afisarea valorii pulsului pe ecran. In functie de aceasta culoarea LED-ului o sa se schimbe, iar buzzer-ul o sa functioneze pe intreaga perioada a masurarii. Se apasa butonul albastru pentru a trimite valorile masurate de catre senzorul de puls catre baza de date. Daca butonul ​alb nu este apasat, atunci se va afisa pe ecran un mesaj pentru indrumarea utilizatorului.
 ===== Hardware Design ===== ===== Hardware Design =====
  ​__**Componente:​**__  ​__**Componente:​**__
Line 11: Line 11:
  
   - Placuta Arduino   - Placuta Arduino
-  - Keypad+  - Breadboard
   - Senzor de puls   - Senzor de puls
   - LED RGB   - LED RGB
   - Display OLED   - Display OLED
   - Buzzer   - Buzzer
-  - Buton+  - Butoane
   - Fire   - Fire
   - Rezistente   - Rezistente
Line 36: Line 36:
  
 ===Biblioteci:​=== ===Biblioteci:​===
-  * Adafruit_GFX,​ Adafruit_SSD1306 +  ​- Arduino: 
-  * Wire +    ​* Adafruit_GFX,​ Adafruit_SSD1306 
-  * SPI +    * Wire 
-  * PulseSensorPlayground+    * SPI 
 +    * PulseSensorPlayground 
 +  - Python: 
 +    * tkinter 
 +    * sqlite3 
 +    * serial
  
 ===Descrierea codului:=== ===Descrierea codului:===
        - Faza I:        - Faza I:
-           * In acest stadiu, pe ecran se afiseaza mesajul care-l anunta pe utilizator ca trebuie ​sa tina butonul apasat pentru a putea sa isi ia pulsul, ledul fiind stins deoarece nu se primeste nimic de la senzor+           * In acest stadiu, pe ecran se afiseaza mesajul care-l anunta pe utilizator ca trebuie ​mentinut ​butonul ​alb apasat pentru a-si putea masura ​pulsul, ledul fiind stins deoarece nu se primeste nimic de la senzor
        - Faza II:        - Faza II:
-           * In momentul in care utilizatorul tine butonul apasat, trebuie sa puna degetul pe senzor pentru a putea sa se afiseze pulsul pe ecran+           * Se ruleaza programul python pentru a putea introduce datele utilizatorului (Nume, Prenume, Varsta) in baza de date 
 +           * In momentul in care utilizatorul tine butonul ​alb apasat, trebuie sa puna degetul pe senzor pentru a putea sa se afiseze pulsul pe ecran 
 +           * Dupa preluarea valorilor de la senzorul de puls, se apasa butonul albastru pentru a timite valorile catre programul din python, unde se va calcula pulsul mediu si se va introduce in baza de date in coloana BPM
            * Am adaugat si un buzzer care va scoate un sunet de fiecare data cand culoarea LED-ului se schimba            * Am adaugat si un buzzer care va scoate un sunet de fiecare data cand culoarea LED-ului se schimba
            * LED-ul isi schimba culoarea in functie de valorile pe care le masoara senzorul, astfel:            * LED-ul isi schimba culoarea in functie de valorile pe care le masoara senzorul, astfel:
Line 51: Line 58:
                  * VERDE: Cand pulsul este intre 60 si 100 bpm                  * VERDE: Cand pulsul este intre 60 si 100 bpm
                  * ROSU: Cand pulsul trece de 100 bpm                  * ROSU: Cand pulsul trece de 100 bpm
-                 * ALB: Nu se ia pulsul+                 * ALB: Nu se masoara ​pulsul
 ==Functii:​== ==Functii:​==
-  * setup() -> initializarea display-ului OLED, a senzorului de puls, a butonului si a LED-ului +  ​- Arduino: 
-  * RGB_color(red,​ green, blue) -> seteaza valorile pinilor LED-ului pentru a arata culoarea dorita +    ​* setup() -> initializarea display-ului OLED, a senzorului de puls, a butonului si a LED-ului 
-  * loop() -> in functie de starea butonului se citeste ​sau nu valorile primite de la senzor, iar pe parcursul apasarii butonului se afiseaza valorile pe ecran, se aprinde LED-ul ​si incepe sa porneasca ​si buzzer-ul+    * RGB_color(red,​ green, blue) -> seteaza valorile pinilor LED-ului pentru a arata culoarea dorita 
 +    * loop() -> in functie de starea butonului ​alb se citesc ​sau nu valorile primite de la senzor, iar pe parcursul apasarii butonului ​alb se afiseaza valorile pe ecran, se aprinde LED-ul si buzzer-ul ​este pus in functiune. Cand se apasa butonul albastru se trimit valorile masurate de senzor catre programul python
  
 +  - Python:
 +    * Clasa Data, in care am functiile:
 +       * initPage -> adaug detaliile pentru pagina in care sunt introduse datele utilizatorului (Nume, Prenume, Varsta)
 +       * SaveDetails -> creez baza de date, preiau pulsul de la arduino, calculez media lui, apoi inserez in baza de date toate informatiile despre utilizator (Nume, Prenume, Varsta, BPM)
 +       * main -> creez pagina unde se introduc datele utilizatorului
  
  
  
  
-===== Rezultate Obţinute ===== 
-{{:​pm:​prj2022:​sgherman:​1.jpeg?​300|}} {{:​pm:​prj2022:​sgherman:​2.jpeg?​300|}} 
  
-{{:​pm:​prj2022:​sgherman:​3.jpeg?​300|}} {{:​pm:​prj2022:​sgherman:​4.jpeg?​300|}}+===== Rezultate Obţinute ===== 
 +{{:​pm:​prj2022:​sgherman:​1.start.jpeg?​300|}} {{:​pm:​prj2022:​sgherman:​2.introduce_date.jpeg?​300|}} 
 +{{:​pm:​prj2022:​sgherman:​3.val_sub_60.jpeg?​300|}} {{:​pm:​prj2022:​sgherman:​4.val_60-100.jpeg?​300|}} 
 +{{:​pm:​prj2022:​sgherman:​5.val_peste_100.jpeg?​300|}} {{:​pm:​prj2022:​sgherman:​6.bd.jpeg?​300|}}
 ===== Concluzii ===== ===== Concluzii =====
-In urma realizarii acestui proiect, am invatat ca trebuie sa te documentezi foarte bine in legatura cu utilizarea componentelor,​ deoarece unele nu pot fi compatibile impreuna. A fost dificil sa conectez display-ul OLED, pentru ca nu mai lucrasem cu un astfel de display,.+In urma realizarii acestui proiect, am invatat ca trebuie sa te documentezi foarte bine in legatura cu utilizarea componentelor,​ deoarece unele nu pot fi compatibile impreuna. A fost dificil sa conectez display-ul OLED, pentru ca nu mai lucrasem cu un astfel de display.
  
 A fost interesant sa lucrez la acest proiect, pentru ca vedeam cum usor, usor prinde forma tot ce am realizat. ​ A fost interesant sa lucrez la acest proiect, pentru ca vedeam cum usor, usor prinde forma tot ce am realizat. ​
Line 72: Line 86:
 ===== Download ===== ===== Download =====
 <note tip> <note tip>
 +{{:​pm:​prj2022:​sgherman:​pulse_meter.zip|}}
  
 +https://​github.com/​Larisa2307/​ProiectPM.git
 </​note>​ </​note>​
 ===== Jurnal ===== ===== Jurnal =====
Line 81: Line 97:
   * 14.05.2022 - conectare senzor puls   * 14.05.2022 - conectare senzor puls
   * 15.05.2022 - conectare display OLED   * 15.05.2022 - conectare display OLED
-  * 21.05.2022 - finalizare proiect +  * 25.05.2022 - finalizare proiect 
-  * 22.05.2022 - etapa 2 wiki+  * 26.05.2022 - etapa 2 wiki
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 <​note>​ <​note>​
pm/prj2022/sgherman/pulsemeter.1653663488.txt.gz · Last modified: 2022/05/27 17:58 by maria.patrascu2307
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0