// Definindo os pinos do botão e LEDs
const int botao = 14; // Pino do botão
const int led1 = 26; // Pino do primeiro LED
const int led2 = 27; // Pino do segundo LED
// Variáveis para controle
unsigned long ultimoTempoDebounce = 0;
unsigned long delayDebounce = 200;
int sequencia = 0; // 0=ambos apagados, 1=LED1 aceso, 2=LED2 aceso
void setup() {
// Configurando os pinos dos LEDs como saída
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
// Configurando o pino do botão como entrada com pull-up
pinMode(botao, INPUT_PULLUP);
// Inicialmente, ambos os LEDs estão apagados
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
}
void loop() {
if (((millis() - ultimoTempoDebounce) > delayDebounce) && (digitalRead(botao) == 0)) {
ultimoTempoDebounce = millis();
sequencia = (sequencia+1)%3;
printf("Apertou %d \n", sequencia);
}
// Controla os LEDs baseado na sequência
switch(sequencia) {
case 0: // Ambos apagados
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
break;
case 1: // LED1 aceso
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
break;
case 2: // LED2 aceso
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
break;
}
}