Datos del producto
Nombre de la revisión:ADALIGHT con Arduino por Ilion… o como hacerte tú mismo un Ambilight de Phillips
Comentarios:En el FORO
Datos de la revisión
Revisado por:Gerard Serra (Ilion)
Fecha revisión:30 de septiembre de 2012
Hardware empleado:Arduino Uno

Hola otra vez, hoy voy a enseñaros que no hace falta ser un súper entendido en el mundo de Arduino y de la electrónica para lograr cosas espectaculares ( a mi me lo parecen).
Mi objetivo es animar a la gente que tiene ganas y a lo mejor algo de miedo a adentrarse en este mundillo de placas, cables, botones, leds y demás componentes…

Seguramente habréis visto en las tiendas esas televisiones phillips que emiten luz desde el marco de la pantalla. Para quien no lo conozca, no hablo de una luz ambiente fija, sino de una luz que sale del marco de la televisión y que es acorde con los colores de la imagen a lo ancho y largo del marco de la pantalla. Es como si el marco de la TV formase parte de la imagen..

Y como una imagen vale más que 1000 palabras… este es el invento original:



Este sistema lo tienen patentado y son los únicos que lo comercializan. Así que… si como yo tu TV es de otra marca, tienes un pc conectado a ella o a cualquier monitor y te gustaría tener algo similar sigue leyendo sobre mi primer proyecto con Arduino…..


-NOTA IMPORTANTE: En mi caso el pc que tengo conectado a la TV funciona bajo Linux (Ubuntu 11.10) así que todas las explicaciones a continuación son en base a ese sistema. También hay versiones para Windows de todos los programas necesarios así que no debería ser demasiado difícil adaptar mi configuración a un entorno Windows.. Si alguien se anima tiene mi apoyo y mi ayuda en lo que pueda a través del foro smile

Hace ya unos meses que descubrí que había gente que construía diferentes sistemas para imitar el ambilight, cada uno con sus pros y sus contras. Pero todos se basan en la misma idea: unos leds rgb, una placa que controla los leds y un pc que reproduce el vídeo y que a través de un software envía a la placa la información sobre cómo y cuándo debe encender los leds.

A partir de aquí los hay que usan simples leds rgb, leds direccionables, más o menos potentes, placas caseras con diferentes chips, Arduino con o sin tarjetas de expansión específicas para controlar leds, etc la verdad es que hay variedad en el tema, cada uno lo monta a su manera, aquí una pequeña muestra de esa diversidad.

Así que después de valorar las diferentes opciones me decidí por seguir el tutorial de adafruit.

Lo elegí porque me pareció no demasiado difícil y sólo tenía que comprar los led ya que el Arduino Uno ya lo tenía, además en la misma web venden el kit de leds + transformador de corriente. Aunque… como soy un tío valiente (y pobre sad ) al final acabé comprando los leds en ebay (unos 28€) y reciclando un transformador viejo que tenía por casa que me servía, así que ahorré unos eurillos..

MATERIALES NECESARIOS

-Arduino Uno (Mega, nano,etc pero NO Leonardo)
-1 Tira led direccionable con chip WS2801 (en mi caso 25 leds)
-1 transformador de corriente acorde con las especificaciones de los leds (en mi caso 5v 2A)
-1 un condensador electrolítico (100uF)
-1 soporte para los leds (Aquí la imaginación es libre)
-1 Pc con un usb disponible conectado a la TV o monitor

En el apartado SOFTWARE necesitaremos:
-El entorno de desarrollo de Arduino
-El entorno de desarrollo de Processing
-Los ficheros de Adalight para Arduino
Boblight
Lightpack (opcional pero muy útil para posicionar los leds)

Sobre los leds hay algo MUY IMPORTANTE, para este proyecto no sirve cualquier led rgb, tienen que ser leds que incorporen el chip WS2801 y sólo estos funcionarán con este sistema, mucho ojo con esto porque la mayoría de tiras led estándar que se venden sólo pueden cambiar el color de la tira completa no poner un led de cada color, necesitamos leds direccionables con el chip WS2801.

Otra cosa importante a tener en cuenta es la placa Arduino a utilizar, como se indica en el tutorial de adafruit el Arduino Leonardo no es compatible, otros arduinos más viejos deben funcionar sin problema.

MANOS A LA OBRA

Si hubiera comprado los leds en adafruit me hubiera ahorrado problemas a la hora de conectar los cables al Arduino y a la corriente, pues parece ser que no hay un estándar sobre el cableado de los leds así que me tuve que buscar la vida para identificar cada cable.

Antes de nada hay que identificar el principio y el final de la tira de los led, ya que los leds se alimentan desde el final de la tira y se conectan al Arduino en el principio de la tira, es decir en el otro extremo. Aquí hay que destacar que el hecho de que la tira led lleve un conector en uno de los extremos no quiere decir que este sea el principio o el final, así que tester en mano.. a probar toca, primero la corriente y luego el resto .

Por suerte mirando el circuito impreso al que está conectado cada led puedo ver que hay unas letras serigrafiadas y consigo leer 5v. (cable rojo) Bien! uno localizado, ya sólo falta GND, CLOCK y DATA.

Una vez conectado todo nos bajamos el zip de Adalight donde tenemos diferentes programas para hacer pruebas, empezaremos con el entorno Arduino y cargamos en la placa el programa LEDstream (los otros dos programas son para el entorno Processing que usaremos mas adelante). Una vez cargado el programa en el Arduino nos servirá para comprobar que hemos conectado todo correctamente.

Esto es importante No seguir avanzando en el tutorial hasta que los leds se enciendan y hagan la secuencia del cambio de color correctamente!!! Esta parte nos tiene que servir para verificar que el conexionado de los cables al Arduino y a la corriente.

