Spisu treści:

Jak wyświetlić tętno na ekranie STONE LCD za pomocą Ar: 31 kroków
Jak wyświetlić tętno na ekranie STONE LCD za pomocą Ar: 31 kroków

Wideo: Jak wyświetlić tętno na ekranie STONE LCD za pomocą Ar: 31 kroków

Wideo: Jak wyświetlić tętno na ekranie STONE LCD za pomocą Ar: 31 kroków
Wideo: Lesson 99: Building Arduino Digital Clock using DS3231 LCD and Seven Segment Display 2024, Grudzień
Anonim
Jak wyświetlić tętno na ekranie LCD STONE za pomocą Ar
Jak wyświetlić tętno na ekranie LCD STONE za pomocą Ar

krótkie wprowadzenie

Jakiś czas temu znalazłem w zakupach internetowych moduł czujnika tętna MAX30100. Moduł ten może gromadzić dane dotyczące tlenu we krwi i tętna użytkowników, co jest również proste i wygodne w użyciu. Zgodnie z danymi stwierdziłem, że w plikach bibliotek Arduino znajdują się biblioteki MAX30100. Oznacza to, że jeśli korzystam z komunikacji między Arduino i MAX30100, mogę bezpośrednio wywołać pliki biblioteki Arduino bez konieczności przepisywania plików sterownika. To dobrze, więc kupiłem moduł MAX30100.

Krok 1: Postanowiłem użyć Arduino do sprawdzenia funkcji tętna i pobierania tlenu we krwi MAX30100

Postanowiłem użyć Arduino do sprawdzenia funkcji tętna i pobierania tlenu we krwi MAX30100
Postanowiłem użyć Arduino do sprawdzenia funkcji tętna i pobierania tlenu we krwi MAX30100

Uwaga: ten moduł domyślnie tylko z komunikacją MCU na poziomie 3,3 V, ponieważ domyślnie używa rezystancji podciągania pinów IIC od 4,7 K do 1,8 V, więc domyślnie nie ma komunikacji z Arduino, jeśli chcesz komunikować się z Arduino i potrzebujesz dwóch 4,7 K rezystora podciągającego pin IIC podłączonego do pinu VIN, ta zawartość zostanie przedstawiona na końcu rozdziału.

Krok 2: Zadania funkcjonalne

Przed rozpoczęciem tego projektu pomyślałem o kilku prostych funkcjach:

  • Zebrano dane dotyczące tętna i tlenu we krwi
  • Dane dotyczące tętna i tlenu we krwi są wyświetlane na ekranie LCD

To są jedyne dwie funkcje, ale jeśli chcemy ją wdrożyć, musimy więcej przemyśleć:

  • Jaki główny MCU jest używany?
  • Jaki wyświetlacz LCD?

Jak wspomnieliśmy wcześniej, do MCU używamy Arduino, ale jest to projekt wyświetlacza LCD Arduino, więc musimy wybrać odpowiedni moduł wyświetlacza LCD. Planuję użyć wyświetlacza LCD z portem szeregowym. Mam tutaj wyświetlacz STONE STVI070WT-01, ale jeśli Arduino musi się z nim komunikować, do konwersji poziomów potrzebny jest MAX3232. Wówczas podstawowe materiały elektroniczne określa się następująco:

1. Płytka rozwojowa Arduino Mini Pro

2. Moduł czujnika tętna i tlenu we krwi MAX30100

3. Moduł wyświetlacza portu szeregowego LCD STONE STVI070WT-01

4. Moduł MAX3232

Krok 3: Wprowadzenie do sprzętu

MAX30100

MAX30100 to zintegrowane rozwiązanie czujnika pulsoksymetrycznego i czujnika tętna. Łączy w sobie dwie diody LED, fotodetektor, zoptymalizowaną optykę i niskoszumowe przetwarzanie sygnału analogowego do wykrywania pulsoksymetrii i sygnałów tętna.

MAX30100 działa z zasilaczami 1,8 V i 3,3 V i może być wyłączany za pomocą oprogramowania przy znikomym prądzie czuwania, dzięki czemu zasilacz pozostaje podłączony przez cały czas.

Krok 4: Aplikacje

● Urządzenia do noszenia

● Urządzenia Asystenta Fitness

● Medyczne urządzenia monitorujące

Krok 5: Korzyści i funkcje

1 (Kompletne rozwiązanie pulsoksymetru i czujnika tętna upraszcza projektowanie)

  • Zintegrowane diody LED, fotoczujnik i wysokowydajny analogowy front-End
  • Mały 5,6 mm x 2,8 mm x 1,2 mm 14-stykowy optycznie ulepszony system w pakiecie

2 (praca o bardzo niskim poborze mocy wydłuża żywotność baterii w urządzeniach do noszenia)

  • Programowalna częstotliwość próbkowania i prąd LED dla oszczędności energii
  • Bardzo niski prąd wyłączania (0,7 µA, typ)

3、Zaawansowana funkcjonalność poprawia wydajność pomiaru

  • Wysoki SNR zapewnia solidną odporność na artefakty ruchu
  • Zintegrowana redukcja oświetlenia otoczenia
  • Możliwość wysokiej częstotliwości próbkowania
  • Możliwość szybkiego przesyłania danych

Krok 6: Zasada wykrywania

Zasada wykrywania
Zasada wykrywania

Wystarczy przyłożyć palec do czujnika, aby oszacować nasycenie tlenem tętna (SpO2) i tętno (odpowiednik bicia serca).

Pulsoksymetr (oksymetr) to mini-spektrometr, który wykorzystuje zasady różnych widm absorpcji krwinek czerwonych do analizy nasycenia krwi tlenem. Ta szybka metoda pomiaru w czasie rzeczywistym jest również szeroko stosowana w wielu referencjach klinicznych. MAX30100 za bardzo nie będę przedstawiał, bo te materiały są dostępne w internecie. Zainteresowani znajomi mogą wyszukać informacje o tym module badania tętna w Internecie i lepiej zrozumieć zasadę jego wykrywania.

Krok 7: KAMIEŃ STVI070WT-01

KAMIEŃ STVI070WT-01
KAMIEŃ STVI070WT-01

Wprowadzenie do wyświetlacza

W tym projekcie użyję STONE STVI070WT-01 do wyświetlania danych dotyczących tętna i tlenu we krwi. Chip sterownika został zintegrowany z ekranem wyświetlacza, a użytkownicy mogą korzystać z oprogramowania. Użytkownicy muszą tylko dodawać przyciski, pola tekstowe i inną logikę za pomocą zaprojektowanych obrazów interfejsu użytkownika, a następnie generować pliki konfiguracyjne i pobierać je na ekran wyświetlacza w celu uruchomienia. Wyświetlacz STVI070WT-01 komunikuje się z MCU poprzez sygnał uart-rs232, co oznacza, że musimy dodać układ MAX3232 do konwersji sygnału RS232 na sygnał TTL, abyśmy mogli komunikować się z Arduino MCU.

Krok 8: Jeśli nie masz pewności, jak korzystać z MAX3232, zapoznaj się z poniższymi zdjęciami:

Jeśli nie masz pewności, jak korzystać z MAX3232, zapoznaj się z poniższymi zdjęciami
Jeśli nie masz pewności, jak korzystać z MAX3232, zapoznaj się z poniższymi zdjęciami

Jeśli uważasz, że konwersja poziomów jest zbyt kłopotliwa, możesz wybrać inne typy wyświetlaczy STONE, z których niektóre mogą bezpośrednio wyprowadzać sygnał uart-ttl.

Oficjalna strona internetowa zawiera szczegółowe informacje i wstęp:

