Inhaltsverzeichnis:

Herzfrequenz auf dem STONE LCD - Gunook
Herzfrequenz auf dem STONE LCD - Gunook

Video: Herzfrequenz auf dem STONE LCD - Gunook

Video: Herzfrequenz auf dem STONE LCD - Gunook
Video: 🌵 Die 15 besten Personenwaage 2024, Juli
Anonim
Herzfrequenz auf dem STONE LCD
Herzfrequenz auf dem STONE LCD

Vor einiger Zeit habe ich im Online-Shopping ein Herzfrequenz-Sensormodul MAX30100 gefunden. Dieses Modul kann Blutsauerstoff- und Herzfrequenzdaten von Benutzern sammeln, was auch einfach und bequem zu verwenden ist.

Den Daten zufolge habe ich festgestellt, dass in den Arduino-Bibliotheksdateien Bibliotheken von MAX30100 enthalten sind. Das heißt, wenn ich die Kommunikation zwischen Arduino und MAX30100 verwende, kann ich die Arduino-Bibliotheksdateien direkt aufrufen, ohne die Treiberdateien neu schreiben zu müssen. Das ist gut so, also habe ich das Modul von MAX30100 gekauft. Ich beschloss, Arduino zu verwenden, um die Herzfrequenz- und Blutsauerstoff-Sammelfunktion des MAX30100 zu überprüfen.

Schritt 1: Funktion

Funktion
Funktion

Kauflink des Moduls MAX30100:

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

Hinweis: Dieses Modul standardmäßig nur mit 3,3-V-MCU-Kommunikation, da es standardmäßig den IIC-Pin verwendet, um den Widerstand von 4,7 K auf 1,8 V zu erhöhen, sodass standardmäßig keine Kommunikation mit dem Arduino stattfindet, wenn Sie mit dem kommunizieren möchten Arduino und benötigen zwei 4,7 K des IIC-Pin-Pull-Up-Widerstands, die mit dem VIN-Pin verbunden sind, diese Inhalte werden im hinteren Teil des Kapitels vorgestellt.

Funktionale Zuordnungen

Bevor ich mit diesem Projekt begann, dachte ich über einige einfache Funktionen nach: Es wurden Herzfrequenzdaten und Blutsauerstoffdaten gesammelt

Herzfrequenz- und Blutsauerstoffdaten werden auf einem LCD-Bildschirm angezeigt

Dies sind die einzigen beiden Funktionen, aber wenn wir sie implementieren wollen, müssen wir mehr tun

Denken:

Welche Master-MCU wird verwendet?

Was für ein LCD-Display?

Wie bereits erwähnt, verwenden wir Arduino für die MCU, aber dies ist ein Arduino-LCD-Display-Projekt, daher müssen wir das entsprechende LCD-Display-Modul auswählen. Ich plane, den LCD-Bildschirm mit einer seriellen Schnittstelle zu verwenden. Ich habe hier einen STONE STVI070WT-Displayer, aber wenn Arduino damit kommunizieren muss, wird MAX3232 für die Pegelumwandlung benötigt. Dann werden die elektronischen Grundmaterialien wie folgt bestimmt:

1. Arduino Mini Pro Entwicklungsboard

2. MAX30100 Herzfrequenz- und Blutsauerstoffsensormodul

3. STONE STVI070WT LCD-Anzeigemodul mit serieller Schnittstelle

4. MAX3232-Modul

Schritt 2: Hardware-Einführung

MAX30100

Der MAX30100 ist eine integrierte Sensorlösung für Pulsoximetrie und Herzfrequenzüberwachung. Es kombiniert zwei LEDs, einen Fotodetektor, eine optimierte Optik und eine rauscharme analoge Signalverarbeitung, um Pulsoximetrie- und Herzfrequenzsignale zu erkennen. Der MAX30100 arbeitet mit 1,8-V- und 3,3-V-Netzteilen und kann per Software mit vernachlässigbarem Standby-Strom heruntergefahren werden, sodass das Netzteil jederzeit angeschlossen bleiben kann. Anwendungen

● Tragbare Geräte

● Fitnessassistent-Geräte

● Medizinische Überwachungsgeräte

Vorteile und Funktionen

1、Komplettlösung für Pulsoximeter und Herzfrequenzsensor vereinfacht das Design

Integrierte LEDs, Fotosensor und leistungsstarkes analoges Front-End

Winziges 5,6 mm x 2,8 mm x 1,2 mm 14-poliges optisch verbessertes System im Paket

2、Ultra-Low-Power-Betrieb verlängert die Batterielebensdauer für tragbare Geräte

