SOMMAIRE ►
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.

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

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.








je ne trouve pas l’explication du sketch, ou je peux la trouver? merci
bonjour, savez vous comment faire pour afficher la fréquence cardiaque cela sur un écran.
Salut
as tu trouvé la solution ?
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
}
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?
LCD 1602 – https://arduino-france.site/lcd-1602/