Howto: Maak je eigen Ambilight tv

In deze tutorial ga ik beschrijven hoe je met behulp van (RGB) led lampjes je tv kunt voorzien van achtergrondverlichting zoals Philips dat bij zijn Ambilight tv's gebruikt. Om dit voor elkaar te krijgen heb ik zelf van veel verschillende bronnen op internet gebruik gemaakt. Mijn doel is echter om van deze tutorial een zo compleet, maar toch overzichtelijk geheel te maken.

Boodschappenlijstje

Ik ben zelf uitgegaan van de tutorial van Adafruit. Op die pagina staat aan de rechterkant een overzicht van onderdelen. Ik licht ze hieronder nog eens toe. Het is aan te raden om ze niet via Adafruit te kopen maar even wat langer te zoeken waar je het goedkoper kunt krijgen. Bij elk item vermeld ik een of meer links naar een webwinkel. Als je ze zelf ergens anders nog goedkoper kunt krijgen, dan zou het wel aardig zijn wanneer je dit in de comments vermeldt.

  • Een stevig stuk karton, waar je de ledjes aan vast moet maken. Tevens bevestig je hier de Arduino aan. Dat heb ik met tie-wraps gedaan. Hier alvast een paar foto's van hoe het er uiteindelijk uit zou kunnen komen te zien:

    KartonIMG_20130227_204308
  • Schroefjes en ringetjes waarmee je het karton aan de achterkant van je tv bevestigt. Wanneer je tv op een kastje staat, kun je de gaatjes gebruiken die bedoeld zijn voor de ophangbevestigen aan de muur.
    Dit is dan het eindresultaat...IMG_20130227_215305...maar zo ver zijn we nog lang niet!
  • Gereedschap:
    • Een perforator om gaatjes in het karton te knippen.
    • Schroevendraaier
    • Potlood, lineaal, hobbymesje om het karton op maat te maken.
  • Software:
      • het programma Processing
      • de Processing sketch Colorswirl.pde om te testen.
      • de Processing sketch Adalight.pde, die ervoor zorgt dat de de kleuren van de rand van het beeldscherm naar de Arduino worden doorgestuurd.
      • Omdat de Adalight.pde sketch de computer ontzettend vertraagt - de mijne wel althans - gebruik ik de Boblight plugin van XBMC media Center. Nadeel: de lampjes werken alleen wanneer je een film met XBMC afspeelt, maar dan zou je ook een voordeel kunnen noemen. Het installeren en instellen is wat ingewikkelder, dus dat verdient een paragraafje verderop.

Leds aansluiten op de Arduino en testen

Eigenlijk zou ik het niet beter kunnen doen dan de mensen bij Adafruit. Dus volg hun tutorial hier en kom dan weer terug, want dan leg ik uit hoe je Boblight aan de praat krijgt. Adalight legt namelijk te veel beslag op je systeembronnen, waardoor het afspelen van films erg schokkerig verloopt.

Boblight installeren en instellen

Boblight is zoals gezegd een plugin voor XBMC media center. Daardoor werken de lampjes alleen maar als je met XBMC een video afspeelt. De boblight plugin is beschikbaar bij de standaard plugins van XBMC, via het onderdeel Services of Diensten.

De Arduino sketch die je moet gebruiken is gewoon die van Adalight. Als het goed is heb je die al naar de Arduino geupload wanneer je de eerder genoemde tutorial van Adafruit hebt doorlopen.

Daarnaast moet je echter wel nog het programma boblightd op de achtergrond mee laten lopen. boblightd heeft het configuratiebestand /etc/boblight.conf nodig, waarin je o.a. beschrijft hoeveel lampjes je hebt en op welke positie ze zich bevinden.

  1. boblightd compileren en installeren
      1. Installeer de benodigde dependencies:
        sudo apt-get install libx11-dev libgl1-mesa-dev libxrender-dev libxext-dev portaudio19-dev libavcodec-dev libavformat-dev libswscale-dev libavdevice-dev
      2. Download de source met Subversion:
        cd ~
        sudo apt-get install subversion
        svn checkout http://boblight.googlecode.com/svn/trunk/ boblight-read-only
      3. Compileren:
        cd boblight-read-only/
        ./configure
        make
        sudo make install

        Bij het configure commando kreeg ik overigens de volgende foutmelding:

        checking for libusb_error_name in -lusb-1.0... no
        checking libusb-1.0/libusb.h usability... no
        checking libusb-1.0/libusb.h presence... no
        checking for libusb-1.0/libusb.h... no
        configure: error: Missing a required header, please install it

        Dit heb ik opgelost door van het onderdeel dat ontbreekt (in dit geval libusb-1.0), het -dev pakket te installeren:

        sudo apt-get install libusb-1.0-0-dev

        Wanneer er andere onderdelen ontbreken, installeer dan ook de bijbehorende -dev pakketen. Een handig hulpmiddel om de naam van het juiste pakket te vinden is het gebruik van de tab toets:
        Typ eerst sudo apt-get install en druk daarna enkele malen op tab. Er verschijnt dan een lijst van pakketten, waaruit je de juiste (degene die op -dev eindigt) kunt kiezen.

      4. Testen via de commandline
        Met

        boblightd

        kun je de boblight daemon starten. Vervolgens kun je (in een ander tabblad van de terminal) de commando's

        boblight-constant FF0000
        boblight-constant 00FF00

        en

        boblight-constant 0000FF

        gebruiken om de kleuren rood, groen en blauw te testen.
        Wanneer je de foutmelding

        ERROR: libboblight.so: cannot open shared object file: No such file or directory

        krijgt, voer dan

        ldconfig

        uit en probeer het nog eens met boblight-constant.

      5. Automatisch starten bij aanmelden Gebruik het programma Opstarttoepassingen van Ubuntu om ervoor te zorgen dat boblightd automatisch wordt uitgevoerd bij het opstarten van de computer. Boblight automatisch opstarten Je ziet dat het uit te voeren commando (boblightd) de optie -f meekrijgt. Dat zorgt ervoor dat boblightd op de achtergrond draait.
  • B. Boblight instellen
    In het coniguratiebestand boblight.conf leg je vast op welke plek de leds zitten, of eigenlijk: wat de coördinaten op het beeldscherm zijn waar elke led zijn kleur op moet baseren. Die coördinaten worden uitgedrukt in percentages. Voorbeeld: wanneer je voor een led instelt

    name light1
    hscan 10 20
    vscan 80 90

    dan betekent dit dat de kleur van lampje 1 wordt gebaseerd op de kleuren van de rechthoek die zich 10% tot 20% van de linkerkant en 80% tot 90% van de bovenkant van het beeldscherm bevindt.
    Mijn versie van boblight.conf kun je hier vinden. Hierin staan je juiste instellingen voor 50 leds (18 verticaal, 10 horizontaal) waarbij ik aan de onderkant van tv er 2 in het midden heb weggelaten; in verband met de voet van de tv heeft het namelijk geen zin om daar leds te plaatsten. Zie de foto hierboven.
    Het bestand moet je opslaan onder /etc/boblight.conf

 

De leds achter de tv monteren

Zoals je op de foto kon zien, heb ik mijn leds aan een stuk stevig, mooi wit karton vastgemaakt. Van te voren moet je goed bedenken wat de afmetingen van het karton moeten worden. Zorg dat het niet even groot als de tv wordt, want het is lelijk als je de lampjes kunt zien zitten.

Het is natuurlijk ook mogelijk om de leds op andere manieren aan de tv vast te maken. Ieder zal hier waarschijnlijk een andere keuze in maken; hangt er van af hoe creatief je bent.

Tot slot

Dit zou het dan moeten zijn. Ik heb geprobeerd heb alles zo duidelijk mogelijk te beschrijven. Hopelijk zijn de details die ik heb weggelaten vanzelfsprekend genoeg om zelf te bedenken. Uiteraard zijn tips van harte welkom.

Veel plezier en succes!

Share Button

4 gedachten over “Howto: Maak je eigen Ambilight tv”

  1. Als je aan de zijkant van het scherm een RGB detector of whatever zou plaatsen zou je hem in principe kunnen gebruiken zonder XBMC en dus nederland 1 ermee kijken..
    Ligt er natuurlijk wel aan hoe gevoelig ze zijn en hoeveel je erop hangt wat het resultaat word maar dat doet er niet toe ..

    Leuk project ! Er zijn gewoon te veel mogelijkheden met Arduino.

    1. Inderdaad, zo zou het ook wel kunnen werken. Maar die RGB detector vangt dan natuurlijk ook veel ruis (licht van de omgeving dat niet van het tv beeld afkomstig is), dus ik denk niet dat dit de kwaliteit ten goede komt. Verder was het mijn bedoeling om alles zo onopvallend achter de tv weg te werken.

      Ook kijk ik nooit zo vaak live tv, dus ik vind het niet zo'n probleem dat het daar niet bij werkt. Sterker nog: eigenlijk gebruik ik de tv helemaal niet zo vaak; ik heb dan ook meer plezier beleefd aan het maken, dan aan het gebruik ervan 🙂

  2. Kan iemand me helpen?

    Ik loop vast bij het "boblightd compileren en installeren".
    In welk programma wordt de opdracht "sudo" in gegeven?

    Alvast bedankt,

    Rene

    1. In de terminal! Ctrl+Alt+t is de snelste manier op die op te roepen.

      Ik kan me best voorstellen dat best ingewikkeld vind om voor de eerste keer in de terminal te werken, zeker als je ook nog eens zelf een programma moet compileren. En zonder ervaring is het best moeilijk om te achterhalen hoe je problemen oplost als er iets mis gaat.

      En zijn uiteraard heel veel tutorials over de terminal te vinden, maar de volgende vond ik zelf wel een goed voor beginners: Unix for the Beginning Mage

      Succes ermee!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.