const int botaoPreto = 16; // Pino do botão preto
const int botaoAzul = 12; // Pino do botão azul
const int botaoVerde = 11; // Pino do botão verde
const int ledVermelho = 17; // Pino do LED vermelho
const int ledAzul = 14; // Pino do LED azul
const int ledVerde = 13; // Pino do LED verde
void setup() {
pinMode(botaoPreto, INPUT);
pinMode(botaoAzul, INPUT);
pinMode(botaoVerde, INPUT);
pinMode(ledVermelho, OUTPUT);
pinMode(ledAzul, OUTPUT);
pinMode(ledVerde, OUTPUT);
digitalWrite(ledVerde, LOW);
digitalWrite(ledAzul, LOW);
digitalWrite(ledVermelho, LOW);
}
void loop() {
// Lendo o estado do botão preto
int estadoBotaoPreto = digitalRead(botaoPreto);
if (estadoBotaoPreto == HIGH) {
// Se o botão preto está pressionado (HIGH)
digitalWrite(ledVermelho, HIGH); // Acende o LED vermelho
// Habilita os botões azul e verde
int estadoBotaoAzul = digitalRead(botaoAzul);
int estadoBotaoVerde = digitalRead(botaoVerde);
// Controle do LED azul
if (estadoBotaoAzul == HIGH) {
digitalWrite(ledAzul, HIGH); // Acende quando botão azul está HIGH
} else {
digitalWrite(ledAzul, LOW); // Apaga quando botão azul está LOW
}
// Controle do LED verde (comportamento invertido)
if (estadoBotaoVerde == LOW) {
digitalWrite(ledVerde, HIGH); // Acende quando botão verde está LOW
} else {
digitalWrite(ledVerde, LOW); // Apaga quando botão verde está HIGH
}
} else {
// Se o botão preto não está pressionado (LOW)
// Apaga todos os LEDs imediatamente
digitalWrite(ledVermelho, LOW);
digitalWrite(ledAzul, LOW);
digitalWrite(ledVerde, LOW);
}
// Pequeno delay para evitar leituras muito rápidas
delay(10);
}