Raspberry Pi Pulsmesser

Allgemein

Raspberry Pi Pulsmesser: Herzfrequenz messen

Nicht nur mit Fitnessarmbändern, auch am am Raspberry Pi ist es möglich Herzfrequenzen zu messen. Mit einem kleinen Modul – dem Raspberry Pi Puls Sensor – kann man sehr einfach den eigenen Puls und damit die Belastung bzw. auf Dauer den Gesundheitszustand messen. Dieser Sensor kann dank geringem Stromverbrauch auch in mobilen Raspberry Pi Anwendungen eingesetzt werden (Projekt Fitnesstracker? 😉 )

Was man dazu noch braucht und welche Bibliotheken genutzt werden können, werden in diesem Tutorial gezeigt.



Pulsmesser Zubehör

Da der Raspberry Pi Puls-Sensor nicht digital ausgelesen werden kann, benötigen wir einen Analog-Digital Wandler. In einem vorherigen Tutorial bin ich bereits genauer auf die Verwendung des ADC Wandlers eingegangen. Damit ist es möglich analoge Signale am Raspberry Pi auszulesen, da dieser – im Gegensatz zum Arduino – keine integrierten analogen IO-Pins hat.

Im Video (unten) habe ich folgende Bauteile verwendet:

Manche Sensoren werden mit einem Klettverschluss für den Finger mitgeliefert, was vorteilhaft für die Messung ist, da somit nicht zu viel Druck auf dem Finger herrscht.

 

Raspberry Pi Pulsmesser – Anschluss

Da auch dieser Sensor für den Arduino konzipiert wurde, liefert er kein digital auslesbares Signal. Um das analoge Signal dennoch auslesen zu können wird ein ADC wie der MCP3008 benötigt. In einem vorherigen Tutorial habe ich bereits gezeigt, wie man den Analog-Digital Wandler verwendet. Es spielt dabei keine Rolle, welchen Kanal des ADC’s du verwendest, solange du es später im Code anpasst.

Der Plus Pol des Pulssensors wird an 3.3V vom Raspberry Pi angeschlossen, sowie Minus an Ground. Den Signal- / Daten-Pin (beschriftet mit einem „S“) habe ich an Kanal 0 des MCP3008 angeschlossen.

 

 

Code zum Herzfrequenz auslesen

Falls du kein aktuelles Raspbian / NOOBS Betriebssystem benutzt, muss ggf. erst aktualisiert werden und git installiert werden.

sudo apt-get update
sudo apt-get upgrade sudo apt-get install git

 

Auf GitHub habe ich eine Bibliothek zum Erfassen der Herzfrequenz bereit gestellt. Diese kannst du folgend herunterladen:

git clone https://github.com/tutRPi/Raspberry-Pi-Heartbeat-Pulse-Sensor

Auch anbei ist eine Beispieldatei, welche jede Sekunde die Herzfrequenz ausließt. Im Video weiter unten siehst du das noch einmal verdeutlicht.
Um das Beispiel zu starten wechseln wir in den Ordner und rufen die example.py auf.

cd Raspberry-Pi-Heartbeat-Pulse-Sensor/
sudo python example.py

Um zu stoppen, drücke STRG+C.

Wenn du dir das Beispiel genauer ansiehst, so wirst du feststellen, dass mit p.startAsyncBPM() ein Thread gestartet wird, der im Hintergrund den Puls misst. Mittels p.stopAsyncBPM() kannst du diesen Thread – und damit die Messung – stoppen. Gerne kannst du den Code deinen Wünschen nach anpassen.

 

Pulsmesser Beispiel und Erweiterung

Im nachfolgenden Video habe ich die Beispieldatei ausgeführt und zeige die Messung meines Pulses. Zuvor habe ich meinen Puls mit meinem Smartphone (integrierter Pulsmesser) gemessen, wobei mir ein Ruhepuls vom 55 BPM angezeigt wurde.

 

Wie auch zu erkennen ist, ist die Messung nicht immer akkurat, vorallem wenn der Finger den Sensor nicht berührt. Hier könnte man sich mit einem Drucksensor o.ä. aushelfen und nur dann messen, wenn man sicher ist, dass der Finger den Pulssensor berührt. Außerdem dauert es ein paar Sekunden, bis der Puls richtig erfasst wird, aber das ist ja auch bei handelsüblichen Pulsmessern nicht anders.

 

Für das (ursprünglich für Arduino entwickelte) Modul, gibt es auch einen Beispielcode. Außerdem ist auf Github eine nette Visualisierung der Werte vorhanden. Es sollte nicht all zu viel Aufwand sein diese Dateien für meine Bibliothek anzupassen. Falls du Lust hast den Code zu verändern, darfst du auch gerne meine Bibliothek den Ansprüchen nach verändern. Über ein Kommentar würde ich mich freuen 🙂

Raspberry Pi Puls Heartbeat Monitor

Visualisiert geben die Daten eine bessere Übersicht des Puls-Verlaufs.

 



, , , , , ,


3 Kommentare

  1. Tony sagt:

    Sehr interessantes Projekt!

  2. JUNHEE sagt:

    hello.
    My name is jun, I am a student at korea.
    I interest pulse sensor. so i try your code at pi.
    but i cann’t implement.. i have a error about

    trace back(most recent call last):
    File = " example.py",  line 4 , in 
    p = pulsesensor()......
    .
    .
    .
    IOError : [errono 2] No such File or directory..

    if you have a solution, plz … Could you give me a solution?
    … thank you guys….. have a good day!!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Blog abonnieren

Abonniere Tutorials-RaspberryPi, um kein Tutorial mehr zu verpassen!