Krok 9: Jeśli potrzebujesz samouczków wideo i samouczków do użycia, możesz je również znaleźć na oficjalnej stronie internetowej

Jeśli potrzebujesz samouczków wideo i samouczków do użycia, możesz je również znaleźć na oficjalnej stronie internetowej
Jeśli potrzebujesz samouczków wideo i samouczków do użycia, możesz je również znaleźć na oficjalnej stronie internetowej

Krok 10: Etapy rozwoju

Trzy etapy rozwoju ekranu wyświetlacza STONE:

  • Zaprojektuj logikę wyświetlacza i logikę przycisków za pomocą oprogramowania STONE TOOL i pobierz plik projektu do modułu wyświetlacza.
  • MCU komunikuje się z modułem wyświetlacza LCD STONE poprzez port szeregowy.
  • Na podstawie danych uzyskanych w kroku 2 MCU wykonuje inne czynności.

Krok 11: Instalacja oprogramowania STONE TOOL

Instalacja oprogramowania STONE TOOL
Instalacja oprogramowania STONE TOOL

Pobierz najnowszą wersję oprogramowania STONE TOOL (obecnie TOOL2019) ze strony internetowej i zainstaluj ją.

Po zainstalowaniu oprogramowania otworzy się następujący interfejs:

Kliknij przycisk „Plik” w lewym górnym rogu, aby utworzyć nowy projekt, który omówimy później.

Krok 12: Arduino

Arduino to elektroniczna platforma prototypowa typu open source, która jest łatwa w użyciu i łatwa w użyciu. Obejmuje część sprzętową (różne płytki rozwojowe zgodne ze specyfikacją Arduino) oraz część programową (Arduino IDE i powiązane zestawy rozwojowe).

Część sprzętowa (lub płyta rozwojowa) składa się z mikrokontrolera (MCU), pamięci Flash (Flash) i zestawu uniwersalnych interfejsów wejścia/wyjścia (GPIO), które można traktować jako płytę główną mikrokomputera. Część oprogramowania składa się głównie z Arduino IDE na PC, powiązanego pakietu wsparcia na poziomie płyty (BSP) i bogatej biblioteki funkcji innej firmy. Dzięki Arduino IDE możesz łatwo pobrać BSP powiązany z płytą rozwojową i potrzebne biblioteki pisać swoje programy. Arduino to platforma open source. Do tej pory pojawiło się wiele modeli i wiele pochodnych kontrolerów, w tym Arduino Uno, Arduino Nano, ArduinoYun itd. Ponadto Arduino IDE obsługuje teraz nie tylko płyty rozwojowe serii Arduino, ale także dodaje obsługę popularnych płyt rozwojowych, takich jak jako Intel Galileo i NodeMCU, wprowadzając BSP.

Arduino wyczuwa środowisko za pomocą różnych czujników, kontrolujących światła, silniki i inne urządzenia, aby uzyskać informacje zwrotne i wpływać na środowisko. Mikrokontroler na płytce można zaprogramować za pomocą języka programowania Arduino, skompilować do postaci binarnych i wypalić w mikrokontrolerze. for Arduino jest zaimplementowany z językiem programowania Arduino (opartym na Wiring) i środowiskiem programistycznym Arduino (opartym na Processing). Projekty oparte na Arduino mogą zawierać tylko Arduino, a także Arduino i inne oprogramowanie działające na PC i komunikują się ze sobą inne (takie jak Flash, Processing, MaxMSP).

Krok 13: Środowisko programistyczne

Środowisko programistyczne
Środowisko programistyczne

Środowisko programistyczne Arduino to Arduino IDE, które można pobrać z Internetu.

Zaloguj się na oficjalnej stronie Arduino i pobierz oprogramowanie https://www.arduino.cc/en/Main/Software?setlang=c… Po zainstalowaniu Arduino IDE, po otwarciu oprogramowania pojawi się następujący interfejs:

