const int LED1 = 12; // Pin para el LED 1
const int LED2 = 13; // Pin para el LED 2
const int LED3 = 14; // Pin para el LED 3
const int BTN1 = 15; // Pin para el pulsador 1
const int BTN2 = 16; // Pin para el pulsador 2
const int BTN3 = 17; // Pin para el pulsador 3
bool estadoBtn1 = false; // Estado del pulsador 1
bool estadoBtn2 = false; // Estado del pulsador 2
bool estadoBtn3 = false; // Estado del pulsador 3
void setup() {
Serial.begin(115200);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(BTN1, INPUT_PULLUP);
pinMode(BTN2, INPUT_PULLUP);
pinMode(BTN3, INPUT_PULLUP);
}
void loop() {
// Botón 1
if (digitalRead(BTN1) == LOW && !estadoBtn1) {
estadoBtn1 = true;
digitalWrite(LED1, HIGH);
estadoBtn2 = false; // Desenclavar botón 2
estadoBtn3 = false; // Desenclavar botón 3
digitalWrite(LED2, LOW); // Apagar LED 2
digitalWrite(LED3, LOW); // Apagar LED 3
Serial.println("Botón 1 enclavado, LED 1 encendido");
}
// Botón 2
if (digitalRead(BTN2) == LOW && !estadoBtn2) {
estadoBtn2 = true;
digitalWrite(LED2, HIGH);
estadoBtn1 = false; // Desenclavar botón 1
estadoBtn3 = false; // Desenclavar botón 3
digitalWrite(LED1, LOW); // Apagar LED 1
digitalWrite(LED3, LOW); // Apagar LED 3
Serial.println("Botón 2 enclavado, LED 2 encendido");
}
// Botón 3
if (digitalRead(BTN3) == LOW && !estadoBtn3) {
estadoBtn3 = true;
digitalWrite(LED3, HIGH);
estadoBtn1 = false; // Desenclavar botón 1
estadoBtn2 = false; // Desenclavar botón 2
digitalWrite(LED1, LOW); // Apagar LED 1
digitalWrite(LED2, LOW); // Apagar LED 2
Serial.println("Botón 3 enclavado, LED 3 encendido");
}
// Desenclavar si se presiona otro botón
if (digitalRead(BTN1) == LOW && estadoBtn1 && (digitalRead(BTN2) == LOW || digitalRead(BTN3) == LOW)) {
estadoBtn1 = false;
digitalWrite(LED1, LOW);
Serial.println("Botón 1 desenclavado, LED 1 apagado");
}
if (digitalRead(BTN2) == LOW && estadoBtn2 && (digitalRead(BTN1) == LOW || digitalRead(BTN3) == LOW)) {
estadoBtn2 = false;
digitalWrite(LED2, LOW);
Serial.println("Botón 2 desenclavado, LED 2 apagado");
}
if (digitalRead(BTN3) == LOW && estadoBtn3 && (digitalRead(BTN1) == LOW || digitalRead(BTN2) == LOW)) {
estadoBtn3 = false;
digitalWrite(LED3, LOW);
Serial.println("Botón 3 desenclavado, LED 3 apagado");
}
}
Loading
esp32-s2-devkitm-1
esp32-s2-devkitm-1