Tanto per incominciare ti chiedo se non sarebbe più utile e comodo effettuare il debounce hardware e non software de pulsante (chiedi e guarda in giro per maggiori info in merito). Credo che, infatti, il debounce software NON sia strada percorribile.
In secondo luogo ti ringrazio di avermi chiarito quello che deve succedere. In sintesi nel momento in cui sento che il tasto sta venendo premuto il led deve cambiare di stato.
In terzo luogo mi domando e dico, non potrei scrivere un programma con una loop vuota, che contiene soltanto la setup() e una funzione di interrupt di una sola riga chiamata al RISING de pin del tasto?
Inoltre mi rispondo che si potrebbe, e sarebbe facile. Devi però avere una serie di conoscenze base:
1)sapere comandare un interrupt
2)sapere scrivere una funzione
3)sapere comandare un led
4)sapere leggere un pulsante.
Lo sai fare?
Infine, PRIMA DI RISPONDERE ti chiedo di seguire le direttive di lord Guglielmo, che temo sia intenzionato a chiudere la baracca se non lo fai