bonjour à tous , dans le cadre d'un exercice je dois realiser un programme pour mesurer la frequence cardiaque . il y a de nombreuses exigeances dont celle de faire apparaitre la frequance cardiaque sur le terminal de VSCODE.je possede une carte arduino nano328 mega et voici mon code:#include <Arduino.h>
const int sensorPin = A0; // Broche analogique pour le capteur cardiaque
const int bufferSize = 50; // Taille du tableau de valeurs
int sensorValues[bufferSize]; // Tableau pour stocker les valeurs lues
int sensorIndex = 0; // Index actuel dans le tableau des valeurs
int heartRate = 0; // Stocke la fréquence cardiaque calculée
int threshold = 50; // Seuil pour détecter les battements cardiaques
int maxValue = 0; // Stocke la valeur maximale dans le tableau
void setup() {
Serial.begin(9600); // Initialisation de la communication série
}
void loop() {
// Lire la valeur analogique du capteur
sensorValues[sensorIndex] = analogRead(sensorPin);
// Calculer la moyenne des 50 dernières valeurs lues
int sum = 0;
for (int i = 0; i < bufferSize; i++) {
sum += sensorValues[i];
}
int average = sum / bufferSize;
// Soustraire la moyenne du signal
for (int i = 0; i < bufferSize; i++) {
sensorValues[i] -= average;
}
// Trouver la valeur maximale
maxValue = 0;
for (int i = 0; i < bufferSize; i++) {
if (sensorValues[i] > maxValue) {
maxValue = sensorValues[i];
}
}
// Diviser toutes les valeurs par le maximum
for (int i = 0; i < bufferSize; i++) {
sensorValues[i] = map(sensorValues[i], 0, maxValue, 0, 1023);
}
// Seuillage par une valeur seuil
int beatCount = 0;
for (int i = 1; i < bufferSize; i++) {
if (sensorValues[i] > threshold && sensorValues[i - 1] <= threshold) {
beatCount++;
}
}
// Calculez la fréquence cardiaque en battements par minute (bpm)
heartRate = beatCount * (60 / (bufferSize / 1000));
// Afficher la fréquence cardiaque
Serial.print("Fréquence cardiaque : ");
Serial.print(heartRate);
Serial.println(" bpm");
// Réinitialiser l'index du tableau
sensorIndex = (sensorIndex + 1) % bufferSize;
}
merci d'avoir pris le temps de lire mon message un peu indigeste avec ce code.
bonne soirée