viernes, 6 de octubre de 2023

ESPHome: Control de un led

En este artículo voy a explicar como controlar un led desde Home Assistant utilizando un dispositivo con ESPHome instalado.


Para ello, conectaremos el led a un puerto del ESP8266 (en mi caso el puerto GPIO4 o D2) a través de una resistencia de 270 ohmios. Recuerda que el positivo del led es la patilla más larga. Por último, conectamos el led a tierra. Es esquema es muy sencillo.


Una vez tenemos conectado nuestro Led al puerto GPIO4 (D2) pasamos a programarlo. Para ello nos vamos a la interfaz de Home Asistant, click en ESPHome y seleccionamos el dispositivo (o creamos uno nuevo).

En el primer caso seleccionamos Edit y añadimos el siguiente código:

# Led simple
output:
  - platform: gpio
    pin: D3
    id: gpio_led
    
light:
  - platform: binary
    name: Led
    output: gpio_led

Primero creamos una salida de datos por el controlar nuestro led y luego creamos la entidad luz con dos estados, es decir, del tipo binario, y lo asociamos a la salida creada anteriormente.

Como siempre, Save e Install. Seleccionamos Wirelessy y esperamos a que cargue el programa.

Una vez ha terminado de cargar el programa nos vamos a Ajustes - Dispositivos y servicios y seleccionamos el dispositivo ESPHome. Nos aparecerá un nuevo control con el nombre designado, es decir, Led.

Podemos probar a cambiar el estado del led de apagado a encendido y viceversa.

Control del brillo

Para controlar el brillo del led utilizaremos PWM (Pulse Width Modulation) con lo que variando el parpadeo del led controlaremos su brillo. Para ello configuraremos nuestra salida del tipo esp8266_pwm (si fuera un ESP32 tendrías que indicar ledc) para que controla la salida por modulación de pulsos.

Además, la luz debemos cambiarla al tipo monochromatic para indicarle que va a ser controlada por PWM. El código quedaría como sigue:

# Led PWM
output:
  - platform: esp8266_pwm
    pin: D2
    id: gpio_led
    
light:
  - platform: monochromatic
    name: Led
    output: gpio_led

Por último, Save e Install. Seleccionamos Wirelessy y esperamos a que cargue el programa

Una vez ha terminado de cargar el programa nos vamos a Ajustes - Dispositivos y servicios y seleccionamos el dispositivo ESPHome. Nos aparecerá nuevamente el control Led. Parece que no ha cambiado nada pero si pulsamos sobre el control nos aparecerá una barra deslizante con la que cambiar el brillo del led.

Ahora, vamos a añadirlo a nuestro panel de control con una tarjeta del tipo Luz con lo que controlamos, no solo el encendido y apagado de led sino también su brillo.


No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.