Arduino IDE domyślnie tworzy dwie funkcje: funkcję konfiguracji i funkcję pętli. Istnieje wiele wprowadzeń Arduino w Internecie. Jeśli czegoś nie rozumiesz, możesz to znaleźć w Internecie.

Krok 14: Proces realizacji projektu Arduino LCD

Proces realizacji projektu Arduino LCD
Proces realizacji projektu Arduino LCD

połączenie sprzętowe

Aby kolejny krok w pisaniu kodu przebiegł bezproblemowo, musimy najpierw określić niezawodność połączenia sprzętowego.

W tym projekcie wykorzystano tylko cztery elementy sprzętu:

1. Płytka rozwojowa Arduino Mini pro

2. STONE STVI070WT-01 ekran wyświetlacza tft-lcd

3. Czujnik tętna MAX30100 i czujnik tlenu we krwi

4. MAX3232 (rs232-> TTL) Płytka rozwojowa Arduino Mini Pro i ekran wyświetlacza TFT-LCD STVI070WT-01 są połączone przez UART, który wymaga konwersji poziomów przez MAX3232, a następnie płytka rozwojowa Arduino Mini Pro i moduł MAX30100 są połączone przez Interfejs IIC. Po jasnym zastanowieniu możemy narysować następujący obraz okablowania:

Krok 15:

Obraz
Obraz

Upewnij się, że nie ma błędów w połączeniu sprzętowym i przejdź do następnego kroku.

Krok 16: Projekt interfejsu użytkownika TFT LCD

Projekt interfejsu użytkownika TFT LCD
Projekt interfejsu użytkownika TFT LCD

Przede wszystkim musimy zaprojektować obraz wyświetlania interfejsu użytkownika, który może być zaprojektowany przez PhotoShop lub inne narzędzia do projektowania obrazów. Po zaprojektowaniu obrazu wyświetlacza interfejsu użytkownika zapisz obraz w formacie JPG.

Otwórz oprogramowanie STONE TOOL2019 i utwórz nowy projekt:

Krok 17: Usuń obraz, który został załadowany domyślnie w nowym projekcie i dodaj obraz interfejsu użytkownika, który zaprojektowaliśmy

Usuń obraz, który został załadowany domyślnie w nowym projekcie i dodaj obraz interfejsu, który zaprojektowaliśmy
Usuń obraz, który został załadowany domyślnie w nowym projekcie i dodaj obraz interfejsu, który zaprojektowaliśmy

Krok 18: Dodaj komponent wyświetlania tekstu

Dodaj komponent wyświetlania tekstu
Dodaj komponent wyświetlania tekstu

Dodaj komponent wyświetlania tekstu, zaprojektuj cyfrę wyświetlacza i kropkę dziesiętną, uzyskaj miejsce przechowywania komponentu wyświetlania tekstu w wyświetlaczu.

Efekt jest następujący:

Krok 19:

Adres komponentu wyświetlania tekstu:

  • Stan połączenia: 0x0008
  • Tętno: 0x0001

Tlen we krwi: 0x0005 Główna zawartość interfejsu UI jest następująca:

  • Status połączenia
  • Wyświetlacz tętna
  • Pokazano tlen we krwi

Krok 20: Wygeneruj plik konfiguracyjny

Generuj plik konfiguracyjny
Generuj plik konfiguracyjny

Po zakończeniu projektowania interfejsu użytkownika można wygenerować plik konfiguracyjny i pobrać go na wyświetlacz STVI070WT-01.

Najpierw wykonaj krok 1, a następnie włóż pamięć flash USB do komputera, a pojawi się symbol dysku. Następnie kliknij „Pobierz na u-disk”, aby pobrać plik konfiguracyjny na dysk flash USB, a następnie włóż dysk flash USB do STVI070WT-01, aby zakończyć aktualizację.

Krok 21: MAX30100

MAX30100
MAX30100

