Serwisy partnerskie:
Close icon
Serwisy partnerskie

Respirator i urządzenie do monitorowania stanu zdrowia

W dobie epidemii COVID-19, zapotrzebowanie na respiratory i urządzenia monitorujące stan zdrowia wzrasta z każdym dniem. Aby przezwyciężyć niedobór tych urządzeń, nie mamy jeszcze żadnego innego dobrego rozwiązania, które mogłoby nam pomóc w spełnieniu tego wymogu. Możemy spróbować zaprojektować własny respirator na RaspberryPi.
Article Image

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

Rysunek 1.
Rysunek 2.
Rysunek 3.
Rysunek 4.
Fotografia 5.

Potrzebne będą następujące komponenty:

Wykaz elementów
Ilość
Symbol
Nazwa/opis/gdzie kupić
1
Standardowy worek BVM
Worek BVM
1
Czujnik
MAX30100
1
Wyświetlacz
RCA lub HDMI
1
Opcjonalnie wyświetlacz OLED
Ze sterownikiem SSD1306

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

Fotografia 6.
Fotografia 7.
Fotografia 8.
Fotografia 9.
Fotografia 10.

Po wykonaniu konstrukcji mechanicznej, przejdź do konstrukcji elektronicznej i kodowania. Połącz RPi z serwomotorem w następujący sposób:

RPI ↔ SERVO
GND
GND
5V
5V
GPIO 17 (numer pinu zerowego Gpio)
SIGNAL PIN (żółty przewód)

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.

Rysunek 11.
Rysunek 12.
Rysunek 13.

Następnie połącz elementy tak, jak pokazano na schemacie.

Rysunek 14.

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.

Rysunek 15.
Rysunek 16.
Rysunek 17.

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.

Rysunek 18.

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.

Rysunek 19.

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.

Rysunek 20.

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.

Do pobrania
Download icon Respirator i urządzenie do monitorowania stanu zdrowia - kod źródłowy
Tematyka materiału: covid19, MAX30100, worek BVM, SSD1306, respirator
AUTOR
Źródło
www.electronicsforu.com
Udostępnij
UK Logo