Ideea de la care am pornit este aceea ca mi se pare interesant cum printr-un device asa de mic orice persoana poate afla un lucru important legat de sanatatea sa.
Mi se pare util deoarece, prin simpla utilizare, o persoana poate afla daca ritmul cardiac este conform sau neconform, putand lua masuri dupa caz.
Atunci cand este pus un deget intre ansamblul format din LED IR si receptor IR, receptorul detecteaza o scadere in intensitatea luminii.
In momentul in care inima pulseaza si sangele ajunge in deget, se ajunge la o scadere si mai mare a intensitatii, care este interpretata drept puls.
Cand un puls este detectat, placuta Arduino transmite un semnal catre LED-urile rosii si buzzer, pentru a-l informa pe utilizator.
Schema bloc:
Functia heartbeat() este definita pentru a controla LED-urile si buzzer-ul intr-un anumit model de pulsare.
In functia loop(), se realizeaza citirea valorii tensiunii curente de pe pinul A0 la intervale de timp definite de sampleRate.
Daca valoarea tensiunii curente este mai mica de 500 (indicand detectarea unui obiect între componentele infrarosu), se realizeaza urmatoarele actiuni:
Daca se revine la o valoare a tensiunii curente mai mare sau egala cu 500 (indicand extragerea obiectului dintre componentele infrarosu), variabilele se reseteaza pentru detectarea unui nou obiect.
A fost un proiect plin de surprize. Mi s-a parut destul de dificil sa il fac sa fie oarecum estetic, dar cred ca inima formata din LED-uri compenseaza.
Din punct de vedere al functionalitatii, am intampinat foarte multe dificultati in proiectarea unui sistem de detectare a pulsului pana am ajuns la design-ul curent. In plus, lucrand cu componente infrarosu, a fost mai provocator sa observ cand si daca functioneaza (primele doua emitatoare cumparate nu mergeau, testandu-l pe primul pana a explodat; totusi, al treilea a fost cu noroc).
Sursa: heart_rate_arduino_code.rar