Ostatnio trafiłem na czujnik tętna oparty o element fotoelektryczny. Testując czujnik UV z cyfrowym interfejsem SI1132 okazało się, że przy odpowiednim zakresie pomiarowym czujnika określanie tętna na podstawie przyłożonego palca oświetlonego LED IR jest dość prostym zadaniem. Czujniki optyczne są nieco mniej "inwazyjne" niż prawdziwe EKG czyli odczyt potencjałów z elektrod umieszczonych na klatce piersiowej. Profesjonalne pulsoksymetry zakładane na palec potrafią oszacować nasycenie krwi tlenem. Analogowy czujnik na który trafiłem był tańszy od SI1132 i nie ma nic wspólnego z profesjonalnym sprzętem medycznym, kosztował 2$ ale po przyłożeniu do palca potrafi wykrywać tętno. Opis czujnika i kod dla Arduino na stronie producenta https://pulsesensor.com podobne czujniki możecie znaleźć na portalach aukcyjno/sprzedażowych wpisując w wyszukiwarkę "pulse sensor".
Ostrzeżenie:
Tego typu tanie czujniki "medyczne" nie mają nic wspólnego z prawdziwą elektroniką medyczną, prezentuję tutaj efekty własnych prób podejmowanych na własne ryzyko, osoby które chciałby podjąć podobne próby wykonują je na własne ryzyko. Co może pójść nie tak? Wiele rzeczy, zasilanie wyłącznie bateryjne to rzecz oczywista, ale nawet źródło takie jak bateria/akumulator może być groźna przy zwarciu i np. wywołać oparzenie lub pożar, możliwe jest zaplątanie się w kabel i zrobienie sobie przez przypadek krzywdy. Dlatego materiał umieszczam jako ciekawostkę, źródło informacji o rozwiązaniach układowych.
Czujnik posiada element oświetlający, element czuły na natężenie światła, oraz wzmacniacz, przepływ krwi w tkankach w rytm pracy serca "moduluje" światło przenikające przez palec.
Zmiany analogowego sygnału na wyjściu są dość słabe:
Na stronie producenta jednego z czujników znajdziecie kod programu dla Arduino określającego częstotliwość pulsu:Link
Do rejestracji wykorzystałem Ardunino nano, po modyfikacji programu z https://pulsesensor.com/pages/code-and-guide dane były cyklicznie zapisywane w EEPROM mikrokontrolera. Dodałem możliwość odczytu zawartości EEPROM i kasowania zawartości z wykorzystaniem komend wydawanych w terminalu UART. Urządzenie zasiliłem z power banku, tutaj uwaga część z tych urządzeń przy zbyt małym poborze wyłącza się po upływie określonego czasu.
Wyjście czujnika należy połączyć z wejściem A0 płytki, czujnik i płytka pracuje z napięciem 5V. Wbudowany konwerter UART<->USB w Arduino nano pozwala na łatwą komunikację interfejsem szeregowym.
Plik Interrupt.ino pozostawiamy bez zmian:
Natomiast w pliku głównym modyfikujemy pętlę główną i dodajmy obsługę komend wydawanych po UART oraz cykliczny zapis danych do EEPROM:
Zainteresowała mnie możliwość rejestracji częstotliwości pracy serca podczas snu. Po odczytaniu danych zaskoczyła mnie chaotyczność uzyskanego wykresu, właściwie nie wiem czego oczekiwałem przecież organizm to nie jakieś urządzenie lub generator
Po bliższym przyjrzeniu się uzyskanemu zapisowi można dostrzec pewne zależności.
Fragment 1 - etap szybkiego zasypania, częstotliwość tętna szybko zmniejsza swoją wartość i utrzymuje się na stałym poziomie.
Fragment 2 - ten etap pamiętam, zbudziłem się ale uznałem że jest wolny dzień i można jeszcze spać.
Fragment 3 - przed ostatecznym przebudzeniem widoczne zwiększenie częstotliwości tętna, oraz co ciekawe spadek częstotliwości tętna przed samym wybudzeniem i wyłączeniem rejestracji.
Można dodać np. czujnik oddechu, "foliowe" tensometry czułe na nacisk lub ugięcie są teraz dość tanie. Można zarejestrować sygnał z czujnika na kartę SD z próbkowaniem np 10Hz i przeanalizować "offline". Tutaj przykład wykorzystania karty SD z Arduino: Tygodniowy pomiar częstotliwości napięcia sieciowego - eksperyment.
Na koniec takie spostrzeżenie, jako elektronik zauważyłem że podczas pobytu w szpitalu czułem się mniej przytłoczony widokiem wszelkiego rodzaju otaczającej elektroniki gdyż wiele z tych urządzeń ma dość oczywiste działanie czasami zbliżone zasadami działania do sprzętu w pracowni elektronika. Po pewnym czasie wspomnienie o tych doświadczeniach może nawet działać inspirująco w zakresie rozwiązań układowych.
Ostrzeżenie:
Tego typu tanie czujniki "medyczne" nie mają nic wspólnego z prawdziwą elektroniką medyczną, prezentuję tutaj efekty własnych prób podejmowanych na własne ryzyko, osoby które chciałby podjąć podobne próby wykonują je na własne ryzyko. Co może pójść nie tak? Wiele rzeczy, zasilanie wyłącznie bateryjne to rzecz oczywista, ale nawet źródło takie jak bateria/akumulator może być groźna przy zwarciu i np. wywołać oparzenie lub pożar, możliwe jest zaplątanie się w kabel i zrobienie sobie przez przypadek krzywdy. Dlatego materiał umieszczam jako ciekawostkę, źródło informacji o rozwiązaniach układowych.
Czujnik posiada element oświetlający, element czuły na natężenie światła, oraz wzmacniacz, przepływ krwi w tkankach w rytm pracy serca "moduluje" światło przenikające przez palec.
Zmiany analogowego sygnału na wyjściu są dość słabe:

