PulseOxyTracker
Nume: Dogaru Laurentiu
Grupa: 333CC
Introducere
Dispozitiv care masoara pulsul cardiac, nivelul de oxigen din sange si temperatura, calculand media valorilor din ultimele 15 secunde
Rezultatele sunt afisate pe un ecran LCD si trimise prin Bluetooth catre telefon
In acelasi timp, un buzzer si un LED vor simula bataile inimii
Scopul este simularea unui dispozitiv wearable care inregistreaza marimile mentionate, pe parcursul purtarii
Functionarea senzorului
Senzorul MAX30102, ca orice pulsoximetru optic si detector de puls, este format dintr-o pereche de LED-uri de intensitate inalta (RED - rosu si IR - infrarosu, ambele cu lungimi de unda diferite) si un fotodector. Lungimile de unda ale LED-urilor sunt 660 nm si 880 nm, respectiv.
Acesta functioneaza prin proiectarea ambelor raze de lumina pe deget sau lobul urechii (sau orice parte a corpului in care pielea este mai subtire, astfel incat lumina sa patrunda prin tesut) si masurarea cantitatii de lumina reflectata folosind un fotodetector. Aceasta metoda de detectare a pulsului prin lumina este numita si Fotopletismogramă.
Masurarea pulsului
Hemoglobina oxigenata (HbO2) in sangele arterial este capabila sa absoarba lumina infrarosie. Cu cat sangele este mai rosu (hemoglobina mai ridicata), cu atat este absorbita mai multa lumina infrarosie. Pe masura ce sangele circula prin deget la fiecare bataie a inimii, cantitatea de lumina reflectata se schimba si fotodetectorul debiteaza valori ce formeaza o forma de unda. Pe masura ce lumina este proiectata si output-urile fotodetectorului sunt citite, se obtin valori ale pulsului cardiac.
Pulsoximetria
Este bazata pe principiul ca valorile luminilor RED si IR absorbite variaza in functie de procentul de oxigen din sange. Sangele lipsit de oxigen absoarbe mai multa lumina rosie (660 nm), in timp ce sangele oxigenat absoarbe mai multa lumina infrarosie (880 nm). Prin masurarea proportiei dintre lumina rosie si infrarosie primita de fotodetector, se calculeaza nivelul de oxigen din sange (SpO2).
Descriere generală
Schema bloc
Workflow
Dispozitivul este pornit si reda un mesaj de inceput pe LCD. Sta in aceasta stare pana la apasarea butonului.
In urma apasarii butonului, o intrerupere externa este declansata, prin care sunt setate anumite flag-uri. Odata cu setarea flag-urilor, cu ajutorul unei intreruperi interne, se preiau date de la senzor timp de 15 secunde. Aceasta stare este semnalizata printr-un mesaj specific pe LCD. In plus, in timpul acestei stari, un buzzer si un LED simuleaza frecventa batailor inimii.
Dupa citirea si prelucrarea datelor, rezultatele sunt afisate pe LCD si transmise prin Bluetooth.
Procesul poate fi reluat prin apasarea butonului RESET inclus pe placuta.
Hardware Design
Lista piese:
Arduino Uno
LCD 1602
Modul serial cu Bluetooth HM-10
Modul de conversie I2C pentru interfata LCD1602
Modul puls si SpO2 MAX30102
buzzer
Breadboard
rezistente
led
cabluri
buton
Software Design
Mediu de dezvoltare
Arduino IDE - dezvoltarea codului si incarcarea acestuia pe placuta
draw.io - realizarea schemei bloc
Autodesk Eagle - realizarea schemei electrice
Biblioteci folosite
AltSoftSerial.h - comunicare seriala prin Bluetooth
LiquidCrystal_I2C.h - afisare pe LCD
Wire.h - comunicarea prin I2C cu senzorul si cu LCD-ul
MAX30105.h - prelucrarea datelor primite de la senzor
Functii implementate
beep() - functie care inlocuieste functia tone(), fara a folosi Timer2
lcd_print() - afiseaza rezultatele pe LCD
bluetooth_send() - trimite rezultatele prin bluetooth
setup() - activarea si configurarea intreruperilor, LCD-ului, modulului bluetooth, senzorului si afisarea pe LCD a mesajului initial
loop() - executarea instructiunilor specifice starii in care se afla dispozitivul, in functie de valoarea flag-urilor setate
ISR(PCINT2_vect) - tratarea intreruperii externe (apasarea butonului)
ISR(TIMER2_COMPA_vect) - tratarea intreruperii interne (masurarea a 15 secunde pentru preluarea datelor)
Rezultate Obţinute
Concluzii
Download
Jurnal
27 Aprilie - Alegerea temei proiectului
7 Mai - Crearea paginii de wiki
18 Mai - Milestone hardware
25 Mai - Milestone software
30 Mai - PM Fair
Bibliografie/Resurse