// Definindo os pinos das chaves (DIP Switch)
const int chave1 = 19;
const int chave2 = 18;
const int chave3 = 4;
const int chave4 = 5;
const int chave5 = 6;
const int chave6 = 7;
const int chave7 = 8;
const int chave8 = 9;
// Definindo os pinos do LED RGB (cátodo comum)
const int ledVermelho = 1; // Pino para LED vermelho
const int ledVerde = 3; // Pino para LED verde
const int ledAzul = 2; // Pino para LED azul
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32-C3!");
// Configurar os pinos das chaves como entradas
pinMode(chave1, INPUT);
pinMode(chave2, INPUT);
pinMode(chave3, INPUT);
pinMode(chave4, INPUT);
pinMode(chave5, INPUT);
pinMode(chave6, INPUT);
pinMode(chave7, INPUT);
pinMode(chave8, INPUT);
// Configurar os pinos do LED como saídas
pinMode(ledVermelho, OUTPUT);
pinMode(ledVerde, OUTPUT);
pinMode(ledAzul, OUTPUT);
// Inicializar os LEDs apagados
digitalWrite(ledVermelho, LOW);
digitalWrite(ledVerde, LOW);
digitalWrite(ledAzul, LOW);
}
void loop() {
// Leitura do estado das chaves
int estadoChave1 = digitalRead(chave1);
int estadoChave2 = digitalRead(chave2);
int estadoChave3 = digitalRead(chave3);
int estadoChave4 = digitalRead(chave4);
int estadoChave5 = digitalRead(chave5);
int estadoChave6 = digitalRead(chave6);
int estadoChave7 = digitalRead(chave7);
int estadoChave8 = digitalRead(chave8);
// Se a chave 8 estiver acionada, o LED deve ficar desligado
if (estadoChave8 == HIGH) {
Serial.println("chave8 ON");
digitalWrite(ledVermelho, LOW);
digitalWrite(ledVerde, LOW);
digitalWrite(ledAzul, LOW);
}
// Caso contrário, verifica o estado das outras chaves
else {
// Resetar o LED para apagado
digitalWrite(ledVermelho, LOW);
digitalWrite(ledVerde, LOW);
digitalWrite(ledAzul, LOW);
// A lógica para acionar o LED com base nas chaves
if (estadoChave1 == HIGH) {
Serial.println("chave1 ON");
// LED vermelho
digitalWrite(ledVermelho, HIGH);
} else if (estadoChave2 == HIGH) {
Serial.println("chave2 ON");
// LED azul
digitalWrite(ledAzul, HIGH);
} else if (estadoChave3 == HIGH) {
// LED verde
digitalWrite(ledVerde, HIGH);
} else if (estadoChave4 == HIGH) {
// LED vermelho e azul
digitalWrite(ledVermelho, HIGH);
digitalWrite(ledAzul, HIGH);
} else if (estadoChave5 == HIGH) {
// LED azul e verde
digitalWrite(ledAzul, HIGH);
digitalWrite(ledVerde, HIGH);
} else if (estadoChave6 == HIGH) {
// LED verde e vermelho
digitalWrite(ledVerde, HIGH);
digitalWrite(ledVermelho, HIGH);
} else if (estadoChave7 == HIGH) {
Serial.println("chave7 ON");
// LED vermelho, verde e azul
digitalWrite(ledVermelho, HIGH);
digitalWrite(ledVerde, HIGH);
digitalWrite(ledAzul, HIGH);
}
}
delay(100); // Delay para evitar leituras rápidas demais
}