Spisu treści:
- Krok 1: Postanowiłem użyć Arduino do sprawdzenia funkcji tętna i pobierania tlenu we krwi MAX30100
- Krok 2: Zadania funkcjonalne
- Krok 3: Wprowadzenie do sprzętu
- Krok 4: Aplikacje
- Krok 5: Korzyści i funkcje
- Krok 6: Zasada wykrywania
- Krok 7: KAMIEŃ STVI070WT-01
- Krok 8: Jeśli nie masz pewności, jak korzystać z MAX3232, zapoznaj się z poniższymi zdjęciami:
- Krok 9: 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
- Krok 11: Instalacja oprogramowania STONE TOOL
- Krok 12: Arduino
- Krok 13: Środowisko programistyczne
- Krok 14: Proces realizacji projektu Arduino LCD
- Krok 15:
- Krok 16: Projekt interfejsu użytkownika TFT LCD
- Krok 17: Usuń obraz, który został załadowany domyślnie w nowym projekcie i dodaj obraz interfejsu użytkownika, który zaprojektowaliśmy
- Krok 18: Dodaj komponent wyświetlania tekstu
- Krok 19:
- Krok 20: Wygeneruj plik konfiguracyjny
- Krok 21: MAX30100
- Krok 22: Zmodyfikuj rezystor podciągający MAX30100 IIC
- Krok 23: Arduino
- Krok 24: Wyszukaj „MAX30100”, aby znaleźć dwie biblioteki dla MAX30100, a następnie kliknij Pobierz i zainstaluj
- Krok 25: Po instalacji możesz znaleźć wersję demonstracyjną MAX30100 w folderze LIB Library Arduino:
- Krok 26: Kliknij dwukrotnie plik, aby go otworzyć
- Krok 27: Pełny kod wygląda następująco:
- Krok 28:
- Krok 29: Wyświetlanie danych do wyświetlacza STONE przez Arduino
- Krok 30: Zmodyfikowany kod wygląda następująco:
- Krok 31: Wyświetl tętno na ekranie LCD za pomocą Arduino
![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](https://i.howwhatproduce.com/images/001/image-1090-11-j.webp)
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: Jak wyświetlić tętno na ekranie STONE LCD za pomocą Ar: 31 kroków](https://i.ytimg.com/vi/LEQfzmO9Wm0/hqdefault.jpg)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
![Jak wyświetlić tętno na ekranie LCD STONE za pomocą Ar Jak wyświetlić tętno na ekranie LCD STONE za pomocą Ar](https://i.howwhatproduce.com/images/001/image-1090-12-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-13-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-14-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-15-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-16-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-17-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-18-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-19-j.webp)
Ś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](https://i.howwhatproduce.com/images/001/image-1090-20-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-21-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-22-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-23-j.webp)
Krok 18: Dodaj komponent wyświetlania tekstu
![Dodaj komponent wyświetlania tekstu Dodaj komponent wyświetlania tekstu](https://i.howwhatproduce.com/images/001/image-1090-24-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-25-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-26-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-27-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-28-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-29-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-30-j.webp)
Krok 26: Kliknij dwukrotnie plik, aby go otworzyć
![Kliknij dwukrotnie plik, aby go otworzyć Kliknij dwukrotnie plik, aby go otworzyć](https://i.howwhatproduce.com/images/001/image-1090-31-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-32-j.webp)
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](https://i.howwhatproduce.com/images/001/image-1090-33-j.webp)
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:
Zrób to sam Jak wyświetlić czas na M5StickC ESP32 za pomocą Visuino - łatwe do zrobienia: 9 kroków
![Zrób to sam Jak wyświetlić czas na M5StickC ESP32 za pomocą Visuino - łatwe do zrobienia: 9 kroków Zrób to sam Jak wyświetlić czas na M5StickC ESP32 za pomocą Visuino - łatwe do zrobienia: 9 kroków](https://i.howwhatproduce.com/images/001/image-529-j.webp)
DIY Jak wyświetlić czas na M5StickC ESP32 za pomocą Visuino - łatwe do zrobienia: W tym samouczku nauczymy się programować ESP32 M5Stack StickC z Arduino IDE i Visuino, aby wyświetlać czas na LCD
M5STACK Jak wyświetlić temperaturę, wilgotność i ciśnienie na M5StickC ESP32 za pomocą Visuino - łatwe do wykonania: 6 kroków
![M5STACK Jak wyświetlić temperaturę, wilgotność i ciśnienie na M5StickC ESP32 za pomocą Visuino - łatwe do wykonania: 6 kroków M5STACK Jak wyświetlić temperaturę, wilgotność i ciśnienie na M5StickC ESP32 za pomocą Visuino - łatwe do wykonania: 6 kroków](https://i.howwhatproduce.com/images/001/image-312-6-j.webp)
M5STACK Jak wyświetlić temperaturę, wilgotność i ciśnienie na M5StickC ESP32 za pomocą Visuino - łatwe do zrobienia: W tym samouczku nauczymy się, jak zaprogramować ESP32 M5Stack StickC z Arduino IDE i Visuino, aby wyświetlić temperaturę, wilgotność i ciśnienie za pomocą czujnika ENV (DHT12, BMP280, BMM150)
Jak wyświetlić tekst na M5StickC ESP32 za pomocą Visuino: 6 kroków
![Jak wyświetlić tekst na M5StickC ESP32 za pomocą Visuino: 6 kroków Jak wyświetlić tekst na M5StickC ESP32 za pomocą Visuino: 6 kroków](https://i.howwhatproduce.com/images/002/image-3376-j.webp)
Jak wyświetlić tekst na M5StickC ESP32 za pomocą Visuino: W tym samouczku dowiemy się, jak zaprogramować ESP32 M5Stack StickC z Arduino IDE i Visuino, aby wyświetlić dowolny tekst na LCD
Tętno na ekranie STONE LCD: 7 kroków
![Tętno na ekranie STONE LCD: 7 kroków Tętno na ekranie STONE LCD: 7 kroków](https://i.howwhatproduce.com/images/001/image-1780-6-j.webp)
Tętno na wyświetlaczu STONE LCD: 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 istnieją biblioteki M
Zrób to sam wyświetlaj temperaturę na ekranie LCD za pomocą Arduino: 10 kroków
![Zrób to sam wyświetlaj temperaturę na ekranie LCD za pomocą Arduino: 10 kroków Zrób to sam wyświetlaj temperaturę na ekranie LCD za pomocą Arduino: 10 kroków](https://i.howwhatproduce.com/images/006/image-16042-j.webp)
Zrób to sam wyświetlaj temperaturę na ekranie LCD za pomocą Arduino: W tym projekcie stworzymy obwód wykorzystujący niektóre komponenty, takie jak Arduino, czujnik temperatury itp. W tym obwodzie stopień będzie wyświetlany w sposób ciągły na wyświetlaczu LCD, opóźnienie wynosi 100 milisekund między widokiem nowego stopnia na