#define led_pin 9
#define btn_pin 2
volatile long long last_mod_ledv = millis();
volatile int cont = 0, last_cont = 0;
long long led_interval = 5000;
void handleSW () {
digitalWrite(led_pin, HIGH);
last_mod_ledv = millis();
cont++;
}
void setup () {
Serial.begin(9600);
pinMode(led_pin, OUTPUT);
pinMode(btn_pin, INPUT_PULLUP);
attachInterrupt(INT0, handleSW, CHANGE);
}
void loop () {
if (cont != last_cont) {
Serial.print("interr: ");
Serial.println(cont);
}
if (millis() - last_mod_ledv > led_interval)
digitalWrite(led_pin, LOW);
last_cont = cont;
}