Salut, sans utiliser de delay tu peux faire comme ça:
unsigned long old_millis;
bool light_state;
void loop()
{
if ( millis() - old_millis >= 1000 )
{
light_state = !light_state;
digitalWrite( led, light_state );
Serial.println( light_state ? "The Lamp is ON" : "The Lamp is OFF" );
old_millis = millis();
}
}
Dans ton code, même si tu assigne une valeur HIGH à "derniere", puis une valeur LOW une seconde plus tard, alors ton "if (derniere == HIGH)" ne sera jamais true, puisque le code est séquentiel