MAX30100 komunikuje się przez IIC. Jego zasadą działania jest to, że wartość tętna ADC można uzyskać poprzez naświetlanie diodami podczerwieni. Rejestr MAX30100 można podzielić na pięć kategorii: rejestr stanu, FIFO, rejestr kontrolny, rejestr temperatury i rejestr ID. Rejestr temperatury odczytuje wartość temperatury chipa, aby skorygować odchylenie spowodowane temperaturą. Rejestr ID może odczytać numer identyfikacyjny chipa.

MAX30100 jest połączony z płytką rozwojową Arduino Mini Pro poprzez interfejs komunikacyjny IIC. Ponieważ w Arduino IDE znajdują się gotowe pliki biblioteki MAX30100, możemy odczytywać dane dotyczące tętna i tlenu we krwi bez badania rejestrów MAX30100. Osoby zainteresowane eksploracją rejestru MAX30100 można znaleźć w arkuszu danych MAX30100.

Krok 22: Zmodyfikuj rezystor podciągający MAX30100 IIC

Zmodyfikuj rezystor podciągający MAX30100 IIC
Zmodyfikuj rezystor podciągający MAX30100 IIC

Należy zauważyć, że rezystancja podciągania 4,7k pinu IIC modułu MAX30100 jest podłączona do napięcia 1,8v, co teoretycznie nie stanowi problemu. Jednak poziom logiczny komunikacji pinu Arduino IIC wynosi 5 V, więc nie może komunikować się z Arduino bez zmiany sprzętu modułu MAX30100. Bezpośrednia komunikacja jest możliwa, jeśli MCU to STM32 lub inny MCU o poziomie logicznym 3,3 V.

W związku z tym należy wprowadzić następujące zmiany:

Wyjmij lutownicą elektryczną trzy rezystory 4,7k zaznaczone na zdjęciu. Następnie przyspawaj dwa rezystory 4,7k na pinach SDA i SCL do VIN, dzięki czemu będziemy mogli komunikować się z Arduino.

Krok 23: Arduino

Arduino
Arduino

Otwórz Arduino IDE i znajdź następujące przyciski:

Krok 24: Wyszukaj „MAX30100”, aby znaleźć dwie biblioteki dla MAX30100, a następnie kliknij Pobierz i zainstaluj

Szukaj
Szukaj

Krok 25: Po instalacji możesz znaleźć wersję demonstracyjną MAX30100 w folderze LIB Library Arduino:

Po instalacji możesz znaleźć wersję demonstracyjną MAX30100 w folderze LIB Library Arduino
Po instalacji możesz znaleźć wersję demonstracyjną MAX30100 w folderze LIB Library Arduino

Krok 26: Kliknij dwukrotnie plik, aby go otworzyć

Kliknij dwukrotnie plik, aby go otworzyć
Kliknij dwukrotnie plik, aby go otworzyć

Krok 27: Pełny kod wygląda następująco:

To demo można bezpośrednio przetestować. Jeśli połączenie sprzętowe jest w porządku, możesz pobrać kompilację kodu do płyty rozwojowej Arduibo i zobaczyć dane MAX30100 w narzędziu do debugowania szeregowego.

Pełny kod wygląda następująco:

