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!
Índice
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
- 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’.
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)
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! 🙂