Wie misst man die Herzfrequenz mit dem Herzschlagsensor?

Herzfrequenz oder Pulsfrequenz ist der wichtigste Parameter, der auf dem Gebiet der Medizin gemessen wird. Es gibt zwei Möglichkeiten, wie die Herzfrequenz gemessen werden kann. Eine besteht darin, das Handgelenk manuell mit einem Stethoskop zu überprüfen und die Herzfrequenz zu erraten. Die andere Methode besteht darin, einen Herzfrequenzsensor zu verwenden. Ein Herzfrequenzsensor erhält einige Messwerte des Pulses und sendet ein elektrisches Signal an den Mikrocontroller. Diese Messwerte werden dann berechnet und die genaue Pulsfrequenz angezeigt.

Wie misst ein Herzfrequenzsensor die Pulsfrequenz?

Da wir wissen, was wir tun werden, beginnen wir mit der Arbeit an diesem Projekt.

Schritt 1: Sammeln der Komponenten

Das Erstellen einer Liste von Komponenten und das Studieren der Funktionsweise dieser Komponenten ist der beste Ansatz, bevor Sie mit einem Projekt beginnen. Im Folgenden sind die Komponenten aufgeführt, die in unserem Projekt verwendet werden:

Schritt 2: Kenntnis der verwendeten Komponenten

Da haben wir die Liste der Geräte, die wir verwenden werden. Lassen Sie uns nun sehen, wie diese Komponenten funktionieren.

Arduino Uno ist eine Mikrocontroller-Karte, mit der verschiedene Schaltkreise gesteuert werden. Es wird ein C-Code verwendet, der Anweisungen zum Ausführen einer Aufgabe enthält. Andere auf dem Markt erhältliche Ersatzstoffe für diese Mikrocontroller-Karte sind Arduino Nano, Node MCU, ESP32 usw.

SEN-11574 ist ein Plug-and-Play-Pulsfrequenzsensor, der in Arduino integriert ist. Es hat zwei Seiten. Auf einer Seite befindet sich eine LED, die Licht emittiert. Diese LED sollte direkt auf einer Vene platziert werden. Da wir wissen, dass das Blutvolumen in der Vene größer ist, wenn das Herz pumpt, wird mehr Licht zum Sensor reflektiert, wenn sich mehr Blut in der Vene befindet. Diese Änderung des vom Sensor empfangenen Lichts wird über die Zeit analysiert und die Herzfrequenz gemessen. Auf der anderen Seite des Sensors befindet sich eine Schaltung, die für die Verstärkung und Rauschentfernung des empfangenen Signals verantwortlich ist.

Schritt 3: Zusammenbau der Komponenten

  1. Da wir wissen, dass die Haut eines menschlichen Körpers ist, ist sie manchmal feucht oder fettig. Dies kann zu einem Kurzschluss des Sensors führen, der zu falschen Messungen führt. Es ist besser, eine Schicht eines Vinyl-Aufklebers auf die LED-Seite des Sensors aufzutragen, um zu verhindern, dass diese auf der Haut feucht wird.
  2. Nehmen Sie danach ein Stück schwarzes Vektorband und kleben Sie es auf die andere Seite des Sensors. Dadurch wird verhindert, dass Licht aus der Umgebung das Licht der Sensoren unterbricht.
  3. Verbinden Sie nun den Vcc- und Erdungsstift des Sensors mit Arduino und den analogen Pin des Sensors mit A0 von Arduino.

Das gesamte Gerät ist jetzt eingestellt und betriebsbereit. Wir werden den Sensor direkt an der Vene anbringen, entweder am Finger oder am Ohr, um die Herzfrequenz zu messen.

Schritt 4: Erste Schritte mit Arduino

Wenn Sie zuvor noch nicht an der Arduino IDE gearbeitet haben, machen Sie sich keine Sorgen, da das Verfahren zum Brennen eines Codes auf der Mikrocontroller-Karte mit der Arduino IDE unten angegeben ist.

  1. Nachdem Sie Ihr Arduino-Board an Ihren PC angeschlossen haben, gehen Sie zu Systemsteuerung> Hardware und Sound> Geräte und Drucker, um den Namen des Ports zu überprüfen, an den Arduino angeschlossen ist. Auf verschiedenen Computern ist dies unterschiedlich.
  2. Öffnen Sie die Arduino IDE und stellen Sie die Karte als ein Arduino / Genuino UNO.
  3. Stellen Sie nun den zuvor beobachteten Anschluss in der Systemsteuerung ein.
  4. Laden Sie den unten angegebenen Code herunter und öffnen Sie ihn. Brennen Sie den Code auf Ihrer Mikrocontroller-Karte, indem Sie auf klicken Hochladen Taste.

Klicken Sie hier, um den Code herunterzuladen.

