HA ESPHome Tira LED

Integrar una tira LED con ESPHome

Hoy te enseño a integrar una tira LED con ESPHome de forma rápida y sencilla para integrarla en tus automatizaciones.

🥑 Si estás empezando con ESPHome, te recomiendo que veas el taller de la academia para sacarle el máximo partido!
Esphome para novatos

Requisitos previos

Para poder integrar una tira LED con ESPHome necesitas:

  • Instalar ESPHome en Home Assistant
  • Una placa ESP32 o ESP8266 ‘flasheada’ con ESPHome
  • Una tira LED soportada por FastLED
  • Opcionalmente, cables ‘jumper’ o ‘dupont’ para realizar las conexiones

-17%
Tira de luces LED direccionables individualmente, luces de 30/60/144 píxeles/LED/m, PCB negro/blanco, DC5V/12V, WS2811, WS2812B, WS2813, WS2815, 5050RGB
Aliexpress
2,51€ 3,06€
Tira de luces LED direccionables individualmente, luces de 30/60/144 píxeles/LED/m, PCB negro/blanco, DC5V/12V, WS2811, WS2812B, WS2813, WS2815, 5050RGB
Dupont Line-Cable de puente de 40-120 piezas, 10CM, 20CM, 30CM, 40 pines macho a macho + macho a hembra, para KIT de bricolaje
Aliexpress
1,59€
Dupont Line-Cable de puente de 40-120 piezas, 10CM, 20CM, 30CM, 40 pines macho a macho + macho a hembra, para KIT de bricolaje
-66%
Placa de desarrollo ESP32, módulo inalámbrico WiFi, Bluetooth, consumo de energía ultrabajo, doble núcleo, 30 Pines, ESP32-WROOM-32S, 32D, ESP 32
Aliexpress
4,60€ 13,92€
Placa de desarrollo ESP32, módulo inalámbrico WiFi, Bluetooth, consumo de energía ultrabajo, doble núcleo, 30 Pines, ESP32-WROOM-32S, 32D, ESP 32
-67%
Mini Placa de desarrollo WIFI ESP8266 D1, 20 piezas, CH340G, CH340, V2, Usb, Wemos, D1, Mini Nodemcu, Lua, Iot, 3,3 V, Met Pins, 1-ESP-12F
Aliexpress
3,74€ 11,68€
Mini Placa de desarrollo WIFI ESP8266 D1, 20 piezas, CH340G, CH340, V2, Usb, Wemos, D1, Mini Nodemcu, Lua, Iot, 3,3 V, Met Pins, 1-ESP-12F
*Algún precio puede haber cambiado desde la última revisión
  • Por último, si quieres proteger tu dispositivo y tienes impresora 3D puedes diseñar una carcasa o descargar alguna como la nuestra. Si no es tu caso, también puedes comprar una de estas cajitas baratas para alojar tu placa y tus sensores. Sea como sea, verifica antes que las medidas son válidas para tu modelo de placa!

Cableado de la tira LED

Puesto que partimos de la base de que ya has instalado el firmware de ESPHome en tu placa ESP (sino es así, aquí te explico cómo hacerlo), el primer paso que vamos a realizar es el cableado de la tira LED con la placa. Como siempre, te recomiendo que empieces por consultar el ‘pinout’ específico de tu placa. En mi caso voy a utilizar una placa ESP32 wroom-32d (si, las mismas que utilizo con ESPresense) y este es su ‘pinout’.

pinout

Por otro lado, en mi caso voy a utilizar una tira LED direccionable W2812B. Este es un modelo muy popular por su bajo precio y por ser compatible con la mayoría de este tipo de proyectos. No obstante, puedes consultar el listado de modelos compatibles en la documentación de FastLED, el componente de ESPHome que vamos a utilizar.

💡 Las tiras LED direccionables permiten controlar cada LED de forma individual (con distintos colores o intensidad), por lo que permite realizar efectos de iluminación más complejos.

Dependiendo del modelo que estés utilizando tendrás que identificar a qué corresponde cada cable para definir el esquema de conexiones (Google tiene todas las respuestas). En este caso mi tira LED tiene tres cables:

  • El cable rojo proporciona la alimentación a 5 voltios, por lo que irá al pin correspondiente (5V)
  • El cable blanco es el de la conexión de tierra o ‘ground’, e irá conectado a uno de los respectivos pines (GND)
  • El cable verde proporciona los datos y puede ir conectado a cualquier pin disponible (por ejemplo, al GPIO23)
cables

Fichero de configuración

El siguiente paso para integrar una tira LED con ESPHome es acceder al complemento desde el menú lateral de Home Assistant. Pulsa sobre el botón «Edit» del bloque correspondiente a la placa conectada a tu tira LED para acceder al fichero de configuración. Al final del mismo tienes que pegar el siguiente código y hacer las siguientes adaptaciones:

  • Chipset. Indica aquí el modelo correspondiente a tu tira LED.
  • Pin. Indica la denominación del pin al que has conectado el cable de datos (verde en mi caso) de la tira LED.
  • Num_leds. Indica el número de LEDs de tu tira.
  • RGB_order. Aquí tienes que identificar el canal de cada color primario (la ‘R’ corresponde al rojo, la ‘G’ al verde y la ‘B’ al azul). Empieza dejando el código ‘RGB’ y si cuando enciendas la tira observas que, por ejemplo, cuando seleccionas el color verde (‘G’) se enciende de color azul (‘B’) y viceversa, tendrías que invertir el orden de estos canales (indicando el código ‘RBG’).
  • Name. Dale a tu tira el nombre que prefieras.
light:
  - platform: fastled_clockless
    chipset: WS2812B
    pin: GPIO23
    num_leds: 54
    rgb_order: RGB
    name: "Tira LED"

Cuando hayas adaptado el código a tu caso particular, pulsa en «Save» y en «Install» (recuerda que ya puedes utilizar la modalidad ‘wirelessly’).

Una vez se haya actualizado el código en tu placa, automáticamente tendrás una aviso en Ajustes > Dispositivos y servicios, avisando de que un nuevo dispositivo ha sido descubierto. Pulsa en «Configurar» para añadirlo bajo la integración de ESPHome y poder empezar a controlar tu tira LED desde Home Assistant.

Efectos de iluminación

Además de poder encender y apagar la tira, seleccionar el color o el nivel de brillo, al integrar una tira LED con ESPHome también vamos a poder crear efectos de iluminación (siempre que tu tira lo permita).

Para ello lo único que tienes que hacer es añadir al final del código del fichero de configuración de la placa el efecto correspondiente y actualizar el firmware. En la documentación de ESPHome puedes encontrar el código correspondiente a un montón de efectos, listo para «copiar y pegar».

Por ejemplo, si quieres añadir un efecto «arcoiris» el código quedaría de la siguiente forma:

light:
  - platform: fastled_clockless
    chipset: WS2812B
    pin: GPIO23
    num_leds: 54
    rgb_order: GRB
    name: "Tira LED"
    effects:
      - addressable_rainbow:
      - addressable_rainbow:
          name: Rainbow Effect
          speed: 10
          width: 50

¿Dudas?¿necesitas ayuda? entra aquí
Y si te ha gustado, compártelo! 🙂
Contenido exclusivo de Aguacatec
Send this to a friend