Na stronie producenta jednego z czujników znajdziecie kod programu dla Arduino określającego częstotliwość pulsu:Link

Do rejestracji wykorzystałem Ardunino nano, po modyfikacji programu z https://pulsesensor.com/pages/code-and-guide dane były cyklicznie zapisywane w EEPROM mikrokontrolera. Dodałem możliwość odczytu zawartości EEPROM i kasowania zawartości z wykorzystaniem komend wydawanych w terminalu UART. Urządzenie zasiliłem z power banku, tutaj uwaga część z tych urządzeń przy zbyt małym poborze wyłącza się po upływie określonego czasu.

Wyjście czujnika należy połączyć z wejściem A0 płytki, czujnik i płytka pracuje z napięciem 5V. Wbudowany konwerter UART<->USB w Arduino nano pozwala na łatwą komunikację interfejsem szeregowym.
Plik Interrupt.ino pozostawiamy bez zmian:
Code: c
Natomiast w pliku głównym modyfikujemy pętlę główną i dodajmy obsługę komend wydawanych po UART oraz cykliczny zapis danych do EEPROM:
Code: c
Zainteresowała mnie możliwość rejestracji częstotliwości pracy serca podczas snu. Po odczytaniu danych zaskoczyła mnie chaotyczność uzyskanego wykresu, właściwie nie wiem czego oczekiwałem przecież organizm to nie jakieś urządzenie lub generator


Po bliższym przyjrzeniu się uzyskanemu zapisowi można dostrzec pewne zależności.
Fragment 1 - etap szybkiego zasypania, częstotliwość tętna szybko zmniejsza swoją wartość i utrzymuje się na stałym poziomie.
Fragment 2 - ten etap pamiętam, zbudziłem się ale uznałem że jest wolny dzień i można jeszcze spać.
Fragment 3 - przed ostatecznym przebudzeniem widoczne zwiększenie częstotliwości tętna, oraz co ciekawe spadek częstotliwości tętna przed samym wybudzeniem i wyłączeniem rejestracji.
Można dodać np. czujnik oddechu, "foliowe" tensometry czułe na nacisk lub ugięcie są teraz dość tanie. Można zarejestrować sygnał z czujnika na kartę SD z próbkowaniem np 10Hz i przeanalizować "offline". Tutaj przykład wykorzystania karty SD z Arduino: Tygodniowy pomiar częstotliwości napięcia sieciowego - eksperyment.
Na koniec takie spostrzeżenie, jako elektronik zauważyłem że podczas pobytu w szpitalu czułem się mniej przytłoczony widokiem wszelkiego rodzaju otaczającej elektroniki gdyż wiele z tych urządzeń ma dość oczywiste działanie czasami zbliżone zasadami działania do sprzętu w pracowni elektronika. Po pewnym czasie wspomnienie o tych doświadczeniach może nawet działać inspirująco w zakresie rozwiązań układowych.