Programmierbare Abtastrate und LED-Strom für Energieeinsparungen

Extrem niedriger Abschaltstrom (0,7 µA, typ.)

3、Erweiterte Funktionalität verbessert die Messleistung

Hohes SNR bietet robuste Bewegungsartefakt-Resilienz

Integrierte Umgebungslichtunterdrückung

Hohe Abtastratenfähigkeit

Schnelle Datenausgabefähigkeit

Schritt 3: Erkennungsprinzip

Erkennungsprinzip
Erkennungsprinzip
Erkennungsprinzip
Erkennungsprinzip
Erkennungsprinzip
Erkennungsprinzip

Drücken Sie einfach Ihren Finger gegen den Sensor, um die Pulssauerstoffsättigung (SpO2) und den Puls (entspricht dem Herzschlag) zu schätzen.

Das Pulsoximeter (Oximeter) ist ein Mini-Spektrometer, das die Prinzipien verschiedener Absorptionsspektren der roten Blutkörperchen VERWENDET, um die Sauerstoffsättigung des Blutes zu analysieren. Diese Echtzeit- und schnelle Messmethode wird auch in vielen klinischen Referenzen verwendet. Ich werde den MAX30100 nicht zu sehr vorstellen, da diese Materialien im Internet verfügbar sind. Interessierte Freunde können die Informationen dieses Herzfrequenz-Testmoduls im Internet nachschlagen und sein Erkennungsprinzip besser verstehen.

STEIN STVI070WT-01

Einführung in den Anzeiger

In diesem Projekt werde ich STONE STVI070WT verwenden, um die Herzfrequenz- und Blutsauerstoffdaten anzuzeigen. Der Treiberchip wurde in den Bildschirm integriert, und es gibt eine Software für die Benutzer. Benutzer müssen nur Schaltflächen, Textfelder und andere Logik über die entworfenen UI-Bilder hinzufügen und dann Konfigurationsdateien generieren und sie zur Ausführung auf den Anzeigebildschirm herunterladen. Das Display von STVI070WT kommuniziert mit der MCU über das uart-rs232-Signal, was bedeutet, dass wir einen MAX3232-Chip hinzufügen müssen, um das RS232-Signal in ein TTL-Signal umzuwandeln, damit wir mit der Arduino-MCU kommunizieren können.

Wenn Sie sich nicht sicher sind, wie Sie den MAX3232 verwenden sollen, sehen Sie sich bitte die folgenden Bilder an:

Wenn Sie der Meinung sind, dass die Pegelumwandlung zu mühsam ist, können Sie andere Arten von STONE-Displays auswählen, von denen einige das uart-ttl-Signal direkt ausgeben können. Die offizielle Website bietet detaillierte Informationen und eine Einführung: https://www.stoneitech.com/ Wenn Sie Video-Tutorials und Tutorials zur Verwendung benötigen, finden Sie diese auch auf der offiziellen Website.

Schritt 4: Entwicklungsschritte

Entwicklungsschritte
Entwicklungsschritte
Entwicklungsschritte
Entwicklungsschritte
Entwicklungsschritte
Entwicklungsschritte

Drei Schritte der STONE-Bildschirmentwicklung:

Entwerfen Sie die Anzeigelogik und Tastenlogik mit der STONE TOOL-Software und laden Sie die Designdatei auf das Anzeigemodul herunter.

Die MCU kommuniziert mit dem STONE LCD-Anzeigemodul über die serielle Schnittstelle.

Mit den in Schritt 2 erhaltenen Daten führt die MCU andere Aktionen aus.

STONE TOOL-Softwareinstallation

Laden Sie die neueste Version der STONE TOOL-Software (derzeit TOOL2019) von der Website herunter und installieren Sie sie. Nach der Installation der Software wird folgende Oberfläche geöffnet:

Klicken Sie auf die Schaltfläche "Datei" in der oberen linken Ecke, um ein neues Projekt zu erstellen, auf das wir später eingehen werden.

ArduinoArduino ist eine Open-Source-Plattform für elektronische Prototypen, die einfach zu bedienen und zu verwenden ist. Es umfasst den Hardware-Teil (verschiedene Entwicklungsboards, die der Arduino-Spezifikation entsprechen) und den Software-Teil (Arduino IDE und zugehörige Entwicklungskits). Der Hardwareteil (oder Entwicklungsboard) besteht aus einem Mikrocontroller (MCU), Flash-Speicher (Flash) und einer Reihe von Universal Input/Output Interfaces (GPIO), die man sich als Mikrocomputer-Motherboard vorstellen kann. Der Softwareteil besteht hauptsächlich aus der Arduino IDE auf dem PC, dem zugehörigen Board-Level Support Package (BSP) und einer umfangreichen Funktionsbibliothek von Drittanbietern. Mit der Arduino IDE können Sie das mit Ihrem Entwicklungsboard verbundene BSP und die benötigten Bibliotheken einfach herunterladen um Ihre Programme zu schreiben. Arduino ist eine Open-Source-Plattform. Bisher gab es viele Modelle und viele davon abgeleitete Controller, darunter Arduino Uno, Arduino Nano, ArduinoYun und so weiter. Darüber hinaus unterstützt die Arduino IDE jetzt nicht nur die Entwicklungsboards der Arduino-Serie, sondern unterstützt auch gängige Entwicklungsboards wie z wie Intel Galileo und NodeMCU durch die Einführung von BSP. Arduino erfasst die Umgebung durch eine Vielzahl von Sensoren, steuert Lichter, Motoren und andere Geräte, um die Umgebung zurückzumelden und zu beeinflussen. Der Mikrocontroller auf der Platine kann mit einer Arduino-Programmiersprache programmiert, in Binärdateien kompiliert und in den Mikrocontroller gebrannt werden für Arduino wird mit der Arduino-Programmiersprache (basierend auf Wiring) und der Arduino-Entwicklungsumgebung (basierend auf Processing) implementiert. Arduino-basierte Projekte können nur Arduino enthalten sowie Arduino und andere Software, die auf dem PC ausgeführt wird, und sie kommunizieren mit jedem andere (wie Flash, Verarbeitung, MaxMSP).

EntwicklungsumgebungDie Arduino-Entwicklungsumgebung ist die Arduino IDE, die aus dem Internet heruntergeladen werden kann. Melden Sie sich auf der offiziellen Arduino-Website an und laden Sie die Software herunter https://www.arduino.cc/en/Main/Software?setlang=cn Nach der Installation der Arduino-IDE erscheint beim Öffnen der Software die folgende Oberfläche:

Die Arduino IDE erstellt standardmäßig zwei Funktionen: die Setup-Funktion und die Loop-Funktion. Es gibt viele Arduino-Einführungen im Internet. Wenn Sie etwas nicht verstehen, können Sie es im Internet finden.

Schritt 5: Implementierungsprozess des Arduino LCD-Projekts

Implementierungsprozess für Arduino LCD-Projekte
Implementierungsprozess für Arduino LCD-Projekte
Implementierungsprozess für Arduino LCD-Projekte
Implementierungsprozess für Arduino LCD-Projekte
Implementierungsprozess für Arduino LCD-Projekte
Implementierungsprozess für Arduino LCD-Projekte

Hardwareanschluss

Um sicherzustellen, dass der nächste Schritt beim Schreiben von Code reibungslos abläuft, müssen wir zunächst die Zuverlässigkeit der Hardwareverbindung ermitteln. In diesem Projekt wurden nur vier Hardwareteile verwendet:

1. Arduino Mini Pro-Entwicklungsboard

2. STONE STVI070WT TFT-LCD-Bildschirm

3. MAX30100 Herzfrequenz- und Blutsauerstoffsensor

4. MAX3232 (rs232-> TTL) Das Arduino Mini Pro-Entwicklungsboard und der STVI070WT-tft-lcd-Bildschirm sind über UART verbunden, was eine Pegelumwandlung über MAX3232 erfordert, und dann werden das Arduino Mini Pro-Entwicklungsboard und das MAX30100-Modul über die IIC-Schnittstelle verbunden. Nach klarer Überlegung können wir folgendes Verdrahtungsbild zeichnen:

Stellen Sie sicher, dass die Hardwareverbindung fehlerfrei ist und fahren Sie mit dem nächsten Schritt fort.

LCD-TFT-BenutzeroberflächendesignZunächst müssen wir ein UI-Anzeigebild entwerfen, das von PhotoShop oder anderen Bilddesign-Tools entworfen werden kann. Nachdem Sie das UI-Anzeigebild entworfen haben, speichern Sie das Bild im JPG-Format. Öffnen Sie die Software STONE TOOL2019 und erstellen Sie ein neues Projekt:

Entfernen Sie das Bild, das standardmäßig in das neue Projekt geladen wurde, und fügen Sie das von uns entworfene UI-Bild hinzu. Fügen Sie die Textanzeigekomponente hinzu, entwerfen Sie die Anzeigeziffer und den Dezimalpunkt, rufen Sie den Speicherort der Textanzeigekomponente im Displayer ab. Der Effekt ist wie folgt:

