Introduction

Le module HW-827 est un moniteur de fréquence cardiaque. Ils peuvent être utilisés dans divers projets tels que le suivi de la santé, de biofeedback ou de dispositifs médicaux portables. La partie du  capteur avec le logo en forme de cœur, est l’endroit où vous posez votre doigt.

Comment fonctionne le capteur de rythme cardiaque ?

Un capteur de pouls, comme tout autre capteur optique de fréquence cardiaque, fonctionne en projetant une lumière verte (~ 550nm) sur le doigt et en mesurant la quantité de lumière réfléchie à l’aide d’un photocapteur.

L’hémoglobine oxygénée du sang artériel a la propriété d’absorber la lumière verte. Plus le sang est rouge (plus l’hémoglobine est élevée), plus l’absorption de la lumière verte est importante. À chaque battement de cœur, le sang est pompé dans le doigt, ce qui entraîne une modification de la quantité de lumière réfléchie, qui produit à son tour une forme d’onde à la sortie du photocapteur.

En continuant à éclairer et à prendre des mesures du photocapteur, vous commencez rapidement à obtenir une mesure des pulsations cardiaques.

  • Les pins du capteur HW-827

Signal : A connecter sur un des pins analogiques

Vcc : A relier au +3.3V de la carte Arduino

Masse : Connecter au GND de la carte Arduino

Schéma Electronique

Voici le schéma électronique pour relier le capteur cardiaque à la carte Arduino Uno :

Programmation

 

Pour utiliset le capteur de fréquence cardiaque vous aurez besoin d’installer la librairie PulseSensor :

Voici le programme qui utilise la librairie PulseSensor pour lire vos battements de coeur en BPM :

#define USE_ARDUINO_INTERRUPTS true    // Configurer les interruptions de bas niveau pour un calcul précis du BPM.
#include <PulseSensorPlayground.h>     // Inclut la bibliothèque PulseSensorPlayground.   

// Variables
const int PulseWire = 0;       // Fil VIOLET du capteur de pouls connecté à la BROCHE ANALOGIQUE 0
const int LED = LED_BUILTIN;          // La LED Arduino intégrée, près de la BROCHE 13.
int Threshold = 550;           // Détermine le signal à "compter comme un battement" et celui à ignorer.
PulseSensorPlayground pulseSensor;  

void setup() {   
  Serial.begin(9600);          // Pour le Moniteur Série
  pulseSensor.analogInput(PulseWire);   
  pulseSensor.blinkOnPulse(LED);       // Fait clignoter automatiquement la LED d'Arduino au rythme cardiaque.
  pulseSensor.setThreshold(Threshold);   
   if (pulseSensor.begin()) {
    Serial.println("Démarrage du capteur cardiaque !");  // Ceci s'imprime une seule fois au démarrage de l'Arduino ou lors d'une réinitialisation.
  }
}

void loop() {
if (pulseSensor.sawStartOfBeat()) {            // Teste constamment s'il y a eu "un battement".
int myBPM = pulseSensor.getBeatsPerMinute();  
 Serial.print("Pouls BPM:  "); // Si le test est "true", imprime un message indiquant "un battement cardiaque s'est produit". 
 Serial.println(myBPM);                        
}
  delay(20);                    
}
Point d'exclamation

Attention !

Comme ce programme détecte la fréquence cardiaque par voie optique, il peut produire des résultats erronés. Veuillez NE PAS L’UTILISER POUR UN DIAGNOSTIC MÉDICAL RÉEL.

 

On peut voir le résultat sur le moniteur série :