Schritt 5: Code

Der Code zum Messen der Pulsfrequenz ist etwas langwierig und kompliziert. Ein Teil des Codes wird unten erklärt.

1. Zu Beginn werden alle Pins definiert, die verwendet werden. Alle Variablen, die in verschiedenen Funktionen und der Interrupt Service Routine (ISR) verwendet werden.

2. void setup () ist eine Funktion, in der Pins definiert sind, die als INPUT oder OUTPUT verwendet werden sollen. In dieser Funktion wird auch die Baudrate eingestellt. Die Baudrate ist die Geschwindigkeit, mit der der Mikrocontroller mit anderen Komponenten kommuniziert. ISR wird in dieser Funktion auch aufgerufen.

3. void loop ()ist eine Funktion, die kontinuierlich in einem Zyklus ausgeführt wird. Hier wird die Pulsfrequenz gefunden und es wird entschieden, wann die LED ausgeblendet werden soll, wenn ein Herzschlag gefunden wird.

void loop () {serialOutput (); if (QS == true) {// Ein Herzschlag wurde gefunden // BPM und IBI wurden bestimmt // Quantifiziertes Selbst "QS" wahr, wenn Arduino einen Herzschlag findet fadeRate = 255; // Lässt den LED-Fade-Effekt eintreten // Setze die Variable 'fadeRate' auf 255, um die LED mit dem Impuls serialOutputWhenBeatHappens () zu verblassen; // Ein Beat ist passiert, das in seriell ausgeben. QS = falsch; // setze das Quantified Self Flag für das nächste Mal zurück} ledFadeToBeat (); // Lässt den LED-Fade-Effekt passieren Verzögerung (20); // mach eine Pause}

4. void serialOutput ()ist eine Funktion, die entscheidet, wie die Ausgabe auf dem seriellen Monitor angezeigt wird.

void serialOutput () {switch (outputType) {case PROCESSING_VISUALIZER: sendDataToSerial ('S', Signal); // geht zu sendDataToSerial function break; case SERIAL_PLOTTER: // öffne den Arduino Serial Plotter, um diese Daten zu visualisieren Serial.print (BPM); Serial.print (","); Serial.print (IBI); Serial.print (","); Serial.println (Signal); Unterbrechung; Standard: break; }}

5. ISR ist ein Interrupt, der von der Hardware generiert und zur Verarbeitung an die CPU gesendet wird. Wenn der Interrupt generiert wird, stoppt der bereits laufende Prozess und der Interrupt wird verarbeitet. Nachdem der Interrupt verarbeitet wurde, wird der vorherige Prozess fortgesetzt.

void InterruptSetup () {// CHECK OUT THE Timer_Interrupt_Notes TAB FÜR MEHR ZU INTERRUPTS #ifndef ESP32 // Initialisiert Timer2 so, dass alle 2 ms ein Interrupt ausgelöst wird. TCCR2A = 0x02; // Deaktiviere PWM an den digitalen Pins 3 und 11 und gehe in den CTC-Modus TCCR2B = 0x06; // NICHT VERGLEICHEN, 256 PRESCALER OCR2A = 0X7C; // Setze den oberen Rand des Count auf 124 für 500 Hz. SAMPLE RATE TIMSK2 = 0x02; // UNTERBRECHUNG AUF ZUSAMMENPASSUNG ZWISCHEN TIMER2 UND OCR2A AKTIVIEREN sei (); // SICHERSTELLEN, DASS GLOBALE UNTERBRECHUNGEN AKTIVIERT SIND // Semaphor erstellen, um uns zu informieren, wenn der Timer ausgelöst hat #else timerSemaphore = xSemaphoreCreateBinary (); // Verwenden Sie den 1. Timer von 4 (von Null gezählt). // 80 Teiler für Prescaler einstellen (siehe // Technisches Referenzhandbuch für ESP32 für weitere // Informationen). timer = timerBegin (0, 80, true); // Hänge die onTimer Funktion an unseren Timer an. timerAttachInterrupt (timer & onTimer, true); // Alarm so einstellen, dass jede Sekunde die Funktion onTimer aufgerufen wird (Wert in Mikrosekunden). // Wiederhole den Alarm (dritter Parameter) timerAlarmWrite (timer, 2000, true); // Alarm starten timerAlarmEnable (timer); #endif}

Anwendungen:

Jetzt wissen wir, wie man die Pulsfrequenz mit einem Herzfrequenzsensor misst. Jetzt können wir damit beispielsweise verschiedene Projekte erstellen

  1. Gesundheitsbänder.
  2. Angstmonitor.
  3. Schlaf-Tracking.
  4. Fernüberwachung / Alarmsystem für Patienten.
  5. Erweiterte Spielekonsolen
Facebook Twitter Google Plus Pinterest