int pinSensor = 4;
unsigned long TA = 0;
float tiempo = 0;
int estadoAnterior=0;
volatile float RPM=0;
void setup() {
Serial.begin(115200);
pinMode(pinSensor, INPUT);
}
void loop() {
tiempo = Tiempo();
RPM = 60000/tiempo;
float velocidad = RPM*0.001;
Serial.print(" RPM = ");
Serial.print(RPM);
Serial.print(" Velocidad KM = ");
Serial.println(velocidad);
}
int Tiempo(){
unsigned long Ahora = millis();
int estado = digitalRead(pinSensor);
if ((Ahora-TA >=1)&(estado == 1)&(estadoAnterior == 0)){
tiempo = millis() - TA;
TA = millis();
estadoAnterior = 1;
}
if ((estado == 0)&(estadoAnterior == 1)) {estadoAnterior = 0;}
return tiempo;
}