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