/* Biblioteka oksymetrii Arduino-MAX30100 / zintegrowanego czujnika tętna Copyright (C) 2016 OXullo Intersecans Ten program jest darmowym oprogramowaniem: możesz go redystrybuować i/lub modyfikować na warunkach Powszechnej Licencji Publicznej GNU opublikowanej przez Free Software Foundation, albo w wersji 3 Licencji, albo (według Twojego wyboru) w dowolnej późniejszej wersji. Ten program jest rozpowszechniany w nadziei, że będzie przydatny, ale BEZ ŻADNEJ GWARANCJI; bez dorozumianej gwarancji PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONEGO CELU. Więcej szczegółów znajdziesz w Powszechnej Licencji Publicznej GNU. Wraz z tym programem powinieneś otrzymać kopię Powszechnej Licencji Publicznej GNU. Jeśli nie, zobacz. */ #include #include "MAX30100_PulseOximeter.h" #define REPORTING_PERIOD_MS 1000 // PulseOximeter to interfejs wyższego poziomu do czujnika // oferuje: // * raportowanie wykrycia uderzeń serca // * obliczanie tętna // * SpO2 (poziom utlenienia) obliczenie ospy Pulsoksymetr; uint32_t tsLastReport = 0; // Callback (zarejestrowany poniżej) uruchamiany po wykryciu impulsu void onBeatDetected() { Serial.println("Beat!"); } void setup() { Serial.begin(115200); Serial.print("Inicjowanie pulsoksymetru.."); // Zainicjuj instancję Pulsoksymetru // Błędy są zazwyczaj spowodowane nieprawidłowym okablowaniem I2C, brakiem zasilania // lub niewłaściwym układem docelowym if (!pox.begin()) { Serial.println("FAILED"); dla(;;); } else { Serial.println("SUKCES"); } // Domyślny prąd diody IR wynosi 50mA i można go zmienić // odkomentowując następującą linię. Sprawdź MAX30100_Registers.h dla wszystkich // dostępnych opcji. // pox.setIRLedCurrent(MAX30100_LED_CURR_7_6MA); // Zarejestruj wywołanie zwrotne dla wykrywania rytmu pox.setOnBeatDetectedCallback(onBeatDetected); } void loop() { // Upewnij się, że wywołałeś update tak szybko, jak to możliwe pox.update(); // Asynchronicznie zrzucaj tętno i poziomy utlenienia do numeru seryjnego // W obu przypadkach wartość 0 oznacza "nieprawidłowy" if (millis() - tsLastReport > REPORTING_PERIOD_MS) { Serial.print("Tętno:"); Serial.print(pox.getHeartRate()); Serial.print("bpm / SpO2:"); Serial.print(pox.getSpO2()); Serial.println("%"); tsLastReport = mili(); } }

Krok 28:

Obraz
Obraz

Ten kod jest bardzo prosty, wierzę, że możesz go zrozumieć na pierwszy rzut oka. Muszę powiedzieć, że modułowe programowanie Arduino jest bardzo wygodne i nie muszę nawet rozumieć, jak zaimplementowany jest kod sterownika Uart i IIC.

Oczywiście powyższy kod jest oficjalnym Demo i nadal muszę wprowadzić pewne zmiany, aby wyświetlić dane na wyświetlaczu STONE.

Krok 29: Wyświetlanie danych do wyświetlacza STONE przez Arduino

Najpierw musimy uzyskać adres komponentu, który wyświetla dane o tętnie i zawartości tlenu we krwi na wyświetlaczu STONE:

W moim projekcie adres jest następujący: Adres komponentu wyświetlania tętna: 0x0001 Adres modułu wyświetlania tlenu we krwi: 0x0005 Adres stanu podłączenia czujnika: 0x0008 Jeśli chcesz zmienić zawartość wyświetlacza w odpowiednim miejscu, możesz zmienić zawartość wyświetlacza wysyłając dane na odpowiedni adres ekranu wyświetlacza przez port szeregowy Arduino.

Krok 30: Zmodyfikowany kod wygląda następująco:

/* Biblioteka oksymetrii Arduino-MAX30100 / zintegrowanego czujnika tętna Copyright (C) 2016 OXullo Intersecans Ten program jest darmowym oprogramowaniem: możesz go redystrybuować i/lub modyfikować na warunkach Powszechnej Licencji Publicznej GNU opublikowanej przez Free Software Foundation, albo w wersji 3 Licencji, albo (według Twojego wyboru) w dowolnej późniejszej wersji. Ten program jest rozpowszechniany w nadziei, że będzie przydatny, ale BEZ ŻADNEJ GWARANCJI; bez dorozumianej gwarancji PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONEGO CELU. Więcej szczegółów znajdziesz w Powszechnej Licencji Publicznej GNU. Wraz z tym programem powinieneś otrzymać kopię GNU General Public License. Jeśli nie, zobacz. */ #include #include "MAX30100_PulseOximeter.h" #define REPORTING_PERIOD_MS 1000 #define Heart_dis_addr 0x01 #define Sop2_dis_addr 0x05 #define connect_sta_addr 0x08 unsigned char heart_rate_send[8]= {0xA82, 0x_05, 0x 0x00}; unsigned char Sop2_send[8]= {0xA5, 0x5A, 0x05, 0x82, 0x00, / Sop2_dis_addr, 0x00, 0x00}; unsigned char connect_sta_send[8]={0xA5, 0x5A, 0x05, 0x82, 0x00, / connect_sta_addr, 0x00, 0x00}; // Pulsoksymetr jest interfejsem wyższego poziomu do czujnika // oferuje: // * raportowanie wykrywania uderzeń serca // * obliczanie tętna // * obliczanie SpO2 (poziom utlenienia) Pulsoksymetr ospy; uint32_t tsLastReport = 0; // Callback (zarejestrowany poniżej) uruchamiany po wykryciu impulsu void onBeatDetected() { // Serial.println("Beat!"); } void setup() { Serial.begin(115200); // Serial.print("Inicjowanie pulsoksymetru.."); // Zainicjuj instancję Pulsoksymetru // Błędy są zazwyczaj spowodowane nieprawidłowym okablowaniem I2C, brakiem zasilania // lub niewłaściwym układem docelowym if (!pox.begin()) { // Serial.println("FAILED"); // connect_sta_send[7]=0x00; // Serial.write(connect_sta_send, 8); dla(;;); } else { connect_sta_send[7]=0x01; Serial.write(connect_sta_send, 8); // Serial.println("SUKCES"); } // Domyślny prąd diody IR wynosi 50mA i można go zmienić // odkomentowując następującą linię. Sprawdź MAX30100_Registers.h dla wszystkich // dostępnych opcji.pox.setIRLedCurrent(MAX30100_LED_CURR_7_6MA); // Zarejestruj wywołanie zwrotne dla wykrywania rytmu pox.setOnBeatDetectedCallback(onBeatDetected); } void loop() { // Upewnij się, że wywołałeś update tak szybko, jak to możliwe pox.update(); // Asynchronicznie zrzucaj tętno i poziomy utlenienia do numeru seryjnego // W obu przypadkach wartość 0 oznacza "nieprawidłowy" if (millis() - tsLastReport > REPORTING_PERIOD_MS) { // Serial.print("Tętno:"); // Serial.print(pox.getHeartRate()); // Serial.print("bpm / SpO2:"); // Serial.print(pox.getSpO2()); // Serial.println("%"); heart_rate_send[7]=(uint32_t)pox.getHeartRate(); Serial.write(heart_rate_send, 8); Sop2_send[7]=pox.getSpO2(); Serial.write(Sop2_send, 8); tsLastReport = mili(); } }

Krok 31: Wyświetl tętno na ekranie LCD za pomocą Arduino

Wyświetlaj tętno na wyświetlaczu LCD za pomocą Arduino
Wyświetlaj tętno na wyświetlaczu LCD za pomocą Arduino

Skompiluj kod, pobierz go na płytkę rozwojową Arduino i jesteś gotowy do rozpoczęcia testów.

Widzimy, że gdy palce opuszczają MAX30100, tętno i poziom tlenu we krwi wyświetlają 0. Umieść palec na kolektorze MAX30100, aby zobaczyć swoje tętno i poziom tlenu we krwi w czasie rzeczywistym.

Efekt widać na poniższym obrazku:

Zalecana: