Inhaltsverzeichnis:

So zeigen Sie die Herzfrequenz auf dem STONE-LCD mit Ar an - Gunook
So zeigen Sie die Herzfrequenz auf dem STONE-LCD mit Ar an - Gunook
Anonim
So zeigen Sie die Herzfrequenz auf dem STONE-LCD mit Ar. an
So zeigen Sie die Herzfrequenz auf dem STONE-LCD mit Ar. an

kurze Einleitung

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.

Schritt 1: Ich habe mich entschieden, Arduino zu verwenden, um die Herzfrequenz- und Blutsauerstoffsammelfunktion des MAX30100 zu überprüfen

Ich habe mich entschieden, Arduino zu verwenden, um die Herzfrequenz- und Blutsauerstoff-Sammelfunktion des MAX30100 zu überprüfen
Ich habe mich entschieden, Arduino zu verwenden, um die Herzfrequenz- und Blutsauerstoff-Sammelfunktion des MAX30100 zu überprüfen

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

Schritt 2: Funktionszuweisungen

Bevor ich mit diesem Projekt begann, dachte ich über einige einfache Funktionen nach:

  • Herzfrequenzdaten und Blutsauerstoffdaten wurden gesammelt
  • Herzfrequenz- und Blutsauerstoffdaten werden auf einem LCD-Bildschirm angezeigt

Dies sind die einzigen beiden Funktionen, aber wenn wir sie implementieren möchten, müssen wir mehr nachdenken:

  • 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 habe vor, den LCD-Bildschirm mit serieller Schnittstelle zu verwenden. Ich habe hier einen STONE STVI070WT-01-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-01 LCD-Anzeigemodul mit serieller Schnittstelle

4. MAX3232-Modul

Schritt 3: 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.

Schritt 4: Anwendungen

● Tragbare Geräte

● Fitnessassistent-Geräte

● Medizinische Überwachungsgeräte

Schritt 5: 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 6: 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.

Schritt 7: STEIN STVI070WT-01

STEIN STVI070WT-01
STEIN STVI070WT-01

Einführung in den Anzeiger

In diesem Projekt werde ich STONE STVI070WT-01 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 zum Ausführen auf den Anzeigebildschirm herunterladen. Das Display von STVI070WT-01 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.

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

Wenn Sie sich nicht sicher sind, wie Sie den MAX3232 verwenden, sehen Sie sich bitte die folgenden Bilder an
Wenn Sie sich nicht sicher sind, wie Sie den MAX3232 verwenden, 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-Anzeigen wählen, von denen einige ein uart-ttl-Signal direkt ausgeben können.

Die offizielle Website bietet detaillierte Informationen und eine Einführung:

Schritt 9: Wenn Sie Video-Tutorials und Tutorials benötigen, können Sie diese auch auf der offiziellen Website finden

Wenn Sie Video-Tutorials und Tutorials zur Verwendung benötigen, finden Sie sie auch auf der offiziellen Website
Wenn Sie Video-Tutorials und Tutorials zur Verwendung benötigen, finden Sie sie auch auf der offiziellen Website

Schritt 10: 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.

Schritt 11: STONE TOOL Softwareinstallation

STONE TOOL-Softwareinstallation
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.

Schritt 12: Arduino

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

Schritt 13: Entwicklungsumgebung

Entwicklungsumgebung
Entwicklungsumgebung

Die 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=c… 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 14: Arduino LCD-Projektimplementierungsprozess

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 verlä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-01 tft-lcd-Bildschirm

3. MAX30100 Herzfrequenz- und Blutsauerstoffsensor

4. MAX3232 (rs232-> TTL) Das Arduino Mini Pro-Entwicklungsboard und der STVI070WT-01 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 verbunden IIC-Schnittstelle. Nachdem wir klar nachgedacht haben, können wir das folgende Verdrahtungsbild zeichnen:

Schritt 15:

Bild
Bild

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

Schritt 16: TFT-LCD-Benutzeroberflächendesign

Design der TFT-LCD-Benutzeroberfläche
Design der TFT-LCD-Benutzeroberfläche

Zunä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:

Schritt 17: Entfernen Sie das standardmäßig im neuen Projekt geladene Bild und fügen Sie das von uns entworfene UI-Bild hinzu

Entfernen Sie das Bild, das standardmäßig im neuen Projekt geladen wurde, und fügen Sie das von uns entworfene UI-Bild hinzu
Entfernen Sie das Bild, das standardmäßig im neuen Projekt geladen wurde, und fügen Sie das von uns entworfene UI-Bild hinzu

Schritt 18: Textanzeigekomponente hinzufügen

Die Textanzeigekomponente hinzufügen
Die Textanzeigekomponente hinzufügen

