Paso 8: Explicación y cálculo
Este programa básicamente controla valor de sensor IR constantemente y con la más alta prioridad usando interrumpe.
El Arduino Uno tiene 3 interrupciones y la interrupción 0 es pin 2 en el arduino.
Esta línea conecta una interrupción al pin 2 de arduino en el modo de "Levantamiento". Esto significa que cada vez que el sensor va de bajo a alto, la función RPMCount(); se invoca.
Esto significa que en una revolución, la función se llamará dos veces ( REV ++ ). Por lo tanto, actualREV = REV / 2.
Para calcular las RPM reales, necesitamos el tiempo para una revolución. Y (millis() - tiempo) es el tiempo tomado para una revoluciones.
En este caso, sea t el tiempo de una vuelta completa, por lo que el número total de revoluciones RPM en 60 segundos ( 60 * 1000 milisegundos ) es:
RPM = 60 * 1000 / t * actualREV = > rpm = 60 * 1000 / (millis() - tiempo) * REV/2
O rpm = 30 * 1000 / (millis() - tiempo) * REV;