Autorul poate fi contactat la adresa: georgiana.dedu@stud.acs.upb.ro
Pulsoximetrul este un dispozitiv electronic pentru masurarea saturatiei de oxigen din sange si a ritmului cardiac. Scopul principal al acestuia este monitorizarea nivelului de oxigen si a starii cardiace sau pulmonare. Pe display se afiseaza datele colectate de la senzori, iar rezultatele sunt transmise prin Bluetooth pe dispozitive compatibile, unde sunt stocate si pot fi partajate si cu medicul. De asemenea, un buzzer va genera o avertizare sonora in functie de ritmul cardiac masurat.
Motivatia pentru proiectul ales se bazeaza pe dorinta de a aprofunda abilitatile dobandite in cadrul laboratoarelor pentru crearea unui dispozitiv medical util oricarei persoane care doreste sa aiba o viata sanatoasa.
Pe langa senzorul pentru masurarea pulsului si de temperatura, se va folosi un led si un fotoreceptor pentru generarea informatiilor privind starea de sanatate. Tensiunea proportionala cu oxigenarea sangelui este redata cu ajutorul senzorilor si afisata pe display, impreuna cu alte informatii precum: ritm normal, trahicardie.
Codul a fost redactat in Sublime. Link-ul catre biblioteca de LCD se regaseste in resurse.
Proiectul este gandit sa masoare pulsul si sa transmita valorile colectate de senzorul MAX30100 printr-ul modul de bluetooth, pentru a fi afisate in aplicatia Android.
Pentru implementarea functionalitatii, am utilizat transmisia seriala (usart) din laborator. Pentru afisarea pe LCD, apelez functiile din biblioteca https://github.com/LittleBuster/avr-nokia5110. La receptarea unei valori de catre senzor, se va realiza afisarea valorii atat in aplicatia instalata pe telefon, cat si pe display.
Din cauza unei probleme tehnice care a dus la defectarea senzorului de puls, senzorul de puls a fost inlocuit cu unui care masoara intensitatea luminoasa: ALSPT19 Light Sensor.
Deoarece acest tip de senzor este unul analogic, a fost necesara realizarea unei conversii din analog in digital pentru afisarea datelor concludente la output. Exista o functie de initializare, apelata in main la inceputul programului, atunci cand se apeleaza si initializarea pentru usart si lcd.
Functia get_light() este cea care furnizeaza valorile colectate, cu un delay de 1 secunda.
Valoarea de referinta pentru tensiune este de 5V, placa de baza fiind alimentata la 5V.
LCD-ul lucreaza cu o matrice 6×16.
In urma realizarii acestui proiect, am obtinut transmisia intensitatii luminoase (exprimata in lux) in aplicatia Android Bluetooth Terminal HC-05. Desi scopul initial era transmisia pulsului, din cauza unor probleme tehnice, senzorul de puls a fost inlocuit cu un altul.
LCD:
https://github.com/LittleBuster/avr-nokia5110
Modul bluetooth:
http://www.electronicaestudio.com/docs/istd016A.pdf
Senzor lumina:
https://www.adafruit.com/product/2748