Differences

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

Link to this comparison view

pm:prj2022:sgherman:pulsemeter [2022/05/27 20:51]
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 niciun buton apasat se va afisa pe ecran mesajul "Press button to take your pulse!"​ pentru a anunta utilizatorul ca trebuie sa tina butonul 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 ​luate de catre senzorul de puls catre baza de date, pentru a putea fi inregistrat utilizatorul.+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 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 ​luate 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.+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
Line 36: Line 36:
  
 ===Biblioteci:​=== ===Biblioteci:​===
-- Arduino: +  ​- Arduino: 
-  * Adafruit_GFX,​ Adafruit_SSD1306 +    * Adafruit_GFX,​ Adafruit_SSD1306 
-  * Wire +    * Wire 
-  * SPI +    * SPI 
-  * PulseSensorPlayground +    * PulseSensorPlayground 
-- Python: +  - Python: 
-  * tkinter +    * tkinter 
-  * sqlite3 +    * sqlite3 
-  * serial+    * 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:
            * Se ruleaza programul python pentru a putea introduce datele utilizatorului (Nume, Prenume, Varsta) in baza de date            * Se ruleaza programul python pentru a putea introduce datele utilizatorului (Nume, Prenume, Varsta) in baza de date
Line 60: Line 60:
                  * ALB: Nu se masoara pulsul                  * ALB: Nu se masoara pulsul
 ==Functii:​== ==Functii:​==
-- Arduino: +  ​- Arduino: 
-  * setup() -> initializarea display-ului OLED, a senzorului de puls, a butonului si a LED-ului +    * setup() -> initializarea display-ului OLED, a senzorului de puls, a butonului si a LED-ului 
-  * RGB_color(red,​ green, blue) -> seteaza valorile pinilor LED-ului pentru a arata culoarea dorita +    * RGB_color(red,​ green, blue) -> seteaza valorile pinilor LED-ului pentru a arata culoarea dorita 
-  * 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+    * 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: +  ​- Python: 
-  * Clasa Data, in care am functiile:​ +    * Clasa Data, in care am functiile:​ 
-     ​* initPage -> adaug detaliile pentru pagina in care sunt introduse datele utilizatorului (Nume, Prenume, Varsta) +       ​* 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) +       ​* 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+       ​* main -> creez pagina unde se introduc datele utilizatorului
  
  
Line 76: Line 76:
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
-{{:​pm:​prj2022:​sgherman:​1.jpeg?​300|}} {{:​pm:​prj2022:​sgherman:​2.jpeg?​300|}} +{{:​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:​3.jpeg?​300|}} {{:​pm:​prj2022:​sgherman:​4.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 87: Line 87:
 <note tip> <note tip>
 {{:​pm:​prj2022:​sgherman:​pulse_meter.zip|}} {{:​pm:​prj2022:​sgherman:​pulse_meter.zip|}}
 +
 +https://​github.com/​Larisa2307/​ProiectPM.git
 </​note>​ </​note>​
 ===== Jurnal ===== ===== Jurnal =====
Line 95: 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.1653673900.txt.gz · Last modified: 2022/05/27 20:51 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