const int botonPin = 2; // Pin del botón
const int ledPin = 13; // Pin del LED incorporado en la mayoría de las placas Arduino
volatile bool ledEncendido = false; // Variable para controlar el estado del LED
void setup() {
pinMode(botonPin, INPUT); // Configura el botón como entrada con resistencia de pull-up
pinMode(ledPin, OUTPUT); // Configura el LED como salida
// Configura la interrupción externa en el flanco de subida (cuando se presiona el botón)
attachInterrupt(digitalPinToInterrupt(botonPin), toggleLed, RISING);
}
void loop() {
// El programa principal no necesita hacer nada aquí, ya que la interrupción controla el LED.
}
void toggleLed() {
// Alterna el estado del LED cuando se activa la interrupción por flanco de subida
ledEncendido = !ledEncendido;
digitalWrite(ledPin, ledEncendido ? HIGH : LOW);
}