Ambilight Custom

16 de Enero, 2021

Hace un tiempo, no recuerdo por qué motivo, me encapriché con una cosa que vi en algunas TVs llamado “ambilight”.

La idea consiste en poner una matriz de leds en la parte trasera de la pantalla y que se coloreen dinámicamente en función del tono de la imagen en cada punto. Esto da una sensación de mayor amplitud a la pantalla y causa menos fatiga a los ojos al visionarla por la noche. O eso dice la publicidad al respecto ;)

Lo malo de este sistema es que está patentado por Phillips y mi TV era una Samsung.

Así que tocaba subirse las mangas de la camisa…

Preparación

Tras un poco de investigación, llegué a que necesitaba lo siguiente:

  • Tira de leds programable / Tira WS2812B de 5 metros, 60 leds/metro
  • Microcontrolador para la tira / Wemos D1 Mini + WLED
  • Capturadora de imagen / Capturadora HDMI - USB DIWUER
  • Procesador de imagen / Raspberry Pi 4b + Hyperbian
  • Fuente de alimentación para la tira / Calculé que necesitaba unos 50W (5V/10A) y compré una de esa potencia

Mark 1

El objetivo del prototipo inicial era conseguir ensamblar el microcontrolador de la tira con el software WLED para mostrar patrones pre-configurados en la tira led. Básicamente, poder controlar los colores de la tira.

Preparaciones iniciales

Detalle del ensablaje del Mark 1

Es una maravilla que haya una comunidad de entusiastas detrás de cada proyecto que puedas imaginar. Hacer un montaje inicial sobre un protoboard y configurar WLED fue súper fácil. En cuestión de sólo unas pocas horas, ya podía enviar cualquier patrón de color a la tira desde mi móvil.

Los LEDs están... VIVOS!

Con WLED listo y funcionando, el siguiente objetivo era sincronizar los LEDs con el contenido de una pantalla.

Como la TV está en el salón y prototipar sobre una Raspberry no es lo más rápido, hice la prueba utilizando Hyperion en mi PC con windows para capturar la imagen del propio sistema operativo (omitiendo por ahora la capturadora).

Este paso me dió un poco más de guerra, pero sobre todo trasteando con los settings del software. Aún así, creo recordar que sólo me llevó un par de horas más.

¡Todo funcionando! Cutre, pero funcionando...

Mark 2

¡Pues ya estaría! Bueno no… Funcionar funcionaba todo, pero estaba bastante feo. Tocaba iterar el prototipo.

El objetivo del “Mark 2” (igualito que Ironman oye…) era compactar la madeja de cables de las primeras pruebas en algo un poco más robusto y fiable.

Aquí todavía no había trabajo de soldadura, sino un protoboard azul pequeñito y bastante cinta aislante. Todavía bastante cutre pero bastante más manejable y ya no se iría todo al carajo si se caía de la mesa o cualquier cosa.

Bastante mejor, pero todavía muy "proto"

Con este prototipo ya tenía una idea aproximada de qué tamaño necesitaría para la versión final. También me sirvió para hacer varias pruebas con distintas capacidades de condensadores, que actúan como filtro de las señal que le llega a la tira.

Mark 3

El objetivo del tercer y último prototipo era dejar el controlador lo más miniaturizado y decente posible, con una buena encapsulación. Debía ser también fácilmente desmontable y re-montable en caso de que tuviera que hacer modificaciones posteriores.

Esta vez ya sí con el soldador en mano, recorté un trocito de PCB al mínimo de tamaño que necesitaba e hice las conexiones básicas sobre la misma con un poco de cariño y estaño.

El conector de alimentación lo cambié por otro más pequeño posteriormente para que entrara bien en la caja

Con un taladro y un torno manual, le hice unos agujeros a medida a una cajita que tenía en el taller y fijé el terminal de alimentación a la misma, por si a futuro necesitaba desmontarla de nuevo.

Con conectar el blanco con el blanco y el negro con el negro... todo listo para funcionar

Todo encapsulado y mucho más bonito :)

Instalación final

Con el microcontrolador listo y ensayado, todavía faltaban algunos ajustes.

En primer lugar, la tira tiene una flexibilidad limitada, así que no puede doblarse 90º sin más para cubrir las esquinas. La solución es soldar una triada de cables en cada una de las esquinas.

Limando aristas...

A partir de aquí el resto fue configurar la Raspberry con Hyperbian (una imagen de OS corriendo Hyperion de manera exclusiva) y repetir las pruebas de las versiones anteriores.

A continuación algunos vídeos del resultado final:

Probando patrones de WLED

Probando un vídeo colorido ¡El alucinante trailer de TemTem!

Probando el mejor videojuego de la historia