Calcul De Pouls Arduino Capteur Ir

Calculateur Arduino PPG

Calcul de pouls Arduino capteur IR

Estimez rapidement le rythme cardiaque en BPM à partir d’un capteur infrarouge connecté à Arduino. Ce calculateur gère deux méthodes courantes : comptage des battements sur une durée définie ou conversion d’un intervalle moyen entre pics IR.

Paramètres du calcul

Astuce : pour une meilleure stabilité, mesurez au moins 15 secondes, gardez le doigt immobile et évitez la lumière ambiante directe.

Résultats et visualisation

Renseignez vos données puis cliquez sur Calculer le pouls. Le BPM calculé, l’intervalle cardiaque et une interprétation de la zone de référence s’afficheront ici.

  • Formule 1 : BPM = battements × 60 / durée en secondes
  • Formule 2 : BPM = 60000 / intervalle moyen en millisecondes
  • Le graphique compare votre valeur à une plage de référence

Guide expert du calcul de pouls avec Arduino et capteur IR

Le calcul de pouls Arduino capteur IR est l’une des applications les plus populaires de la mesure biométrique embarquée. Que vous utilisiez un MAX30102, un MAX30100, un module KY-039 ou un autre capteur optique, le principe reste proche : on éclaire le doigt avec une LED, on mesure la lumière réfléchie ou transmise, puis on identifie les petites variations dues au flux sanguin pulsatile. Ce phénomène est au coeur de la photopléthysmographie, souvent abrégée PPG. Avec un traitement correct du signal, un microcontrôleur Arduino peut extraire les pics correspondant aux battements et calculer une fréquence cardiaque en battements par minute, ou BPM.

Comment fonctionne un capteur IR pour mesurer le pouls

Un capteur IR de pouls repose sur l’idée suivante : le volume sanguin change légèrement à chaque contraction du coeur. Quand la LED infrarouge éclaire le doigt, le tissu et le sang absorbent une partie de cette lumière. Comme le volume sanguin artériel varie à chaque pulsation, le signal du photodétecteur varie aussi. L’Arduino lit alors cette courbe, applique un seuil ou un filtre, et repère les pics successifs.

Dans un montage simple, l’Arduino récupère soit une sortie analogique déjà amplifiée, soit des données numériques via I2C. Les modules les plus modernes, comme les MAX30100 ou MAX30102, intègrent une électronique plus avancée pour stabiliser la mesure, réduire le bruit et gérer plusieurs longueurs d’onde. Cela améliore la détection du pouls et facilite l’estimation d’autres paramètres comme la SpO2, même si la saturation demande des algorithmes plus précis que le simple calcul BPM.

Point clé : le BPM n’est pas mesuré directement. Il est dérivé soit du nombre de pics sur une fenêtre de temps, soit de l’intervalle moyen entre deux pics consécutifs.

Les deux formules principales du calcul de pouls

Dans les projets Arduino, on retrouve surtout deux approches mathématiques.

  1. Comptage sur une durée fixe : si vous détectez 18 battements sur 15 secondes, le calcul est 18 × 60 / 15 = 72 BPM.
  2. Calcul par intervalle moyen : si l’intervalle moyen entre deux pics est de 800 ms, le calcul est 60000 / 800 = 75 BPM.

La première méthode est intuitive et robuste pour des tests simples. La seconde est souvent plus réactive dans un système temps réel, car elle actualise le BPM à chaque nouveau battement. En pratique, un bon programme embarqué combine souvent les deux : il suit les intervalles instantanés, puis applique un lissage sur plusieurs cycles pour éviter les fluctuations excessives à l’écran.

Plages de fréquence cardiaque au repos

Pour interpréter correctement un résultat, il faut le comparer à une plage réaliste. Les valeurs ci-dessous sont des références cliniques largement utilisées pour le pouls au repos. Elles peuvent varier selon la condition physique, le stress, la température, les médicaments et le moment de la journée.

Groupe Plage de référence au repos Observation pratique
Nourrisson 100 à 160 BPM Rythme naturellement plus élevé que chez l’adulte
Enfant 70 à 120 BPM Grande variabilité selon l’âge et l’activité récente
Adolescent 60 à 100 BPM Se rapproche progressivement des valeurs adultes
Adulte 60 à 100 BPM Une valeur proche de 60 à 80 BPM est très fréquente au repos
Sportif entraîné 40 à 60 BPM Peut être normal chez certains sujets très entraînés

Ces fourchettes concordent avec les ressources de santé publique et d’éducation clinique. Pour vérifier les plages de pouls, les bases de santé américaines restent utiles, notamment MedlinePlus pour les valeurs de pouls normales et les signes d’alerte.

Comparaison de capteurs IR populaires pour Arduino

Le choix du capteur influence directement la qualité du calcul. Voici une comparaison synthétique de modules fréquemment utilisés dans les prototypes de mesure du pouls. Les chiffres ci-dessous correspondent à des caractéristiques courantes tirées des fabricants ou des fiches techniques les plus répandues.

Capteur Longueurs d’onde Interface Fréquence d’échantillonnage typique Niveau d’intégration
MAX30100 Rouge 660 nm, IR 880 nm I2C 50 à 1000 échantillons/s Élevé, adapté pouls et SpO2
MAX30102 Rouge 660 nm, IR 880 nm I2C 50 à 3200 échantillons/s Très élevé, meilleur filtrage et meilleure souplesse
KY-039 IR autour de 940 nm selon version Analogique Dépend de l’ADC Arduino Faible, demande plus de traitement logiciel

