unsigned long lastflash;
int RPM;
void setup() {
Serial.begin(9600); //відкрити порт
attachInterrupt(0,sens,RISING); //подключити преривання на 2 пін при збільшенні сигналу
pinMode(3, OUTPUT); //3 пін как вихід
digitalWrite(3, HIGH); //подати 5 вольт на 3 пін
}
void sens() {
RPM=60/((float)(micros()-lastflash)/1000000); //розрахунок
lastflash=micros(); запамятати час останнього обороту
}
void loop() {
if ((micros()-lastflash)>1000000){ //якщо сигналу немає більше секунди
RPM=0; //вважаємо сто RPM 0
}
Serial.println(RPM); //вивід в порт
delay(50); //затримка для стабільності
}