Programme pour capteur cardiaque

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

Topic en doublon.
La version postée sur le forum général avait déjà été déplacée sur le forum francophone.