/*
Un relé (o "relay" en inglés) es un dispositivo electromecánico
que actúa como un interruptor controlado por una señal
eléctrica. Básicamente, permite que una corriente eléctrica
controle una corriente mayor, funcionando como un
"puente" entre dos circuitos
*/
#define PIN_BUTTON 14
#define PIN_RELAY 5
volatile bool relayState = 0;
void setup() {
Serial.begin(9600);
pinMode(PIN_BUTTON, INPUT_PULLUP);
pinMode(PIN_RELAY, OUTPUT);
digitalWrite(PIN_RELAY, relayState);
// La función attachInterrupt() se utiliza para configurar una interrupción externa en un pin digital
// Toma tres parámetros:
// El número del pin de interrupción
// La función de la rutina de interrupción que se ejecutará cuando ocurra el evento
// El modo de interrupción (como FALLING, RISING, CHANGE, o LOW)
// al presionar el boton la señal pasa de 1 a 0 (FALLING)
attachInterrupt(PIN_BUTTON, cambiarLed, FALLING);
}
void loop() {
delay(10);
}
void cambiarLed (void) {
relayState = !relayState;
digitalWrite(PIN_RELAY, relayState);
Serial.println(relayState);
}