Bonjour,
Dans UpdateANEMO, il ne faut pas tester l'état de l'entrée, mais le changement d'état.
void UpdateANEMO()
{
static byte etatPrecedent=LOW;
//lecture du capteur
byte etat = digitalRead(pinANEMO);
if (etat && etat!=etatPrecedent)
{
deltaTime = (millis() - millis_old) / 1000.0 ; // div en 1000 pour avoir le résultat en seconde
millis_old = millis(); // remise à 0 du compteur pour capturer la différence de temps au prochain tour
}
etatPrecedent=etat;
}
Comme tu fais la mesure dans la loop, tu ne vas obtenir des résultats corrects acceptables que pour les faibles vitesses. Tu dois utiliser une interruption pour la mesure de durée.
De plus tu calcules la vitesse en tr/s et à l'affichage tu dis que c'est des tr/min
Serial.print(NombreTourSec);
Serial.print(" tr/min\r\n");