j'ai écris un petit programme qui devrais compter du temps entre deux changements d’état d'un contact;mais je m'aperçois ici que le temps de départ est
égal au temps d’arrivée c'est pour cela que le programme ne fonctionne pas,et je ne comprends pas pourquoi,si quelqu'un pouvais m'aider merci beaucoups
cordialement
F.Thomas.
unsigned long tempsArrive = 0; unsigned long tempsDepart = 0; float duree=0.0; float vitesse=0.0; int val_broche1=0; int broche1=2; void setup(){ Serial.begin(9600); pinMode(broche1,INPUT); } void loop(){ val_broche1=digitalRead(broche1); while(val_broche1==HIGH) { val_broche1=digitalRead(broche1); } tempsDepart = millis(); Serial.print("tempsDepart=" ); Serial.println(tempsDepart/1000 ); val_broche1=digitalRead(broche1); if(val_broche1==LOW) { tempsArrive=millis(); Serial.print("tempsArrive=" ); Serial.println(tempsArrive/1000 ); duree =tempsArrive-tempsDepart; Serial.print("duree="); Serial.println(duree); vitesse=(1/duree)*2.13*1000*3.6; Serial.print("vitesse="); Serial.println(vitesse); } delay(100); }