const int boton1Pin = 2; // Pin del primer botón
const int boton2Pin = 3; // Pin del segundo botón
const int ledPin = 10; // Pin del LED incorporado en la mayoría de las placas Arduino
volatile bool ledEncendido = false; // Variable para controlar el estado del LED
volatile bool boton1Presionado = false; // Variable para rastrear el estado del primer botón
void setup() {
pinMode(boton1Pin, INPUT_PULLUP); // Configura el primer botón como entrada con resistencia de pull-up
pinMode(boton2Pin, INPUT_PULLUP); // Configura el segundo botón como entrada con resistencia de pull-up
pinMode(ledPin, OUTPUT); // configura el LED como salida
// Configura interrupción externa para el primer botón en el flanco de bajada (cuando se presiona el botón)
attachInterrupt(digitalPinToInterrupt (boton1Pin), boton1Interrupcion, FALLING);
// Configura interrupción externa para el segundo botón en el flanco de bajada (cuando se presiona el boton)
attachInterrupt(digitalPinToInterrupt (boton2Pin), boton2Interrupcion, FALLING);
digitalWrite(ledPin, LOW);
Serial.begin(9600);
}
void loop() {
}
void boton1Interrupcion() {
// Función de interrupción para el primer boton
boton1Presionado = !boton1Presionado;
digitalWrite(ledPin, HIGH);// Alterna el estado del primer botón
ledEncendido = true;
Serial.println("LED encendido");
}
void boton2Interrupcion(){
// Función de interrupción para el segundo botón
boton1Presionado = false; // Apaga el LED cuando se presiona el segundo botón
ledEncendido = false;
digitalWrite(ledPin, LOW);
Serial.println("LED apagado");
}