Je te mets un bout de code d'un de mes projets :
//if (millis() - timeold > 700 && FilteredSpeed > 0){ FilteredSpeed=0; }
odoDist=odo+distance[top]/100000;
if (millis() - timeold > 500 && Speed > 0){
Speed=0.00;
}
if (rpmcount >= 6) {
Speed = 0.002018/36/(millis() - timeold)*rpmcount*1000*3600;
/*
if (Speed > FilteredSpeed + 10 || Speed < FilteredSpeed - 10 )
{
Speed=FilteredSpeed;
}
FilteredSpeed=lpfilter(Speed*.9+(FilteredSpeed*.1), filterVal , FilteredSpeed);
*/
timeold = millis();
rpmcount = 0;
}
if (millis()-TimeOldSpeed >100) // && newdata == false)
{
if (Speed < 10){
lcd.setCursor(14, 0) ;
lcd.write(' ') ;
}
lcd.setCursor(10, 0) ;
//lcd.print(gps.f_speed_kmph()) ;
lcd.print(Speed,2) ; //lcd.print(FilteredSpeed) ;
lcd.setCursor(9, 1) ;
lcd.print(odoDist,3) ; // affiche la distance totale parcourue
TimeOldSpeed=millis();
}