Capteur fréquence cardiaque Arduino

Le capteur KY-039 Arduino est utilisé pour mesurer le pouls (battement de cœur) de votre doigt. Ce capteur réagit à un changement de la transparence du doigt pour le rayonnement infrarouge de la LED lorsque la pression sanguine fluctue.Voyons comment connecter KY-039 à l’Arduino Uno et envoyer la lecture sur le port série. Mais prévenons tout de suite que vous ne devez pas vous attendre à des relevés de grande qualité de la part du capteur.


Pour cette activité, nous aurons besoin:

  • Arduino Uno / Arduino Nano / Arduino Mega;
  • capteur de fréquence cardiaque ky-039;
  • breadboard;
  • LEDs et résistances de 220 Ohm;
  • fils de connexion.

Fonctionnement capteur de pouls cardiaque (datasheet)

Capteur fréquence cardiaque composé d’un phototransistor et d’une LED infrarouge. La lumière infrarouge émise par la LED pénètre dans le phototransistor à travers le doigt. Lorsque la pression sanguine dans les capillaires du doigt varie, la résistance du phototransistor change. Malheureusement, personne n’est encore parvenu à des lectures plus ou moins fiables sur les sites et forums de programmation de microcontrôleurs.

Fonctionnement capteur de pouls cardiaque, datasheet
Fonctionnement capteur de pouls cardiaque ky-039, datasheet

Caractéristiques pulse sensor Arduino ky-039:

  • Alimentation: 3 – 5 V
  • Consommation: 4 mA
  • Connexions: GND, VCC, Signal

Pour garantir la stabilité de la lecture du capteur, le phototransistor doit être protégé de la lumière du soleil ou de la lumière artificielle pour éviter toute interférence supplémentaire. La branche centrale du module capteur de pouls cardiaque KY-039 est alimentée par le +5V, le « – » est la masse (GND). S est la sortie analogique, qui est connectée à la broche A1. Les données du module sont envoyées à l’ordinateur via le moniteur série du port Arduino IDE.

Comment branchement le capteur fréquence cardiaque

Connecter le capteur fréquence cardiaque Arduino
Comment connecter le capteur fréquence cardiaque Arduino ky-039

Le code suivant transmet la fréquence cardiaque d’une personne (nombre de battements de cœur par minute) au moniteur du port série. Les données sont plus ou moins fiables et nous avons ajouté une LED au circuit. Rappelons que le capteur est affecté par les rayonnements extérieurs (soleil, lampe, etc.) et que les données sont transmises au moniteur du port IDE d’Arduino avec un léger retard. Connectez le capteur et chargez le code dans l’Arduino.

Programme Arduino capteur fréquence cardiaque

#define samp_siz 4
#define rise_threshold 5

void setup() {
    Serial.begin(9600);
    pinMode(A1, INPUT);
    pinMode(10, OUTPUT);
}

void loop() {

  float reads[samp_siz], sum;
  long int now, ptr;
  float last, reader, start;
  float first, second, third, before, print_value;
  bool rising;
  int rise_count;
  int n;
  long int last_beat;

  for (int i=0; i<samp_siz; i++)
    reads[i] = 0;
  sum = 0;
  ptr = 0;

  while (1) {
    n = 0;
    start = millis();
    reader = 0.;
    do {
      reader += analogRead(A1);
      n++;
      now = millis();
    }

    while (now < start + 20);
    reader /= n;  // we got an average
    sum -= reads[ptr];
    sum += reader;
    reads[ptr] = reader;
    last = sum / samp_siz;

    if (last > before) {
      rise_count++;

      if (!rising && rise_count > rise_threshold) {
        digitalWrite(10, HIGH);
        rising = true;
        first = millis() - last_beat;
        last_beat = millis();

        print_value = 60000. / (0.4 * first + 0.3 * second + 0.3 * third);
        Serial.println(print_value);
        third = second;
        second = first;
      }
    }
    else {
      rising = false;
      rise_count = 0;
      digitalWrite(10, LOW);
    }
    before = last;
    ptr++;
    ptr %= samp_siz;
  }
}

Conclusion. Le capteur de fréquence cardiaque Arduino peut être utilisé dans des projets. Nous avons vu comment connecter le module à un microcontrôleur Arduino et obtenir des données assez fiables sur le rythme cardiaque d’une personne. Si vous avez encore des questions sur le sujet traité, ou si vous avez des suggestions pour améliorer le programme Arduino et le module KY039 – laissez-les dans les commentaires de cet article.





6 Replies to “Branchement capteur de fréquence cardiaque ky-039”

    1. voici le code :

      #include "LiquidCrystal.h"
      // Initialisation de l'écran LCD
      LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
      // Broche à laquelle le capteur de fréquence cardiaque est connecté
      const int heartRatePin = A0;

      void setup() {
      // Initialisation de l'écran LCD
      lcd.begin(16, 2);
      // Affichage d'un message d'accueil
      lcd.print("Heart Rate:");
      // Configuration de la vitesse de transmission série
      Serial.begin(9600);
      }

      void loop() {
      // Lecture de la fréquence cardiaque depuis le capteur
      int heartRate = analogRead(heartRatePin);

      // Affichage de la fréquence cardiaque sur l'écran LCD
      lcd.setCursor(0, 1); // Position du curseur sur la deuxième ligne
      lcd.print(" "); // Effacer l'ancienne valeur
      lcd.setCursor(0, 1); // Revenir au début de la ligne
      lcd.print(heartRate); // Afficher la fréquence cardiaque

      // Affichage de la fréquence cardiaque sur le moniteur série
      Serial.print("Heart Rate: ");
      Serial.println(heartRate);

      delay(1000); // Attendre 1 seconde avant de lire à nouveau
      }

  1. Bonjour, étant totalement novice, je trouve ce montage très intéressant.
    Pour autant, en l’état, je ne vois pas très bien l’utilité.
    Est-ce qu’il y a un moyen de sortir les résultats sur écran et/ou imprimante.
    Auquel cas, ce sera vraiment utile, non?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.