Textanzeigekomponente hinzufügen, Anzeigeziffer und Dezimalpunkt gestalten, Speicherort der Textanzeigekomponente im Anzeigegerät ermitteln.

Der Effekt ist wie folgt:

Schritt 19:

Adresse der Textanzeigekomponente:

  • Verbindungssta: 0x0008
  • Herzfrequenz: 0x0001

Blutsauerstoff: 0x0005 Die Hauptinhalte der Benutzeroberfläche sind wie folgt:

  • Verbindungsstatus
  • Herzfrequenzanzeige
  • Blutsauerstoff zeigte

Schritt 20: Konfigurationsdatei erstellen

Konfigurationsdatei erstellen
Konfigurationsdatei erstellen

Sobald das UI-Design abgeschlossen ist, kann die Konfigurationsdatei generiert und auf das Display STVI070WT-01 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-01 ein, um das Upgrade abzuschließen.

Schritt 21: MAX30100

MAX30100
MAX30100

Der MAX30100 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.

Schritt 22: Ändern Sie den MAX30100 IIC-Pull-up-Widerstand

Modifizieren Sie den MAX30100 IIC-Pull-up-Widerstand
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.

Daher müssen folgende Änderungen 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.

Schritt 23: Arduino

Arduino
Arduino

Öffnen Sie die Arduino IDE und suchen Sie die folgenden Schaltflächen:

Schritt 24: Suchen Sie nach "MAX30100", um zwei Bibliotheken für MAX30100 zu finden, und klicken Sie dann auf Herunterladen und Installieren

Suchen nach
Suchen nach

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

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

Schritt 26: Doppelklicken Sie auf die Datei, um sie zu öffnen

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

Schritt 27: Der vollständige Code lautet wie folgt:

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.

Der vollständige Code lautet wie folgt:

/* Arduino-MAX30100 Oximetrie-/Herzfrequenz-integrierte Sensorbibliothek Copyright (C) 2016 OXullo Intersecans Dieses Programm ist freie Software: Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weiterverbreiten und/oder modifizieren, entweder Version 3 der Lizenz oder (nach Ihrer Wahl) eine spätere Version. Dieses Programm wird in der Hoffnung verteilt, dass es nützlich ist, jedoch OHNE JEGLICHE GEWÄHRLEISTUNG; auch ohne die stillschweigende Garantie der MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Weitere Informationen finden Sie in der GNU General Public License. Zusammen mit diesem Programm sollten Sie eine Kopie der GNU General Public License erhalten haben. Wenn nicht, siehe. */ #include #include "MAX30100_PulseOximeter.h" #define REPORTING_PERIOD_MS 1000 // PulseOximeter ist die übergeordnete Schnittstelle zum Sensor // es bietet: // * Beat Detection Reporting // * Herzfrequenzberechnung // * SpO2 (Oxidationsgrad) Berechnung Pulsoximeter Pocken; uint32_t tsLastReport = 0; // Callback (unten registriert) ausgelöst, wenn ein Impuls erkannt wird void onBeatDetected () { Serial.println ("Beat!"); aufrechtzuerhalten. Void setup () { Serial.begin (115200); Serial.print ("Initialisierung des Pulsoximeters.."); // Initialisieren Sie die PulseOximeter-Instanz // Fehler sind im Allgemeinen auf eine falsche I2C-Verkabelung, fehlende Stromversorgung // oder falschen Zielchip zurückzuführen if (!pox.begin()) { Serial.println("FAILED"); zum(;;); } sonst {Serial.println ("ERFOLG"); } // Der Standardstrom für die IR-LED beträgt 50 mA und kann geändert werden, // indem Sie die folgende Zeile auskommentieren. Überprüfen Sie MAX30100_Registers.h auf alle verfügbaren // Optionen. // pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Einen Callback für die Beat-Erkennung registrieren pox.setOnBeatDetectedCallback(onBeatDetected); aufrechtzuerhalten. Void loop () { // Stellen Sie sicher, dass Sie update so schnell wie möglich aufrufen pox.update (); // Herzfrequenz und Oxidationsstufen asynchron an die Serie übergeben // Für beide bedeutet ein Wert von 0 "ungültig" if (millis () - tsLastReport > REPORTING_PERIOD_MS) { Serial.print ("Heart rate:"); Serial.print (pox.getHeartRate()); Serial.print ("bpm / SpO2:"); Serial.print (pox.getSpO2()); Serial.println("%"); tsLastReport = millis(); } }

Schritt 28:

Bild
Bild

