Ambilight pi

Ambilight con Arduino

 

 gracias a  

 davisdmg por hacer este fantastico tuto y la img y a su web que nos pone al dia y nos lo hace mas sencillo a los que no sabemos tanto  web-> http://www.grabthiscode.com/diy/como-montar-tu-sistema-ambilight-en-casa-y-no-morir-en-el-intento

Te estarás preguntando que es eso del Ambilight y para que sirve. Como una imagen vale más que mil palabras, aquí te pongo el video para que puedas verlo.
En este post aprenderás a montarlo y configurarlo por ti mismo a un muy buen precio. Aclarar antes de todo que este post es “DO IT YOURSELF”, con eso quiero decir que si no te gusta cacharrear con estas cosas, quizás te cueste un poco. Pero si sigues los pasos al 100% vas a tenerlo 100% montado y funcional.  Hay varias formas de usar este sistema:
  • Comprar una TV Philips con el sistema ya integrado (probablemente la más cara, pero la que mejor queda)
  • PC Windows + arduino + leds. Info aquí.
  • Raspberry pi + leds (conectados por los pines GPIO de la raspberry). Info aquí.
  • Raspberry pi + arduino + leds. Sigue leyendo el post para aprender a hacerlo.
¿Cual elegir? Depende de tus necesidades, aquí vas a aprender a montar la última opción (Raspberry pi + arduino + leds), la cual es la óptima si quieres usar la Raspberry Pi como media center, ya que con el arduino le quitas carga computacional a la Raspberry Pi.
¿Qué piezas necesito?
Hay infinidad de modelos y sitios donde comprar estas piezas. Aquí pongo donde yo las he comprado.
-Tira de 50 leds ws2801 <— Muy importante que el chip sea ws2801http://www.ebay.es/itm/230873716903?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649#ht_2298wt_1165 Si vais a comprarla en esta tienda, una vez la hayáis comprado, enviadle un mensaje diciendo que venís de este blog de parte de davisdmg (le añadís el link a este post). Así os hará un descuento. Si alguno lo pide, que lo ponga por aquí y actualizo el post con el descuento que nos hacen.
-Cargador 5V 2A (1A por cada 25leds, si quieres una tira de 100 leds, pues necesitas 4A más o menos) https://www.fasttech.com/products/1271304
-Arduino uno o arduino mega. Ambos sirven, pero el Mega es más potente. https://www.fasttech.com/products/1001001
-Jumper wires (cables macho-macho para conectar los leds con el arduino) https://www.fasttech.com/products/1141800
Lamentablemente todas vienen de china y tardarán unas 2 semanas en llegarte.

Aparte de estas piezas, necesitas pensar como vas a montarlo en la TV. Hay varias formas: muchos usan una malla metálica, otros un cartón y otros como yo, un canal de pvc adhesivo.

Montaje Leds
Montaje y configuración.
El tutorial se va a dividir en dos partes. Primeramente vas a conectar los leds al arduino y vas a cargar éste con el programa que los va a controlar. Por último, vas a configurar la raspberry con el sistema operativo y conectada al arduino.
1ª Parte. Arduino + Leds.
Para esta parte, necesitas tener a mano la tira de leds, el arduino, el cable usb que viene con él, los jumper wires, el cargador de corriente y el adaptador del enchufe.
Los leds tienen 2 extremos, uno va conectado a la corriente (macho) y el otro al arduino (hembra).
Conecta el extremo que va a la corriente como en la imagen:
Conexión leds con corriente.
Por el otro lado (el conector hembra), tenemos que conectarlo al arduino. Esta conexión es distinta según el modelo de arduino que estés usando:
  • Arduino Mega:
    • Amarillo/Blanco: 51
    • Verde: 52
    • Azul: GND
  • Arduino Uno:
    • Amarillo/Blanco: 11
    • Verde: 13
    • Azul: GND
Al final de todo estó, tu montaje debería quedar tal que así:
Arduino-Leds-Corriente
No te preocupes por los cables que se quedan sueltos y el conector que se queda suelto, pues son para conectarlos a otra tira de leds.
Ahora que tienes todo montado, vas a cargar el software en el arduino (este software no es volátil, por lo que se va a quedar grabado en el arduino hasta que lo sobreescribas).
Para ello, descargate el IDE desde la web de arduino. http://arduino.cc/en/Main/Software
Instálalo y conecta el arduino por USB a tu pc. Si todo ha ido, en el administrador de dispositivos podrás ver el arduino. Si no te encuentra los drivers, los tienes en el paquete que te has bajado (/drivers).
Una vez lo tienes todo listo, abre el software del Arduino, vete a “Tools” -> “Board” y selecciona el modelo que tengas (Arduino Mega 2560…en nuestro caso), después revisa en “Tools” -> “Serial” que está marcado el puerto “COM” correspondiente (por defecto estará marcado si has instalado bien los drivers) y por último, vas a cargar en software en “File” -> “Open” y ahí eliges éste archivo. LEDstream.pde
Una vez seleccionado el archivo, pulsa sobre “Upload” y espera que termine. Si todo ha ido bien (recuerda que debes tener todo el sistema conectado leds + corriente + arduino), al finalizar la carga, los leds se encenderán de color Rojo -> Verde -> Azul. Si no pasa eso, intenta repetir el proceso porque algo ha fallado.
Primera parte del tutorial terminada. ¿Fácil, no? Sigamos!
Parte 2. Raspberry pi.
Ahora te toca instalar y configurar el software de la raspberry pi.
Siguiendo estos pasos vas a instalar, configurar y optimizar Raspbmc + xbmc + boblightd.
1. Installación de Raspbmc
Necesitas descargar la última version de RaspBMC e instalarla en tu SDcard de tu raspberry.
2. Entra por ssh a la raspberry (puedes usar putty para hacerlo, login/password=pi/raspberry)
Escribe:
Source code   
  1. sudo initctl stop xbmc
  2. sudo apt-get update
  3. sudo apt-get install make gcc g++ unzip libtool libboost-dev git
Ya tienes las bibliotecas y el sistema preparado para instalar el servicio que controlará los leds.

Escribe:

Source code   
  1. cd ~
  2. git config --global http.sslVerify false
  3. git clone https://github.com/Speedy1985/boblightd-for-raspberry.git
  4. cd boblightd-for-raspberry
  5. ./configure
  6. make
  7. sudo make install
  8. sudo ldconfig
Con eso, si todo ha ido bien, ya tendrás compilado e instalado el módulo para manejar tus leds.
Ahora necesitas un archivo de configuración dónde vas a decirle en que puerto tienes el arduino conectado, cuantos leds tienes y en que posición. Este archivo es muy delicado para arduino, por lo que si quieres puedes usar el que yo he configurado para 50 leds ws2801, con la siguiente posición de los leds: 20 leds arriba, 10 en cada borde y 5-5 abajo en el siguiente orden (5 abajo derecha, 10 lateral derecho, 20 arriba, 10 lateral izquierdo y 5 abajo izquierda, es decir, en sentidocontrario a las agujas del reloj empezando por centro abajo). Este archivo tienes que colocarlo en /etc/boblight.conf. Desde aquí quiero agradecer al usuario infernum de forocoches, su ayuda con la configuración de las coordenadas de los leds.
Con el siguiente comando automáticamente se descarga y se coloca en esa dirección:
Source code   
  1. sudo wget https://www.dropbox.com/s/xy423w6kj76ldwq/boblight.conf -O /etc/boblight.conf --no-check-certificate

El archivo boblight.conf puedes modificarlo como te plazca, pero debes tener en cuenta que:
- El nombre de cada “light” DEBE ser de 3 carácteres. Ni uno más ni uno menos.
- DEBES usar el delayafteropen=1000000 para arduino (sino no se encenderán los leds)
- Hscan y Vscan son las coordenadas de tu pantalla. Más info en la siguiente foto:
Hscan-Vscan config
Hscan-Vscan config
- Si vas a usar los leds conectados al arduino, el “type” debe ser “momo”, en cambio si quieres saltarte el arduino y usar directamente los pines GPIO, el “type” debe ser “ws2801″.
- El output suele ser “/dev/ttyACM0″ si estás usando el usb de la raspberry conectado al arduino. En cambio, si usas los pines GPIO, es “/dev/spidev0.0″.
Después de esto, te recomiendo reinciar la raspberry:
Source code   
  1. sudo reboot

Ahroa, antes de instalar la versión parcheada de XBMC, vas a testear que todo funcione correctamente.
Necesitas 2 terminales. (Abre dos veces el putty y logueate en la raspberry con cada una).
En una de ellas escribe:
Source code   
  1. sudo boblightd

Deberías tener una salida parecida a la siguiente:
Source code   
  1. pi@raspbmc:~$ (InitLog)         start of log /root/.boblight/boblightd.log
  2. (PrintFlags)                    starting boblightd -f
  3. (CConfig::LoadConfigFromFile)   opening /etc/boblight.conf
  4. (CConfig::CheckConfig)          checking config lines
  5. (CConfig::CheckConfig)          config lines valid
  6. (CConfig::BuildConfig)          building config
  7. (CConfig::BuildConfig)          built config successfully
  8. (main)                          starting devices
  9. (CClientsHandler::Process)      opening listening TcpSocket on 127.0.0.1:19333
  10. (CDevice::Process)              ambilight: starting with output "/dev/ttyACM0"
  11. (CDevice::Process)              ambilight: setting up
  12. (CDevice::Process)              ambilight: setup succeeded
En la otra terminal escribe:
Source code   
  1. sudo boblight-constant 00FF00

Con eso le dirás al arduino que encienda todos los leds de verde, recuerda el codigo (Red-Green-Blue)
Si hasta aquí te funciona, ya tienes lo más dificil hecho. Sino, revisa los pasos que has hecho por si te ha faltado algo.
Antes de terminar el tutorial instalando el XBMC parcheado, vamos a decirle a nuestra raspberry que cargue cada vez que arranque el servicio Boblight para manejar los leds.
Source code   
  1. sudo nano /etc/rc.local
Y añade al final del archivo, antes del “exit 0″ la siguiente linea:
Source code   
  1. sudo /usr/local/bin/boblightd -f
Si quieres dejar un color estático en los leds mientras no se reproduce ningún video, puedes hacerlo añadiente la siguiente linea antes del “exit 0″ pero despues del “sudo /usr/local/bin/boblightd -f”
Source code   
  1. sudo /usr/local/bin/boblight-constant AB0030 -p 254
Donde “AB0030″ es el código hexadecimal del color. Puedes conseguir más códigos aquí.
Ahora te toca instalar el XBMC parcheado.
Source code   
  1. cd ~
  2. wget https://www.dropbox.com/s/uyw6u829cb9utol/xbmc-rbp-pibob-20130514.tar.gz
  3. sudo initctl stop xbmc
  4. sudo tar -xzf xbmc-rbp-pibob-20130514.tar.gz -C /opt
Muy bien, ya tienes el XBMC instalado, ahora toca configurarlo para activar los leds.
Este XBMC usará un archivo de texto para leer las opciones. Te basta con hacer lo siguiente:
Source code   
  1. sudo nano /home/pi/boboptions.txt

Y pegar el siguiente texto en ese archivo:
Source code   
  1. enabled=true
  2. host=localhost
  3. port=19333
  4. priority=128
  5. sizedown=112
  6. margin=5
  7. timeout=35
  8. interpolation=0
  9. speed=100
  10. autospeed=0
  11. saturation=1.0
  12. threshold=15
Para guardar pulsa “Control + X” y luego Yes.
Yo estoy usando el archivo de arriba configurado a mi gusto:
Source code   
  1. enabled=true
  2. host=localhost
  3. port=19333
  4. priority=128
  5. sizedown=112
  6. margin=5
  7. timeout=35
  8. interpolation=0
  9. speed=75
  10. autospeed=0
  11. saturation=1.5
  12. threshold=30
Prueba ambos y elige el que más se ajuste a ti!
NOTA: Si quieres usar el xbmc sin los leds, recuerda poner “enabled=false” y reinciar la raspberry, pues se bloqueará si no encuentra conexión a los leds.
Una vez más te toca reiniciar, pero ya lo tienes todo instalado!
Source code   
  1. sudo reboot

Ya solo te queda probar algún video para ver como lucen tus leds!
IMPORTANTE: Existe un addon para XBMC llamado Boblight. NO lo instales, pues entrará en conflicto con tu XBMC parcheado.
Por último, un par de videos de como ha quedado todo (mis disculpas por la mala calidad de la cámara)
Versión vagos.
A petición popular, he subido mi imagen de la SD dónde tengo todo instalado y configurado para funcionar con los leds. Pesa 4Gb y ocupa 8Gb descomprimida, por lo que necesitarás una SD card de 8Gb o más.
Son 4 enlaces de MEGA.
Raspbmc boblight edition.part1.rar (1.0 GB)
https://mega.co.nz/#!X9BkSRgS!Snq7_teNk5Si01fJAJ4A8fbeVyYHiNCKsCiCtDsI8YY
Raspbmc boblight edition.part2.rar (1.0 GB)
https://mega.co.nz/#!u5gHFRjZ!Ddv2fDuT4SZ855pud8DlOCRyqSUp3SMYbFoHGRXDqng
Raspbmc boblight edition.part3.rar (1.0 GB)
https://mega.co.nz/#!20RFUB5Q!0ZS8gto8YEOL9oY0NMHIMtXh9jeM0UaXD0Vfph1_eNE
Raspbmc boblight edition.part4.rar (964.6 MB)
https://mega.co.nz/#!qgZXELoY!qn6UpVXAdK7OEn_VSLUAHsSIL_PM5U5CVgpEFxHk10Q
Ésta imagen viene configurada para usar los leds conectados a un arduino, si quieres usarlos sin arduino, es decir, usando los pines GPIO, tendrás que reinstalar el boblight de speedy. (Explicadoaquí).
El archivo /etc/boblight.conf está obsoleto, tendrás que bajarte el nuevo de aquí y sustituirlo.
Source code   
  1. sudo rm /etc/boblight.conf
  2. sudo wget https://www.dropbox.com/s/f6u82rv22tofbgl/boblight_gpio.conf -O /etc/boblight.conf --no-check-certificate
Y por último, tienes que activar la funcionalidad de los leds del reproductor (por defecto está desactivado).
Pon “enabled=true” en el siguiente archivo.
Source code   
  1. sudo nano /home/pi/boboptions.txt
“Control + X” y luego “Yes”.
Ya no tienes excusa para no montarte tu propio sistema Ambilight. Anímate a hacerlo y postea las fotos de cómo te ha quedado todo!

31 comentarios:

  1. Tengo una pregunta, como conectas el arduino con la raspberry pi?????
    Es k ya me llego todo y me pondré a realizarlo
    Gracias

    ResponderEliminar
  2. http://pibob.nadnerb.co.uk/Photos/IMG_0061.JPG

    ResponderEliminar
  3. http://pibob.nadnerb.co.uk/Photos/IMG_0059.JPG

    ResponderEliminar
    Respuestas
    1. Muchísimas gracias por la respuesta....
      Sólo me faltaría la foto de la conexión del arduino, tu me has dado donde se conecta en la raspberry pi y los empalmes...
      Ahora me faltaría saber donde conectas la foto dos con el arduino...
      Muchas gracias....

      Eliminar
    2. Hola, ya tengo todos los productos...
      Mi pregunta es sólo como conectar el raspberry pi al arduino...
      Gracias

      Eliminar
    3. Con un cable USB. Lo pone en el artículo

      Eliminar
  4. ...hoy mismo comienzo a conseguir todo...

    ResponderEliminar
  5. Animo para lo que te haga falta a qui estamos

    ResponderEliminar
  6. Puedes volver a subir la imagen de tu sd?

    en mega aparece caida

    ResponderEliminar
    Respuestas
    1. buenas dime que parte es la que no puedes ?
      A mi me salen todas bien ? tienes Algun programa de descarga megabeta ?

      Eliminar
  7. No tengo ningun programa.
    Me aparecen de los 4 enlaces, el 3 me dice que ponga clave.......

    ResponderEliminar
  8. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  9. crees que se vean bien 50 leds en una tv de 46? veo en tu imagen que encima del pvc usas algun material negro para fijar los leds, que material es y como lo fijas?
    podrias resubir las ligas de mega por favor?

    ResponderEliminar
  10. Una pregunta, en el paso en el que hay que meter el siguiente comando: GIT CLONE HTTPS://GITHUB.COM/SPEEDY1985/BOBLIGHTD-FOR-RASPBERRY.GIT
    Me pide username y password para entrar al github...¿alguien podría facilitármelo?

    ResponderEliminar
  11. Tu tv de cuantas pulgadas es ? es que quiero montarla en una de 50" se vera bien?

    ResponderEliminar
  12. otro manual de por hay para echar una mano http://misapuntesde.com/res/Ambilight_con_Raspberry_Pi.pdf

    ResponderEliminar
  13. Muy buenas, excelente manual, enhorabuena.
    Estoy intentando montarme el sistema pero a la hora de montarme el xbmc parcheado me da un error de certificado de dropbox. No sé si me podrás echar una mano. Me lanza dos errores :
    ERROR: The certificate of `www.dropbox.com´ is not trusted
    ERROR: The certificate of `www.dropbox.com´hasn´t got a known issuer.

    Muchas gracias y un saludo.

    ResponderEliminar
  14. Buenas a todos;

    He estado siguiendo el tutorial de davisdmg para hacer ambilight con la raspberry pero no lo he podido hacer funcionar todavía, he seguido los pasos correctamente hasta el punto donde se comprueba si se encienden todos los leds de un color, y nada de nada. Adjunto un enlace donde vienen fotos de la conexión y lo que me aparece cuando pongo el boblightd, aparentemente tengo todo correcto y me temo que los leds son las que me los han enviado mal. Cuando los leds los conecto a la fuente, se enciende como unos 5 o 6 de varios colores, estos son los que expone davisdmg en su tutorial (comprados a un tal ostarin en ebay).
    Lo estoy haciendo con la raspberry+raspmbc+leds ws2801
    https://www.dropbox.com/s/s8frsvloo6m8r2h/IMAG.VALERA22.zip

    Saludos.

    ResponderEliminar
    Respuestas
    1. gracias davisdmg, ya me contestastes en forocoches, saludos

      Eliminar
    2. Como ya te cnt los LEDs tienen que ser decla numeración para programarlos tendiras que mirar los LEDs ws2801 de programarlos que es el chip que lleva

      Eliminar
  15. Hola!
    Antes de empezar me gustaría saber si vale para ver cualquier cosa en la tele , es decir, cualquier canal o lo que sea.
    Un saludo!

    ResponderEliminar
  16. Y la tele tiene que ser moderna? Que se conecta a la tele por detrás?

    ResponderEliminar
  17. Hola, los enlaces de mega para vagos o están caídos o pide decryption key. Si eres tan amable de resubirlos te lo agradecería, un saludo.

    ResponderEliminar
  18. Buenas,
    Quiero instalar ambilight pero estando el xbmc en un pc con ubuntu y la usar la raspberry SOLO para el control de los leds. ¿alguien sabe si se podría hacer y como? Gracias

    ResponderEliminar
  19. hola, alguien puede hacer fotos de las conexiones de raspberry y arduino? lo tengo todo conectado pero algo no esta bien.
    gracias

    ResponderEliminar