Encender y apagar un led con un solo pulsador

Encender y apagar un led con un solo pulsador

Encender y apagar un led con un solo pulsador

interruptor de encendido/apagado de arduino

En la función setup() establecemos el pin 8 como INPUT y el pin 2 como OUTPUT. En la función loop() leemos el valor del pin 8 y lo almacenamos en la variable stateButton. Usando una función if() el Arduino toma algunas decisiones: si el botón está pulsado (stateButton == 1) entonces da tensión al pin 2 (HIGH), si no, si stateButton no es 1 (no está pulsado) no da tensión al pin 2.

Si quieres encender el LED y dejar que permanezca encendido al soltar el botón sólo tienes que deshacerte de la sentencia else (como puedes ver en el sketch 2, pero no podrás apagarlo sin usar el tercer sketch. En realidad puedes desconectar la placa de la fuente de alimentación o del USB.

En este código mostraré cómo puedes encender el LED cuando pulses el botón y luego apagarlo cuando vuelvas a pulsar el botón. El estado inicial del LED es apagado pero si quieres que esté encendido tienes que cambiar int stateLED = HIGH;

¡Únete a la conversación! Cancelar respuesta¡Error! Por favor, rellena todos los campos.Debes estar conectado para publicar un comentario. Marque esta casilla para recibir notificaciones de los comentarios de seguimiento por correo electrónico. También puedes suscribirte sin comentar.

arduino 2 pulsador 1 led código

En primer lugar, como mejor práctica, utilizamos algunas definiciones para mantener el número de pin para el LED y el botón pulsador. De esta manera, si has utilizado pines diferentes a los míos, sólo tienes que modificar esas 2 líneas. Además, en el futuro si quieres cambiar el LED del pin 8 al pin 11 por ejemplo, puedes modificar esta línea sin tocar nada más en el código.

En la función de bucle, empezamos leyendo el estado del botón con la función digitalRead(). Como tenemos una resistencia pull down en el botón, sabemos que el estado no pulsado nos dará el valor LOW.

(Nota: si se utiliza una resistencia pull up, o ninguna resistencia – con la opción INPUT_PULLUP para pinMode – esto sería lo contrario. HIGH cuando el botón no está presionado, y LOW cuando está presionado).

Con la condición, sólo entramos en el siguiente bloque de código si el estado actual y el último son diferentes. Si los 2 estados son iguales, entonces no entramos en el if y la función de bucle está terminada para este turno.

Aquí cambiamos el estado del LED. No soy un gran fan de las funciones de una sola línea, pero esta es realmente útil cuando sólo necesitas alternar un estado. Esto te ahorrará 3-4 líneas de código para algo realmente trivial.

interruptor de encendido/apagado del led

Puede cambiar globalmente el texto de estado con el comando StateText. Reglas~ Utilice reglas para enviar mensajes a diferentes temas MQTT o enviar comandos a otros dispositivos Tasmota cuando el estado del interruptor (definido por SwitchMode) cambia. Para ignorar el comportamiento predeterminado, defina una regla que se active en Switch<x> para todos los cambios de estado o en Switch<x>#State para cambios de estado específicos. Si una regla coincide sólo con ciertos estados, el comportamiento por defecto del interruptor se suprime sólo para esos estados. Ejemplo Hacer que Switch1 publique cualquier cambio de valor en stat/custom-topic/SWITCH1 y no controle Power1 Backlog SwitchMode 1; SwitchTopic 0

pulsador como interruptor de palanca arduino

En primer lugar, como mejor práctica, utilizamos algunas definiciones para mantener el número de pin para el LED y el botón pulsador. De esta manera, si has utilizado pines diferentes a los míos, sólo tienes que modificar esas 2 líneas. Además, en el futuro si quieres cambiar el LED del pin 8 al pin 11 por ejemplo, puedes modificar esta línea sin tocar nada más en el código.

En la función de bucle, empezamos leyendo el estado del botón con la función digitalRead(). Como tenemos una resistencia pull down en el botón, sabemos que el estado no pulsado nos dará el valor LOW.

(Nota: si se utiliza una resistencia pull up, o ninguna resistencia – con la opción INPUT_PULLUP para pinMode – esto sería lo contrario. HIGH cuando el botón no está presionado, y LOW cuando está presionado).

Con la condición, sólo entramos en el siguiente bloque de código si el estado actual y el último son diferentes. Si los 2 estados son iguales, entonces no entramos en el if y la función de bucle está terminada para este turno.

Aquí cambiamos el estado del LED. No soy un gran fan de las funciones de una sola línea, pero esta es realmente útil cuando sólo necesitas alternar un estado. Esto te ahorrará 3-4 líneas de código para algo realmente trivial.

Acerca del autor

admin

Ver todos los artículos