Differences

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

Link to this comparison view

pm:prj2022:imacovei:andreea.traistaru00 [2022/05/21 17:23]
andreea.traistaru00
pm:prj2022:imacovei:andreea.traistaru00 [2022/05/27 16:07] (current)
andreea.traistaru00 [Download]
Line 9: Line 9:
      * Consider că acest dispositiv poate fi util sportivilor în cadrul antrenamentelor pentru a putea aprecia intensitatea exercițiilor;​      * Consider că acest dispositiv poate fi util sportivilor în cadrul antrenamentelor pentru a putea aprecia intensitatea exercițiilor;​
 ===== Descriere generală ===== ===== Descriere generală =====
 +  * Pe ecranul LCD-ului se vor afișa diferite informații în funcție de butonul apăsat. Un buton va fi folosit pentru a semnala începerea măsurării pulsului. După terminarea procesului se va putea începe o nouă acțiune de măsurare prin apăsarea celui de-al doilea buton care va duce dispozitivul în starea de început.
 +  * Datele vor fi preluate cu ajutorul senzorului pentru puls XD-58C atunci cand este atins de degetul utilizatorului. ​ Senzorul foloseste un amplificator optic si un circuit de eliminare a zgomotului. Valoarea citită va fi redată pe ecranul LCD-ului. De asemenea, pe măsură ce este măsurat pulsul va fi redat un sunet conform bătăilor inimii cu ajutorul unui buzzer. Dacă este măsurat un ritm cardiac crescut lumina generată de led-ul RGB va avea o culoare roșie, în cazul unui puls normal va avea o nuanță de verde, iar în cazul unui puls scăzut va avea culoarea albastru. Totodată cele trei culori vor fi redate cu intensități diferite pentru a indica cât de scăzut respectiv cât de crescut este ritmul cardiac față de valorile optime.
    
- ​Datele vor fi preluate cu ajutorul senzorului pentru puls XD-58C atunci cand este atins de degetul utilizatorului.  +{{:​pm:​prj2022:​imacovei:​traistaru_andreea_schema_bloc.png?​700|}}
-Senzorul foloseste un amplificator optic si un circuit de eliminare a zgomotului. Valoarea citită va fi redată pe ecranul LCD-ului.  +
-De asemenea, pe măsură ce este măsurat pulsul va fi redat un sunet conform bătăilor inimii cu ajutorul unui buzzer. +
-==== Schema bloc ==== +
-     +
-{{:​pm:​prj2022:​imacovei:​traistaru_andreea_schema_bloc.png?​752x405|}}+
  
 ===== Hardware Design ===== ===== Hardware Design =====
- ​Componente ​folosite: +  
-    ​*Arduino Uno +==== Componente ​==== 
-    ​*Breadboard +^ Nume      ^ Numar Piese          ^ 
-    *2 butoane +| Arduino UNO    |1 | 
-    *Buzzer +Breadboard ​       | 1 | 
-    *Fire +| Ecran LCD I2C  | 1| 
-    *LCD +| Push Buton  |2 | 
-    *Senzor puls (XD-58C)+Senzor puls (XD-58C) ​ |1 | 
 +| Buzzer ​  |1 | 
 +|Rezistente |3 | 
 +|Fire |15 | 
 + 
 +==== Schema electrică ==== 
 + 
 + 
 +{{:​pm:​prj2022:​imacovei:​schema_electrica_traistaru_andreea.png?​722x502|}}
  
 ===== Software Design ===== ===== Software Design =====
 +<​note>​
 + ​**Mediu de dezvoltare**
 +        * Arduino IDE
 +        * Autodesk EAGLE
 +</​note>​
 +<​note>​
 + ** Librării folosite **
 +        * PulseSensorPlayground.h
 +        * hd44780ioClass/​hd44780_I2Cexp.h
 +        * Wire.h
  
  
-===== Rezultate ​Obţinute =====+</​note>​ 
 + 
 + 
 +===== Implementare ===== 
 + 
 + ​Dispozitivul creat poate avea la un moment dat una dintre următoarele stări: 
 +      - ENABLE -> dispozitivul este pornit și va reda un mesaj de început; 
 +      - WAIT -> se așteaptă apăsarea butonului de start de către utilizator;​ 
 +      - MEASURE -> dispozitivul începe măsurarea pulsului și îl afișează pe LCD; 
 +      - FINISH -> pulsul a fost măsurat și se poate reveni la starea de WAIT prin apăsarea butonului de reset; 
 + 
 + 
 +== Funcțiile folosite: == 
 +   * lightRGB → funcție ce setează pinii led-ului RGB la niște valori transmise ca parametri;​ 
 +   * timerInit → inițializează timer-ul 0 la modul CTC, cu un prescaler de 1024; 
 +   * setup → funcția inițializează LCD-ul, senzorul de puls, setează pinii pentru LED-ul RGB, pentru butoane și configurează întreruperile 
 +   * loop → reprezintă funcția principală care descrie logica programului;​ aici se afișează diferite informații pe LCD ținând cont de starea în care se află dispozitivul la un moment dat; conform datelor citite de la senzor în starea de MEASURE este pornit led-ul RGB a cărui culoare va fi diferită, iar de fiecare dată când va fi recepționată o bătaie a inimii buzzer-ul va semnala acest lucru; 
 +   * ISR(TIMER0_COMPA_vect) → se folosește un counter pentru a trece de la o stare la alta în mod automat dupa un anumit timp; 
 +   * ISR(PCINT2_vect) → implementare întrerupere buton; 
 +   * void count_time() → decrementează variabilele folosite pentru counter-ul utilizat de timer; 
 +   * pin_ISR → întrerupere folosită pentru a trece de la o stare la alta prin resetarea unor variabile la apăsarea unui buton; 
 +====== Rezultate ​obținute =====
 +{{:​pm:​prj2022:​imacovei:​1_traistaru.jpeg?​250|}} 
 +{{:​pm:​prj2022:​imacovei:​2_traistaru.jpeg?​250|}} 
 +{{:​pm:​prj2022:​imacovei:​3_traistaru.jpeg?​250|}} 
 + 
 +**Demo** → https://​www.youtube.com/​watch?​v=XSQjz5b1zZI 
  
  
 ===== Concluzii ===== ===== Concluzii =====
 +        * Proiectul m-a ajutat să aprofundez noțiunile parcurse de-a lungul semestrului la laboratoare într-un mod interactiv. Am învățat că este important să citești datasheet-ul componentelor pentru a fi sigur că piesele sunt compatibile.
 +        * Mi s-a părut o provocare să realizez acest proiect, dar mi-a făcut plăcere să lucrez la el.=)
  
 ===== Download ===== ===== Download =====
 +{{:​pm:​prj2022:​imacovei:​heart_rate_monitor.zip|}}
  
  
 ===== Jurnal ===== ===== Jurnal =====
 +  * **20.04.2022**:​ alegere tema proiect 
 +  * **22.04.2022**:​ comandă piese 
 +  * **23.04.2022**:​ creare pagină wiki 
 +  * **20.04.2022**:​ testare individuală componente 
 +  * **23.05.2022**:​ implementare hardware și software  
 +  * **27.05.2022**:​ finalizare pagină wiki
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 +  * https://​www.arduino.cc/​reference/​en/​language/​functions/​external-interrupts/​attachinterrupt/​
 +  * https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab2-2022
 +  * https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab3-2022
  
  
 <​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>​
  
pm/prj2022/imacovei/andreea.traistaru00.1653142980.txt.gz · Last modified: 2022/05/21 17:23 by andreea.traistaru00
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