Calcolare il tempo tra due eventi

Standardoil ho eliminato il Serial.print nella ISR e ho lasciato quello nel loop e mi conta in modo "corretto" il passi cioè che se giro più o meno veloce lencoder nello stesso spazio il numero di passi è sempre costante, corretto non proprio perchè legge il passo ogni volta doppio e non capisco il perchè. Eppure non mi sembra sbagliato il codice, mi piacerebbe che Claudio_FF mi spiegasse il suo.