This shows you the differences between two versions of the page.
pm:prj2021:avaduva:pulsoximetru [2021/04/25 23:05] diana.giosan |
pm:prj2021:avaduva:pulsoximetru [2021/06/02 03:17] (current) diana.giosan |
||
---|---|---|---|
Line 9: | Line 9: | ||
==Schema bloc:== | ==Schema bloc:== | ||
{{pm/prj2021/avaduva/schema-bloc-pulsoximetru.png}} | {{pm/prj2021/avaduva/schema-bloc-pulsoximetru.png}} | ||
+ | ===Schema electrica=== | ||
+ | {{pm/prj2021/avaduva/diana.giosan.png?500}} | ||
+ | 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=== | ===Hardware Design=== | ||
Lista componente: | Lista componente: | ||
Line 24: | Line 28: | ||
* breadboard | * breadboard | ||
===Software design=== | ===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=== | ===Rezultate obtinute=== | ||
+ | Link demo: | ||
+ | https://youtu.be/t1Lrz6p9ipo | ||
===Concluzii=== | ===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=== | ===Download=== | ||
https://ocw.cs.pub.ro/courses/pm/prj2021/avaduva/pulsoximetru?do=export_pdf | https://ocw.cs.pub.ro/courses/pm/prj2021/avaduva/pulsoximetru?do=export_pdf | ||
+ | |||
+ | {{pm/prj2021/avaduva/pulsoximetru-diana.giosan.zip}} | ||
===Bibliografie/Resurse=== | ===Bibliografie/Resurse=== | ||
+ | https://randomnerdtutorials.com/guide-for-oled-display-with-arduino/ | ||
+ | https://iopscience.iop.org/article/10.1088/1742-6596/1793/1/012068/pdf | ||
+ | https://www.instructables.com/Arduino-Pulse-Oximeter/ | ||
~~NOTOC~~ | ~~NOTOC~~ | ||