Dieser Code ist sehr einfach, ich glaube, Sie können ihn auf einen Blick verstehen. Ich muss sagen, dass die modulare Programmierung von Arduino sehr bequem ist und ich nicht einmal verstehen muss, wie der Treibercode von Uart und IIC implementiert ist.

Natürlich ist der obige Code eine offizielle Demo, und ich muss noch einige Änderungen vornehmen, um die Daten auf dem Display von STONE anzuzeigen.

Schritt 29: Anzeigen von Daten auf dem STONE-Displayer über Arduino

Zuerst müssen wir die Adresse der Komponente abrufen, die die Herzfrequenz- und Blutsauerstoffdaten im Display von STONE anzeigt:

In meinem Projekt lautet die Adresse wie folgt: Adresse der Herzfrequenzanzeigekomponente: 0x0001 Adresse des Blutsauerstoffanzeigemoduls: 0x0005 Sensorverbindungsstatusadresse: 0x0008 Wenn Sie den Anzeigeinhalt im entsprechenden Bereich ändern müssen, können Sie den Anzeigeinhalt ändern durch Senden von Daten an die entsprechende Adresse des Bildschirms über den seriellen Port von Arduino.

Schritt 30: Der geänderte Code lautet wie folgt:

/* Arduino-MAX30100 Oximetrie-/Herzfrequenz-integrierte Sensorbibliothek Copyright (C) 2016 OXullo Intersecans Dieses Programm ist freie Software: Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weiterverbreiten und/oder modifizieren, entweder Version 3 der Lizenz oder (nach Ihrer Wahl) eine spätere Version. Dieses Programm wird in der Hoffnung verteilt, dass es nützlich ist, jedoch OHNE JEGLICHE GEWÄHRLEISTUNG; auch ohne die stillschweigende Garantie der MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Weitere Informationen finden Sie in der GNU General Public License. Zusammen mit diesem Programm sollten Sie eine Kopie der GNU General Public License erhalten haben. Wenn nicht, siehe. */ #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]= {0xA,00, / 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}; // Pulsoximeter ist die übergeordnete Schnittstelle zum Sensor // es bietet: // * Beat Detection Reporting // * Herzfrequenzberechnung // * SpO2 (Oxidationsgrad) Berechnung Pulsoximeter Pocken; uint32_t tsLastReport = 0; // Callback (unten registriert) wird ausgelöst, wenn ein Impuls erkannt wird void onBeatDetected () {// Serial.println ("Beat!"); aufrechtzuerhalten. Void setup () { Serial.begin (115200); // Serial.print ("Initialisierung des Pulsoximeters.."); // Initialisieren Sie die PulseOximeter-Instanz // Fehler sind im Allgemeinen auf eine falsche I2C-Verkabelung, fehlende Stromversorgung // oder falschen Zielchip zurückzuführen if (!pox.begin()) {// Serial.println("FAILED"); // connect_sta_send[7]=0x00; // Serial.write (connect_sta_send, 8); zum(;;); aufrechtzuerhalten. Sonst { connect_sta_send[7]=0x01; Serial.write (connect_sta_send, 8); // Serial.println ("ERFOLG"); } // Der Standardstrom für die IR-LED beträgt 50 mA und kann geändert werden, // indem Sie die folgende Zeile auskommentieren. Überprüfen Sie MAX30100_Registers.h auf alle verfügbaren // Optionen.pox.setIRLedCurrent(MAX30100_LED_CURR_7_6MA); // Einen Callback für die Beat-Erkennung registrieren pox.setOnBeatDetectedCallback(onBeatDetected); aufrechtzuerhalten. Void loop () { // Stellen Sie sicher, dass Sie update so schnell wie möglich aufrufen pox.update (); // Herzfrequenz und Oxidationsstufen asynchron in die Serie übergeben // Für beide bedeutet ein Wert von 0 "ungültig" if (millis () - tsLastReport > REPORTING_PERIOD_MS) { // Serial.print ("Herzfrequenz:"); // 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 = millis(); } }

Schritt 31: Anzeige der Herzfrequenz auf dem LCD mit Arduino

Anzeige der Herzfrequenz auf dem LCD mit Arduino
Anzeige der Herzfrequenz auf dem LCD mit Arduino

Kompilieren Sie den Code, laden Sie ihn auf das Arduino-Entwicklungsboard herunter und Sie können mit dem Testen beginnen.

Wir können sehen, dass, wenn die Finger den MAX30100 verlassen, die Herzfrequenz und der Blutsauerstoffwert 0 anzeigen. Legen Sie Ihren Finger auf den MAX30100-Sammler, um Ihre Herzfrequenz und den Blutsauerstoffgehalt in Echtzeit anzuzeigen.

Der Effekt ist im folgenden Bild zu sehen:

Empfohlen: