Będzie on również w stanie monitorować nasz stan zdrowia i dostarczać danych o biciu serca i poziomie SPO2.
Prototyp respiratora wykorzystuje serwomotor, który wywiera nacisk na worek powietrzny (worek BVM), wtłaczając w ten sposób skoncentrowany w powietrzu tlen do płuc. Kiedy serwomotor powraca do wcześniejszej pozycji, powoduje to uwolnienie ciśnienia z worka powietrznego (worka BVM), dzięki czemu zachowuje on swój pierwotny kształt. Pomaga to w wyciąganiu CO2 z płuc (podobnie jak w procesie wdechu i wydechu). Cały mechanizm oddechowy respiratora powinien być zsynchronizowany z normalną częstością oddechów pacjenta. Można to osiągnąć poprzez zmianę prędkości serwomechanizmu w programie. Wykorzystaliśmy również czujnik MAX30100, który daje nam na żywo dane o wzroście i spadku pulsu oraz poziomu tlenu we krwi pacjenta. Implementując Raspberry Pi i dowolny standardowy wyświetlacz LCD, możemy obserwować tętno i procent tlenu we krwi jako wykres na ekranie wyświetlacza (patrz rysunki 1, 2, 3, 4).
Potrzebne będą następujące komponenty:
Potrzebujemy również dodatkowego kartonu i rurki do konstrukcji mechanicznej.
Uwaga: Zaleca się użycie balonu zamiast płuc testowych i worka BVM. Aby jednak uzyskać dobre wyniki, należy użyć worka BVM i standardowego płuca testowego. Trzeba również dokonać pewnych zmian mechanicznych w worku BVM, aby działał on prawidłowo.
Należy pamiętać, że ten projekt DIY powinien być realizowany tylko pod ścisłym nadzorem lekarza.
Projekt należy rozpocząć od mechanicznego rozmieszczenia i konstrukcji.
Budowa respiratora
Weź tekturę i zamocuj worek BVM na jej płaskiej powierzchni (patrz fotografia 6). Potem weź jeden koniec rurki i włóż go do otworu worka BVM (lub spłaszczonego balonu). Drugi koniec rurki zostanie przymocowany do standardowego płuca testowego (lub balonu). Następnie umieść kolejny kawałek kartonu na górze worka BVM tak, aby jedna strona worka BVM była przymocowana do jednego końca kartonu, a jego druga strona do wałka serwomotoru (patrz fotografie 6, 7, 8, 9, 10).
Po wykonaniu konstrukcji mechanicznej, przejdź do konstrukcji elektronicznej i kodowania. Połącz RPi z serwomotorem w następujący sposób:
System monitorowania zdrowia
Aby zakodować system monitorowania zdrowia, otwórz Arduino IDE, przejdź do menedżera bibliotek i zainstaluj następujące wymagane biblioteki
- SSD1306 Chart
- Max30100
Po ich udanej instalacji można przystąpić do kodowania.
Najpierw zainicjalizuj biblioteki w kodzie i utwórz dwie zmienne val1 i val2.
Następnie utwórz funkcję setup(), która uruchomi wyświetlacz OLED oraz czujnik MAX30100. Ustawi ona również długość i szerokość wykresu.
Następnie utwórz funkcję loop(), która sprawdzi dane z czujnika MAX, wyświetli je na wyświetlaczu OLED oraz wyśle do portu szeregowego.
Następnie połącz elementy tak, jak pokazano na schemacie.
W celu wizualizacji wykresu na żywo i danych o stanie zdrowia, skonfiguruj Processing 3 w Raspberry Pi. Aby to zrobić, należy otworzyć Raspberry Pi i uruchomić podany system w terminalu.
curl https://processing.org/download/install-arm.sh | sudo sh
Następnie należy otworzyć Processing 3 (patrz rysunek 14). Pobierz kod o nazwie "rolling graph.pde" z folderu Arduino Library extras, a następnie wklej go do Processing IDE w Raspberry Pi.
Testowanie
Zasil Raspberry Pi, a następnie połącz go z wyświetlaczem. Uruchom kod dla respiratora, a następnie uruchom kod dla danych zdrowotnych, np. "rollinggraph.pde" w Raspberry Pi Processing. Podłącz również Arduino z MAX30100 do portu USB Raspberry Pi.
Kiedy kod dla respiratora zostanie uruchomiony, wałek serwomotoru zacznie się poruszać, co spowoduje wzrost ciśnienia na worku BVM. W ten sposób tlen przechodzi przez rurę i spłaszcza płuca. Następnie serwomotor powraca do pozycji wyjściowej, przywracając worek BVM do poprzedniego położenia. Ten ciągły proces symuluje skurcz (wdech) i rozkurcz (wydech) ludzkiego płuca.
Aby uzyskać wizualizację danych zdrowotnych, wystarczy przyłożyć palec do czujnika MAX. Jak tylko zacznie się on świecić, pojawi się wykres na żywo przedstawiający stan zdrowia.
Uwaga: Aby zmienić tempo oddychania respiratora, dodaj opóźnienie czasowe w kodzie.
Również dla monitorowania danych zdrowotnych, zmień nazwę portu na nazwę portu Arduino. W opisywanym artykule jest to ttyACM0.
Gratulacje, prototyp respiratora na RaspberryPi jest gotowy.
Ten artykuł został po raz pierwszy opublikowany 24 kwietnia 2020 roku i został zaktualizowany 7 maja 2021 roku.
Artykuł COVID-19 Ventilator and Health Monitoring Device opracowano w wersji polskiej na podstawie współpracy z portalem www.electronicsforu.com.