Un problema que me encontré es que los leds no se encendían de manera uniforme ni el brillo era el mismo según el color del led. Después de investigar por internet y revisar el datasheet del WS2801 me di cuenta de que hacía falta un condensador electrolítico para conseguir una alimentación más estable, así que le puse el condensador (de 100uF) entre el transformador de corriente y la tira led ( positivo a 5v y negativo a GND y a cualquier GND del Arduino).

Finalmente, después de darle mil vueltas a los cables conseguí conectar correctamente los led y el Arduino al principio de la tira led a los pines 13 y 11.


Ahora sabemos que la parte electrónica funciona correctamente, ahora pasamos al software…
Seguimos instalando el entorno de desarrollo de Processing. Recomiendo cerrar el software de Arduino ya que son muy parecidos y es fácil equivocarse y cargar el programa en el entorno que no es…


Una vez vemos que todo funciona ya podemos cargar en la placa Arduino desde Processing el sketch definitivo Adalight.

Aquí acaba el tutorial de Adafruit, ya podemos poner un vídeo en pantalla completa y los leds deben responder acorde con los colores del borde de la imagen.Aunque en mi caso, el rendimiento del pc cae en picado, teniendo un uso de cpu del 90% de manera inexplicable!! hasta los vídeos se ven a tirones sad



Es aquí cuando me puse a investigar de nuevo y descubrí que usando un software en el Pc llamado boblight la cosa cambia… Boblight es un software que se compone de diferentes programas: boblightd (el servicio) boblight-constant y bobligth-X11. Si el servicio Boblightd está arrancado puede atender las peticiones que le hagan boblight-constant y bobligth-X11.
para instalar y configurar boblight seguí este fantástico tutorial del foro de la gente de xbmcspain aunque el fichero de configuración /etc/boblight.conf que ponen en ese foro no me sirvió así que tuve que seguir investigando hasta que conseguí que funcionase. AQUI os dejo el mío smile

Para comprobar que todo está bien configurado se arranca el demonio boblightd con el comando:” sudo boblightd ” y luego desde otro terminal se ejecuta el comando:” boblight-constant FFFFFF “ si se encienden todos los leds de color blanco ya lo tenemos listo!!!
Matamos el proceso boblight-constant y ejecutamos el comando:”boblight-X11” es ahora cuando se nos está mostrando los colores del borde de la pantalla en nuestros leds!!! smile smile smile
prueba de ello es ir cambiando el fondo de escritorio o reproducir un vídeo a pantalla completa para ver como van cambiando los leds de color.

FABRICACION DEL SOPORTE

Ahora sólo queda fabricarnos un soporte a medida de nuestra TV y colocar los leds en su posición correcta.

En la web de adafruit hay algunos ejemplos de soportes caseros para los led. Yo empecé con una lámina fina de DM y pegándolos con cinta aislante para poder corregir su posición y aprovechando los agujeros de la TV para montar soportes de pared. Según Adafruit la configuración de 25 leds está pensada para TV o monitores de hasta 27 pulgadas (70cm de diagonal) y como mi TV es de 32 pulgadas sabía de antemano que tendría que jugar con la posición de los led.

Es aquí donde el programa Lightpack me salvó la vida pues permite poner diferentes cuadrados de colores sobre la imagen de la pantalla y así pude saber dónde tenía que colocar cada led.

Una vez sabía dónde tenía que poner cada uno de los led me puse en plan bricomanía y con unos listones y unas escuadras a hacer agujeros en los listones que luego formaron un marco. Esta no fue mi primera elección, pero después de muchas pruebas ha acabado siendo la mejor solución.

Para hacer los empalmes de los cables he utilizado el soldador un poco de estaño y tubo de plástico termo retráctil para que sea todo más limpio y seguro.

Para las conexiones al Arduino he utilizado unos pines macho que he soldado a los cables.

Listo y montado es relativamente fácil quitar la placa Arduino para jugar un rato con ella, aunque me tengo que comprar otra para dejarla fija, seguramente me compre una baratita de esas que fabrican en la India si no encuentro nada más barato por Ebay…

Aún tengo alguna duda respecto al funcionamiento de boblight y de xbmc, tengo que investigar un poco más a ver si se puede mejorar, pero de momento me funciona a las 1000 maravillas y me estoy dejando llevar por ese principio de la informática de “si funciona no lo toques” pero es algo que haré…


Este proyecto y todos los que he visto a excepción de la oficial ambilight de phillips sólo sirven para vídeos y algunos juegos, no para ver la TV (aunque quizás con alguna sintonizadora de TV para pc se pueda conseguir) pero, me estoy acostumbrando a encender los leds en color blanco cuando vemos la TV por la noche en casa. La verdad es que en un primer momento me pareció un poco “friky” pero en casa le hemos cogido el gustillo.


Para ir acabando, diré que en mi caso el efecto es menos porque mi TV está encajonada en un mueble oscuro y que la pared de detrás es de color rojo, lo que hace que el efecto quede un poco difuminado (a excepción de cuando los enciendo en color blanco) Además la calidad de los vídeos y de algunas fotos no es la mejor, no le hacen justicia, sobre todo en los vídeos la cámara se vuelve loca enfocando la imagen y los destellos de los led sad . Otro factor determinante es que los leds los compré por ebay en China, así que todo y no ser malos (tienen certificación de resistencia al agua) la intensidad del brillo podría ser mayor, así que ahora se me plantea la duda de si comprar otra tira led igual y añadir más leds o directamente buscar otros leds diferentes que sean más potentes (y más caros)… ya veremos, de momento a disfrutar de series, películas, Youtube….. de una manera diferente.

Ilion

Responder

  Suscribirse  
Notificación