Help vitesse moyenne avec un capteur à effet hall

Bonjour merci d'avoir répondu donc j'ai fais comme vous m'avez dis je ne sais pas si c'est ok

float nbmesure = 0; // nombre de mesure
float moy = 0; //  moyenne variable
unsigned int capteur = 2; // Capteur effet hall
unsigned long chrono; // Valeur courante du chrono
unsigned long chrono_depart = 0; // Valeur de depart du chrono
unsigned long chrono_2; // Valeur courante du chrono 2
unsigned long chrono_depart_2 = 0; // Valeur de depart de chrono 2
unsigned long periode; // La periode calcule pour un tour de roue
unsigned int duree_inactivite = 5000; // Duree d'inactivite de la vitesse si le kart n'avance pas pendant 5 seconde
float vitesse_moyenne = 0; // Variable de la vitesse moyenne
float vitesse = 0; // Variable de vitesse
float periR = 1.7; // Périmetre de la roue en m d*pi/100
bool flagMesure = false; // Concerne la mesure de la vitesse



void compteurInc()
{
  chrono = micros();
  periode = chrono - chrono_depart;
  chrono_depart = chrono;
  flagMesure = true; // On a une mesure de periode valide
}
void setup()
{
  Serial.begin(9600); // Initialisation du moniteur

  chrono_depart_2 = millis();

  // La fonction compteurInc est appelée sur chaque front descendant (FALLING) du "capteur" (PIN 2 = interuption 0)
   attachInterrupt(0, compteurInc, FALLING);
   digitalWrite(capteur, HIGH);
   
   
 

}

void loop()
{
  chrono_2 = millis();

  if (flagMesure == false && (chrono_2 - chrono_depart_2 > duree_inactivite)){
    vitesse = 0;
    Serial.print(vitesse,0);
    Serial.println(" km/h");
    moy=moy+vitesse;
    nbmesure=nbmesure+1;

if (nbmesure>0);
   moy=moy/nbmesure;
    Serial.println("moy");
    moy=0;
    nbmesure = 0;



    Serial.println("km/h");
    delay(500);
  }
  else if (flagMesure)
  {
    noInterrupts();
    unsigned long t = periode;
    flagMesure = false;
    interrupts();
    vitesse=periR/1000/(t/1e6/3600); // On calcule la vitesse en fonction de la période et de la distance que parcourt la roue en 1 tour (périmètre).
    Serial.print(vitesse,1);
    Serial.println(" km/h");
    chrono_depart_2 = millis(); // On remet à zéro le chronomètre de départ 2 (compteur d'inactivité) 
  }

 
}