viernes, 13 de marzo de 2015

Apagar un LED mientras esté apretado un botón

En la entrada anterior de este blog hemos visto el caso denominado Encender un LED mientras esté apretado un botón.

Para este caso hemos respetado el código íntegramente y el circuito únicamente cambia en dos puntos que están marcados en la siguiente imagen mediante un circulo de color azul que rodea la resistencia y uno de los cables, que son los dos únicos que cambian.

Este es el proyecto:



/*
 El LED está asociado al pin digital 12.
 El botón está asociado al pin digital 2.
 El LED está permanentemente encendido
 sólo se apaga al presional el pulsador
 */

// Variables estáticas
int pinBoton = 2;   // Declaramos la variable pin del Botón
int pinLed =  12;   // Declaramos la variable pin del Led

// Variables dinámicas
int estadoBoton = 0;  // Variable para estado del botón

void setup() {
// Inicializa el pin del LED como salida:
pinMode(pinLed, OUTPUT);
// Inicializa el pin del botón como entrada:
pinMode(pinBoton, INPUT);
}

void loop(){
// Lee el valor del pin del botón y lo almacena
// en la variable estadoBoton
estadoBoton = digitalRead(pinBoton);

// Chequea si el botón está pulsado:
if (estadoBoton == HIGH) {
// Si es así, enciende el LED:
digitalWrite(pinLed, HIGH);
}

else {
// Si no, lo mantiene apagado:
digitalWrite(pinLed, LOW);
}
}

También podríamos sustituir el código del proyecto anterior por el siguiente código y funcionaría perfectamente.

int estado;
void setup(){
  pinMode(12,OUTPUT);
  pinMode(2,INPUT);
}
void loop(){
  estado = digitalRead(2);
  digitalWrite(12,estado);
  delay(50);
}

No hay comentarios:

Publicar un comentario