Pulsoximetru

Autor: Diana Giosan

Introducere

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.

Descriere generala

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.

Schema bloc:

Schema electrica

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.

Hardware Design

Lista componente:

  • Arduino UNO
  • led infrarosu
  • buzzer piezoelectric
  • fototranzistor lpt80a
  • led rosu
  • rezistente(10k, 330ohmi)
  • led alb
  • ecran oled 0.96”
  • fire
  • breadboard

Software design

Mediu de dezvoltare

Arduino IDE

Librarii si surse 3rd party
  • Adafruit GFX Graphic Library
  • Adafruit SSD1306
Surse si functii implementate
  • Functia de setup care porneste ecranul si seteaza pinii pentru cele doua leduri si fototranzistor si buzzer
  • Functia loop care citeste semnalele obtinute si afiseaza pe display o mapare intre rezultatele obtinute facand media ultimelor citiri si o calibrare facuta folosind un pulsoximetru cumparat(astfel incat valorile sa

se inscrie in niste limite care sa aiba sens dpdv medical).

Rezultate obtinute

Concluzii

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).

Download

Bibliografie/Resurse

pm/prj2021/avaduva/pulsoximetru.txt · Last modified: 2021/06/02 03:17 by diana.giosan
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0