Problema con interrupt e accensione led temporizzata

così secondo me funziona

bool state = false;
unsigned long previousMillis = 0;
const long interval = 5000;
//unsigned long currentMillis;  non serve
const byte led = 8;

void setup() {
   attachInterrupt(0, interruptLed, RISING);
   pinMode(led, OUTPUT);
}

void loop() {
   if (state) {
      state = false;
      previousMillis = millis();
      //lcd.backlight();
      digitalWrite(led, HIGH);
   }
   if (millis() - previousMillis >= interval) {
      digitalWrite(led, LOW);
   }
}

void interruptLed() {
   state =  true;     // meglio così altrimenti hai problemi di debounce
}