Serielle Schnittstelle und LCD

Die Interruptroutine muß so kurz wie möglich sein um beendet zu sein wenn ein nächster Interrupt kommt; also keine Ausgabe aufs Display oder auf die serielle Schnittstelle in der Interruptroutine. Nur Abspeichern der aktuellen Zeitdifferenz. Dies auch weil in der Interruptroutine millis() nicht weitergezählt wird. Dei Ausgabe aufs Display und die Seriele Schnittstelle machst Du 1 bis 2 mal die Sekunde in der loop() - Funktion.

"rpm = (1/((diffTime/1000)))*60;" kann man umformen damit die Rechnung einfacher ist:
"rpm= 60000/diffTime;) macht das gleiche und ist nur 1 Rechenoperation.

Grüße Uwe