Heart Rate Monitor

Introducere

Proiectul constă în construirea unui aparat de măsurare al ritmului cardiac.

  • Valoarea pulsului va fi afișată pe un ecran LCD;
  • Culoarea și intensitatea unui led RGB vor fi variate în funcție de valoarea tensiunii măsurate;
  • Consider că acest dispositiv poate fi util sportivilor în cadrul antrenamentelor pentru a putea aprecia intensitatea exercițiilor;

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.

Hardware Design

Componente

Nume Numar Piese
Arduino UNO 1
Breadboard 1
Ecran LCD I2C 1
Push Buton 2
Senzor puls (XD-58C) 1
Buzzer 1
Rezistente 3
Fire 15

Schema electrică

Software Design

Mediu de dezvoltare

  • Arduino IDE
  • Autodesk EAGLE

Librării folosite

  • PulseSensorPlayground.h
  • hd44780ioClass/hd44780_I2Cexp.h
  • Wire.h

Implementare

Dispozitivul creat poate avea la un moment dat una dintre următoarele stări:

  1. ENABLE → dispozitivul este pornit și va reda un mesaj de început;
  2. WAIT → se așteaptă apăsarea butonului de start de către utilizator;
  3. MEASURE → dispozitivul începe măsurarea pulsului și îl afișează pe LCD;
  4. 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

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

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

pm/prj2022/imacovei/andreea.traistaru00.txt · Last modified: 2022/05/27 16:07 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