Compte tour laser (compte tour, compteur de passage ect...)

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