Adresse der Textanzeigekomponente:Verbindungssta: 0x0008

Herzfrequenz: 0x0001

Blutsauerstoff: 0x0005

Die Hauptinhalte der Benutzeroberfläche sind wie folgt:

Verbindungsstatus

Herzfrequenzanzeige

Blutsauerstoff zeigte

Schritt 6: Konfigurationsdatei erstellen

Konfigurationsdatei erstellen
Konfigurationsdatei erstellen
Konfigurationsdatei erstellen
Konfigurationsdatei erstellen
Konfigurationsdatei erstellen
Konfigurationsdatei erstellen
Konfigurationsdatei erstellen
Konfigurationsdatei erstellen

Sobald das UI-Design abgeschlossen ist, kann die Konfigurationsdatei generiert und auf das STVI070WT-Display heruntergeladen werden.

Führen Sie zuerst Schritt 1 aus, dann stecken Sie das USB-Flash-Laufwerk in den Computer ein, und das Diskettensymbol wird angezeigt. Klicken Sie dann auf "Download to u-disk", um die Konfigurationsdatei auf das USB-Flash-Laufwerk herunterzuladen, und stecken Sie dann das USB-Flash-Laufwerk in STVI070WT ein, um das Upgrade abzuschließen.

MAX30100MAX30100 kommuniziert über IIC. Sein Arbeitsprinzip besteht darin, dass der ADC-Wert der Herzfrequenz durch Infrarot-LED-Bestrahlung erhalten werden kann. Das MAX30100-Register kann in fünf Kategorien unterteilt werden: Zustandsregister, FIFO, Steuerregister, Temperaturregister und ID-Register. Das Temperaturregister liest den Temperaturwert des Chips, um die durch die Temperatur verursachte Abweichung zu korrigieren. Das ID-Register kann die ID-Nummer des Chips lesen.

Der MAX30100 ist über die IIC-Kommunikationsschnittstelle mit dem Arduino Mini Pro-Entwicklungsboard verbunden. Da es in der Arduino IDE vorgefertigte MAX30100-Bibliotheksdateien gibt, können wir die Herzfrequenz- und Blutsauerstoffdaten lesen, ohne die Register des MAX30100 zu studieren.

Modifizieren Sie den MAX30100 IIC-Pull-up-Widerstand

Es ist zu beachten, dass der Pull-up-Widerstand von 4,7k des IIC-Pins des MAX30100-Moduls mit 1,8 V verbunden ist, was theoretisch kein Problem darstellt. Der Kommunikationslogikpegel des Arduino IIC-Pins beträgt jedoch 5 V, sodass er nicht mit Arduino kommunizieren kann, ohne die Hardware des MAX30100-Moduls zu ändern. Eine direkte Kommunikation ist möglich, wenn die MCU STM32 oder eine andere 3,3-V-MCU mit Logikpegel ist Änderungen müssen vorgenommen werden:

Entfernen Sie die drei im Bild markierten 4,7k-Widerstände mit einem elektrischen Lötkolben. Dann schweißen Sie zwei Widerstände von 4,7k an den Pins von SDA und SCL an VIN, damit wir mit Arduino kommunizieren können. Arduino Öffnen Sie die Arduino-IDE und finden Sie Folgendes: Tasten:

Suchen Sie nach "MAX30100", um zwei Bibliotheken für MAX30100 zu finden, und klicken Sie dann auf Herunterladen und installieren.

Nach der Installation finden Sie die Demo des MAX30100 im LIB-Bibliotheksordner von Arduino:

Doppelklicken Sie auf die Datei, um sie zu öffnen.

Diese Demo kann direkt getestet werden. Wenn die Hardwareverbindung in Ordnung ist, können Sie die Codekompilierung in das Arduibo-Entwicklungsboard herunterladen und die Daten von MAX30100 im seriellen Debugging-Tool anzeigen.

Schritt 7: Der Effekt ist im folgenden Bild zu sehen:

Die Wirkung ist im folgenden Bild zu sehen
Die Wirkung ist im folgenden Bild zu sehen
Die Wirkung ist im folgenden Bild zu sehen
Die Wirkung ist im folgenden Bild zu sehen

Um mehr über das Projekt zu erfahren, klicken Sie hier.

Bitte kontaktieren Sie uns, wenn Sie einen vollständigen Code benötigen:

Ich werde Ihnen innerhalb von 12 Stunden antworten.

Empfohlen: