Spisu treści:

Tętno na ekranie STONE LCD: 7 kroków
Tętno na ekranie STONE LCD: 7 kroków

Wideo: Tętno na ekranie STONE LCD: 7 kroków

Wideo: Tętno na ekranie STONE LCD: 7 kroków
Wideo: Lesson 99: Building Arduino Digital Clock using DS3231 LCD and Seven Segment Display 2024, Lipiec
Anonim
Tętno na wyświetlaczu STONE LCD
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 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. Postanowiłem użyć Arduino do weryfikacji funkcji tętna i pobierania tlenu we krwi MAX30100.

Krok 1: funkcja

Funkcjonować
Funkcjonować

Kup link modułu MAX30100:

item.taobao.com/item.htm?spm=a230r.1.14.69.c0c56556o8wH44&id=559690766124&ns=1&abbucket=2#detail

Uwaga: ten moduł domyślnie tylko z komunikacją MCU na poziomie 3,3 V, ponieważ domyślnie używa pinu IIC podciąga rezystancję z 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, te treści zostaną przedstawione na końcu rozdziału.

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 jedyne dwie funkcje, ale jeśli chcemy je wdrożyć, musimy zrobić więcej

myślący:

Jaki główny MCU jest używany?

Jaki wyświetlacz LCD?

Jak wspomnieliśmy wcześniej, używamy Arduino do MCU, ale jest to projekt wyświetlacza LCD Arduino, więc musimy wybrać odpowiedni moduł wyświetlacza LCD. Planuję używać wyświetlacza LCD z portem szeregowym. Mam tutaj wyświetlacz STONE STVI070WT, 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

4. Moduł MAX3232

Krok 2: 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. Aplikacje

● Urządzenia do noszenia

● Urządzenia Asystenta Fitness

● Medyczne urządzenia monitorujące

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 3: Zasada wykrywania

Zasada wykrywania
Zasada wykrywania
Zasada wykrywania
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.

KAMIEŃ STVI070WT-01

Wprowadzenie do wyświetlacza

W tym projekcie użyję STONE STVI070WT 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 dodać przyciski, pola tekstowe i inną logikę za pomocą zaprojektowanych obrazów interfejsu użytkownika, a następnie wygenerować pliki konfiguracyjne i pobrać je na ekran wyświetlacza w celu uruchomienia. Wyświetlacz STVI070WT 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.

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 wprowadzenie: https://www.stoneitech.com/ Jeśli potrzebujesz samouczków wideo i samouczków, możesz je również znaleźć na oficjalnej stronie internetowej.

Krok 4: Etapy rozwoju

Etapy rozwoju
Etapy rozwoju
Etapy rozwoju
Etapy rozwoju
Etapy rozwoju
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.

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.

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

ś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=cn 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 5: Proces realizacji projektu Arduino LCD

Proces realizacji projektu Arduino LCD
Proces realizacji projektu Arduino LCD
Proces realizacji projektu Arduino LCD
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 użyto tylko czterech elementów sprzętowych:

1. Płytka rozwojowa Arduino Mini pro

2. STONE STVI070WT 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 tft-lcd STVI070WT 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:

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

Projektowanie interfejsu użytkownika LCD-TFT Przede wszystkim musimy zaprojektować obraz wyświetlacza 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:

Usuń obraz, który został załadowany domyślnie w nowym projekcie i dodaj obraz interfejsu użytkownika, który zaprojektowaliśmy. Dodaj komponent wyświetlania tekstu, zaprojektuj cyfrę wyświetlania i kropkę dziesiętną, uzyskaj lokalizację przechowywania komponentu wyświetlania tekstu w wyświetlaczu. Efekt jest następujący:

Adres komponentu wyświetlacza tekstowego: Połączenie sta: 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 6: Wygeneruj plik konfiguracyjny

Generuj plik konfiguracyjny
Generuj plik konfiguracyjny
Generuj plik konfiguracyjny
Generuj plik konfiguracyjny
Generuj plik konfiguracyjny
Generuj plik konfiguracyjny
Generuj plik konfiguracyjny
Generuj plik konfiguracyjny

Po zakończeniu projektowania interfejsu użytkownika plik konfiguracyjny można wygenerować i pobrać do wyświetlacza STVI070WT.

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, aby zakończyć aktualizację.

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

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. należy dokonać zmian:

Usuń trzy rezystory 4,7k zaznaczone na rysunku za pomocą lutownicy elektrycznej. Następnie przyspawaj dwa rezystory 4,7k na pinach SDA i SCL do VIN, abyśmy mogli komunikować się z Arduino. Arduino Otwórz Arduino IDE i znajdź następujące guziki:

Wyszukaj „MAX30100”, aby znaleźć dwie biblioteki dla MAX30100, a następnie kliknij pobierz i zainstaluj.

Po instalacji można znaleźć Demo MAX30100 w folderze biblioteki LIB Arduino:

Kliknij dwukrotnie plik, aby go otworzyć.

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.

Krok 7: Efekt można zobaczyć na poniższym obrazku:

Efekt można zobaczyć na poniższym obrazku
Efekt można zobaczyć na poniższym obrazku
Efekt można zobaczyć na poniższym obrazku
Efekt można zobaczyć na poniższym obrazku

Aby dowiedzieć się więcej o projekcie kliknij tutaj.

Skontaktuj się z nami, jeśli potrzebujesz pełnego kodu:

Odpowiem w ciągu 12 godzin.

Zalecana: