Auxílio projeto acender/desligar + interrupção

Estou montando um projeto para que quando eu pressione um botão, um led fique aceso durante 1 segundo e desligado por 4 segundos, isso em um loop infinito, até que eu pressione novamente o botão para interromper o ciclo. Gostaria de um método para realizar esse processo em que ao desligar o botão, eu possa interromper o ciclo e não ter que esperar o sim para que o mesmo seja encerrado e posteriormente, ao ligar, possa iniciar o ciclo do início e não de onde parou.

olá, no caso do controle de verificação do botão mesmo na execução dos leds, vc pode usar o millis() como já discutido com o @Matheus_Avelino, já a parte da interrupção e voltar ao inicio da excussão quando o botão é acionado vc pode usar um laço while que engloba todo o código com o parâmetro do estado da chave.
recomendo que assista a este video para entender o millis :

2 curtidas