Pour un résultat stable, les modules MAX sont généralement supérieurs aux solutions analogiques très basiques, car ils gèrent mieux le bruit, la lumière parasite et la synchronisation LED-détecteur. Si vous débutez sur Arduino, le MAX30102 reste souvent le meilleur compromis entre précision, disponibilité et documentation.

Pourquoi vos résultats peuvent être faux ou instables

Le plus grand piège en calcul de pouls Arduino capteur IR n’est pas la formule, mais la qualité du signal. Un BPM mathématiquement correct peut rester physiologiquement faux si le capteur ne détecte pas les bons pics. Voici les causes d’erreur les plus fréquentes :

  • Mouvement du doigt : c’est la première source de bruit. Les micro-déplacements créent des variations bien plus fortes que le signal pulsatile.
  • Pression excessive sur le capteur : si vous appuyez trop fort, la perfusion locale diminue et le signal s’affaiblit.
  • Lumière ambiante : une forte lumière extérieure peut perturber les capteurs optiques mal blindés.
  • Seuil de détection mal réglé : trop bas, il compte le bruit ; trop haut, il manque des battements réels.
  • Fréquence d’échantillonnage inadaptée : trop faible, elle rate la forme du pic ; trop haute sans filtrage, elle augmente parfois le bruit exploité.
  • Mauvais lissage logiciel : une moyenne trop courte rend le BPM nerveux ; trop longue, elle retarde l’affichage.

En pratique, une fréquence d’échantillonnage entre 50 et 200 Hz suffit souvent pour le pouls humain. Pour la détection de pics, on combine souvent un filtrage passe-bas, une suppression de la composante continue, puis une logique de période réfractaire afin d’éviter de compter deux fois le même battement.

Architecture logicielle recommandée sur Arduino

Un bon programme Arduino pour le pouls suit généralement ce pipeline :

  1. Acquisition brute du signal IR
  2. Suppression de l’offset continu
  3. Filtrage ou lissage de la composante pulsatile
  4. Détection de pics avec seuil adaptatif
  5. Calcul de l’intervalle RR ou IBI en millisecondes
  6. Conversion en BPM
  7. Moyenne glissante sur 3 à 8 battements
  8. Affichage série, OLED ou interface web

Cette structure est préférable à une simple détection par seuil fixe sur signal brut. Avec un capteur comme le MAX30102, l’algorithme devient encore plus fiable si vous surveillez aussi l’amplitude du signal et si vous rejetez les lectures trop faibles, typiques d’un doigt mal positionné.

Interprétation du BPM au repos et après effort

Au repos, un BPM compris entre 60 et 100 chez l’adulte est souvent considéré comme normal, même si une personne détendue et entraînée peut afficher moins. Après effort, la valeur attendue augmente. Pour estimer une zone d’exercice, on utilise souvent la fréquence cardiaque maximale approximative de type 220 – âge, puis on vise une plage autour de 50 % à 85 % de cette valeur selon l’intensité.

Pour aller plus loin sur les zones de fréquence cardiaque à l’exercice, le CDC explique très bien les fourchettes recommandées. Si vous vous intéressez à la mesure optique et à ses applications biomédicales, le NIBIB présente aussi les bases des capteurs optiques utilisés en oxymétrie et en suivi du pouls.

Exemple concret de calcul sur Arduino

Supposons qu’un montage MAX30102 détecte 24 pics en 20 secondes. Le calcul direct donne :

BPM = 24 × 60 / 20 = 72 BPM

Si le programme mesure plutôt des intervalles moyens de 833 ms entre pics, alors :

BPM = 60000 / 833 = 72,0 BPM environ

Les deux méthodes convergent. Si elles divergent fortement, cela signale souvent une détection de pics imparfaite, un bruit de mouvement ou un lissage mal configuré.

Bonnes pratiques pour améliorer la précision

  • Stabilisez le doigt pendant toute la mesure.
  • Utilisez un support mécanique ou une pince légère pour réduire les artefacts de mouvement.
  • Préférez un capteur intégré I2C plutôt qu’un simple montage analogique si vous cherchez un résultat fiable.
  • Mesurez sur au moins 15 à 20 secondes pour une estimation initiale crédible.
  • Appliquez une moyenne glissante sur plusieurs battements.
  • Écartez les intervalles physiologiquement impossibles, par exemple moins de 300 ms ou plus de 2000 ms, sauf cas clinique particulier.
  • Vérifiez la qualité du contact optique avant d’afficher une valeur finale.

Pour un projet orienté produit, il est également essentiel de calibrer l’appareil sur plusieurs utilisateurs, plusieurs tonalités de peau, plusieurs températures ambiantes et plusieurs conditions de mouvement. C’est là que les prototypes amateurs diffèrent le plus des dispositifs médicaux certifiés.

Ce que ce calculateur vous apporte

Le calculateur ci-dessus ne remplace pas un moniteur médical, mais il vous donne une base solide pour valider votre montage Arduino. Il vous permet de convertir rapidement des données de capteur IR en BPM, de comparer le résultat à une plage cohérente et de vérifier si votre temps de mesure ou votre configuration d’acquisition sont plausibles. C’est particulièrement utile lors du débogage d’un sketch, du réglage du seuil de détection ou du choix entre plusieurs modules PPG.

En résumé, un bon calcul de pouls Arduino capteur IR repose sur quatre piliers : un capteur correct, un signal propre, une détection de pics robuste et une interprétation physiologique réaliste. Si l’un de ces éléments manque, même le meilleur calcul mathématique ne suffira pas.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top