Autor: Diana Giosan
Proiectul consta in implementarea unui dispozitiv medical de tip pulsoximetru, care va afisa pe un ecran OLED pulsul, saturatia de oxigen in sange(SPO2), graficul trasat in functie de puls si va avea un buzzer care va notifica utilizatorul cand una din functiile sale vitale ajung la valori alarmante si ar fi cazul sa ia legatura cu un medic. Disclaimer: nefiind cadru medical, nu recomand dispozitivele facute acasa pentru diagnostic, este creat cu scop pur didactic, orice probleme de sanatate trebuie discutate cu un medic avizat.
Pentru a crea senzorul de puls si saturatie voi folosi o pereche de leduri- rosu si infrarosu si un fototranzistor care suporta lungimi de unda de pana la 880nm.Intrucat lumina rosie(660nm) este absorbita mai bine de hemoglobina oxigenata, iar infrarosul(940nm) este absorbit mai bine de hemoglobina neoxigenata, pot folosi un led rosu pentru a face o comparatie cu masuratorile facute pentru led-ul cu infrarosu, determinand astfel saturatia de oxigen. Saturatia de oxigen este definita ca fiind hemoglobina oxigenata/hemoglobina totala. Degetul este plasat intre emitator si receptor, si astfel putem determina curentul generat de receptor folosind lumina care ajunge de la emitator, prin deget, la acesta. In momentul in care inima pompeaza sangele, se modifica si lumina absorbita de receptor, si astfel putem determina pulsul. Odata ce am prelucrat semnalul de la senzor si am eliminat sursele de zgomot este de ajuns sa numar varfurile pentru a putea determina numarul de batai pe minut.
Mentionez ca nu am gasit un ecran oled i2c similar cu al meu in acest tool, asa ca am folosit un ecran lcd, asa cum l-as fi legat pe acesta. De asemenea, am folosit un receptor cu infrarosu pentru a inlocui fototranzistorul lpt880A pe care l-am folosit eu in realitate.
Lista componente:
Arduino IDE
se inscrie in niste limite care sa aiba sens dpdv medical).
Link demo: https://youtu.be/t1Lrz6p9ipo
Am observat ca facand calibrarea cu pulsoximetrul comercial, valorile pentru saturatia de oxigen sunt destul de ok, acceptabile avand in vedere ca in mod normal saturatia unui om sanatos variaza undeva intre 95% si 100%. Totusi, apar erori din cauza faptului ca pulsoximetrele de obicei sunt incastrate intr-un invelis protector, menit sa inlature zgomotul produs de lumina ambientala, pentru rezultate mai uniforme(se poate observa ca in cazul meu valorile pot sari uneori de 100%, iar in cazul pulsului apar uneori valori chiar foarte mari, datorate fie miscarii involuntare a degetului pe moment, fie altor factori disturbatori din mediul inconjurator. Este important de mentionat ca in lipsa unui astfel de invelis, si tinand cont de faptul ca piesele asezate pe breadbord sunt destul de fragile(ca pozitie) si ca orice miscare mai neobisnuita a degetului poate influenta semnalele, datele nu sunt chiar uniforme. Totusi, consider ca pentru aceste conditii si tinand cont inclusiv de lipsa mea de expertiza in domeniul medical, proiectul a fost unul reusit, intrucat valorile saturatiei sunt destul de similare cu ce as obtine la un pulsoximetru. Daca as mai avea timp sa mai adaug imbunatatiri acestui proiect, as incerca sa mai reduc din zgomot, adaugand un fel de capac aranjamentului si de asemenea, as cauta o functie sau o metoda mai buna de a calcula media semnalelor in cazul pulsului(acolo am obtinut rezultate de o acuratete mai proasta).