Pour le rpm, ça reviendrais au même de faire 30000(au lieu de 30*1000)/(millis() - timeold)*half_revolutions; ?
Oui c'est juste pour la clarté de la chose. le 1000 c'est pour indiquer que l'on manipule des millisecondes .
Pour une impulsion par tour il faut effectivement mettre 60.
Un exemple:
rpm = 60000/(millis() - timeold)*revolutions;
si révolution = 1
si (millis() - timeold) = 1000 1000 millisecondes = 1s
rpm = 60000/1000 = 60 tour/min