Arduino para 4º de ESO
Dejar encendido un LED con un pulsador pull-down
#define PIN_BOTON 5 //Pin al que conectamos el botón
#define PIN_LED 8 //Pin al que conectamos el led
byte estado_anterior = 0;
byte estado_nuevo; //Definición de variables
byte estado_led = LOW;
void setup() {
pinMode(PIN_BOTON, INPUT); //Declaramos los pines de entrada y salida
pinMode(PIN_LED, OUTPUT);
}
void loop() {
estado_nuevo = digitalRead(PIN_BOTON); //Leemos el estado del botón
if ((estado_anterior == 0) && (estado_nuevo == 1)) { //Condición del «clic»
cambiar_estado_led();
}
estado_anterior = estado_nuevo; //Actualizamos el estado del pulsador
delay(10); //Una pausa para no volvernos locos
}
void cambiar_estado_led() { //Función para cambiar el estado del led
if (estado_led == LOW) { //Si está apagado lo encendemos
digitalWrite(PIN_LED, HIGH);
estado_led = HIGH; //Ahora el estado del led será encendido
}
else { //Si está encendido lo apagamos
digitalWrite(PIN_LED, LOW);
estado_led = LOW; //Ahora el estado del led será apagado
}
}
Obra publicada con Licencia Creative Commons Reconocimiento No comercial Compartir igual 4.0