Stap 8: Uitleg en berekening
Dit programma controleert in principe de IR-sensor waarde voortdurend en met de hoogste prioriteit met behulp van onderbreekt.
De Arduino Uno heeft 3 interrupts en de Interrupt 0 is 2 pin op de arduino.
Deze regel hecht een interrupt aan 2 pin op de arduino in "Stijgende" modus. Dit betekent dat wanneer de sensor van laag naar hoog, de functie RPMCount() gaat; wordt aangeroepen.
Dit betekent dat de functie in een revolutie, tweemaal zal worden aangeroepen ( REV ++ ). Daarom actualREV = REV / 2.
Voor het berekenen van de werkelijke RPM, moeten we de tijd die nodig is voor een revolutie. En (millis() - tijd) is de tijd die nodig is voor één volledige omwentelingen.
In dit geval laat t de tijd genomen voor een volledige omwenteling, dus het totale aantal omwentelingen RPM in 60 sec ( 60 * 1000 milliseconden ) is:
rpm = 60 * 1000 / t * actualREV = > rpm = 60 * 1000 / (millis() - tijd) * REV/2
OF rpm = 30 * 1000 / (millis() - tijd) * REV;