Senzorul de puls în aplicațiile IOT

Introducere:

De la cele mai complexe aparate medicale până la ceasurile smart și brățările fitness, senzorul de puls reprezintă o componentă indispensabilă atât în domeniul medicinei, cât și în alte domenii, precum domeniul sportiv.

În zilele noastre aproape toți avem un ceas care detectează și afișează numărul de bătăi ale inimii pe minut.

V-ați întrebat vreodată cum funcționează un senzor de puls(fotopletismograf)?
Ei bine, simplitatea și prețul foarte mic al acestei componente electronice a făcut ca acest senzor să fie nelipsit din viața noastră.

 

Ce componente folosește un senzor de puls?

 

Acest modul are două fețe, fiecare având funcționalitatea sa.

Pe partea din față senzorul are plasate un LED și un senzor de lumină ambientală.

Pe partea din spate sunt plasate câteva circuite foarte simple.

 

Cum funcționează un senzor de puls?

După ce led-ul este plasat peste una dintre venele noastre, aflate de obicei pe deget sau vârful urechii, aceasta intră în acțiune. Lumina va fi „absorbită” de către venă în mod diferit în funcție de momentul pulsării sau lipsei acestuia. 

„La fiecare ciclu cardiacinima pompează sânge spre periferie. Cu toate că această presiune de puls este parțial amortizată până când ajunge la piele, este suficientă pentru a dilata arterele și arteriolele din țesutul subcutanat.” vezi mai multe

Astfel, în momentul în care un flux de sânge este detectat, senzorul de lumină ambientală va capta mai multă lumină, deoarece aceasta va fi reflectată de sângele care pulsează. Din contră, în „scurta” pauză dintre două bătăi ale inimii, senzorul va capta mai puțină lumină.
Rezultatul poate fi transformat într-o fotopletismogramă precum cea din imagine.

Cum se calculeaza BPM?

Pentru calcularea BPM(numărul de bătăi ale inimii pe minut) există mai mulți algoritmi, unii mai simpli, dar mai puțin eficienți și altii mai complexi, dar mult mai preciși.

Cel mai folosit algoritm are ca scop găsirea momentelor dintre două bătăi succesive și măsurarea timpului dintre ele(IBI).

Fiecare bătaie a inimii generează așa numitele valuri(waves), afișate în imaginea alăturată asemenea unor „unde de șoc”. Practic, momentul dintre două bătăi este reprezentat de „distanța” dintre două unde de șoc.

Pentru a fi cât mai precis, acest algoritm calculează media ultimelor zece IBI(valori înregistrate într-un array). La depăsirea primelor zece valori, valoarea a unsprezecea ia locul primei valori(array[0]), a doisprezecea ia locul celei de-a doua valorii și tot așa.
Acum este momentul ca algoritmul să calculeze cât timp a durat IBI 10 și pe baza acestuia să calculeze care ar fi BPM dacă IBI ar avea de fiecare dată media IBI 10.
Pe lângă aceste calcule, aplicația trebuie să trateze și posibilele erori apărute, cum ar fi lipsa pulsului, sau un puls exagerat de mare(eroare venită din instabilitatea senzorului sau a mișcării degetului pe senzor).vezi mai multe

Un alt algoritm folosit mai puțin presupune adunarea batăilor pentru o perioadă de timp și înmulțirea rezultatului cu 60sec/perioada de timp.
De exemplu se adună numarul bătăilor apărute în 10 secunde și se inmulțeste rezultatul cu 6. În acest moment avem: nr bătăi inima/zece secunde * 6 = nr bătăi inima*6/60secunde.

Implementarea unei aplicații cu arduino sau alt microcontroller

Pentru implementarea unei aplicații ce măsoară BPM este nevoie de următoarele componente:

Senzorul are 3 pini care se vor conecta după cum urmează: Ground la GND pe placa arduino, VCC la 3,3V pe placa arduino, iar SIGNAL la A0 pe placa arduino. Pinul A0 este un analog, ceea ce înseamnă că poate primi un voltaj între 0 si 1,24 v, deci cu cât voltajul este mai mare cu atât valul despre care vorbeam mai sus are o amplitudine mai mare.

Dacă alegeți să nu folosiți un lcd extern pentru afișarea valorilor puteți folosi serial monitor, fapt ce vă va permite să  vizualizați valorile cu ajutorul Arduino IDE.

În ceea ce privește librăriile, puteți folosi librăria PulseSensorPlayground sau vă puteți crea propriul algoritm.

Având în vedere că această postare nu își propune dezvoltarea unei aplicații arduino, ci introducerea despre acest modul, puteți accesa acest link pentru a vedea un articol complet.

 

În videoclipul alăturat puteți vedea o scurtă testare a senzorului de puls XD-585(folosind un algoritm de la zero).

 

În cazul în care doriți să aflați mai multe despre acest senzor sau dacă încercați dezvoltarea unei aplicații, dar întâmpinați probleme, nu ezitați să ne contactați.

0 0 votes
Rating articol
Subscribe
Notify of
0 Lăsați un comentariu
Cel mai vechi
Cel mai nou Cel mai votat
Inline Feedbacks
Vezi toate comentariile
Translate »