Vitesse et capteur Hall

Après réflexion j'ai fait un code qui compte le nombre de micro secondes en 1 tour, ça fonctionne bien... Maintenant le problème est de convertir le temps en fonction de la distance que parcourt la roue en 1 tour (1,8m environ, celle ci fait 556 tours pour faire 1km...) et là ça fait mal au cerveau de réfléchir à une conversion entre 2 unités différente haha :p, je n'arrive pas à trouver ce foutu calcul qui pourtant ne doit pas être bien compliqué ! Avez vous une idée ? :smiley:

//float vitesse = 0; // Vitesse de la roue (du véhicule)
//float rpm = 0; // Trs/min de la roue
unsigned int chrono = 0; // Valeur courante du chrono
unsigned int chrono_depart = 0; // Valeur de départ du chrono
//unsigned int duree_test = 3000; // Durée du test de "vitesse" en ms (ex : 3 sec = 3000ms)
int capteur = 2; //Pin d'entrée du capteur hall
unsigned int compteur = 0; //Valeur de compteur (compte chaque passage de l'aimant devan le capteur hall)
//float diametreR = 0.6; // Diametre de la roue /10 (ex: diamètre = 60cm /10 = 0.6)
boolean x = false;

void compteurInc()
{
  compteur++; //Incrémentation du compteur
}

void setup()
{
  Serial.begin(9600);

  chrono_depart = micros();

  //La fonction compteurInc sera appelée sur chaque front descendant (FALLING) de "capteur" (pin 2=interuption 0)
  attachInterrupt(0, compteurInc, FALLING);
  digitalWrite(capteur, HIGH);
}

void loop()
{
  x = false;
  
  while (x == false){

    if (compteur == 1) {
      chrono = micros();
    }
     
    if (compteur == 2) {
      detachInterrupt(capteur);
      Serial.println(chrono - chrono_depart);
      x = true;
      attachInterrupt(0, compteurInc, FALLING);
    }
  
  }

   chrono_depart = micros(); // Mise à zéro du chrono de départ
   compteur=0; // Mise à zéro du compteur
   
}