Arduino Drehzahlmesser, Hallsensor + 1.2" 7-segment Backpack Anzeige

Hi

DU wartest eine Sekunde, um dann mit dem BYTE-Wert zu rechnen.
Das klappt nur, wenn in dieser Sekunde der Interrupt nicht öfter als 255x ausgelöst wird.
Ich vermute hier einen Überlauf, dadurch auch die zappelnden Werte.

rmpcount musst Du 'größer' machen, uint16_t (unsigned int) sollte schon passen.
Weiter MUSST Du diese Variable dann atomar auslesen.
Bei Byte ist Das nicht zwingend erforderlich, hier würde ich Das aber trotzdem machen, da Du in der einen Zeile mit dem Wert rechnest und erst zwei Zeilen drunter den Wert zurück auf Null setzt - dazwischen passt locker ein ISR-Aufruf und Dir geht mindestens ein Count verloren.

MfG