Ambilight am PC mit einem Arduino und AmbiBox

DAS IST NICHT MEHR UP 2 DATE

Diesmal gibts ein Tutorial für den PC ohne den Raspberry Pi. Zum steuern der LEDs benutzen wir einen Arduino Uno, wenn wir fertig sind sollte es in etwa so aussehen:

ambilight

Was wir benötigen:

Da PC Bildschirme auf der Rückseite kaum eben sind, und damit der Abstand ungleichmässig und zu weit entfernt von der Wand wäre habe ich erst von einem alten Schrank die Rückwand genommen und zu geschnitten. Ich hab vom PC den Umfang ausgerechnet und hab dann von jeder seite 1,5cm abgezogen, damit es dann nacher nicht sichtbar ist wenn man von vorne auf den Bildschirm schaut.

Ambilight PC seite

Ambilight PC vorne

Ich geh davon aus das man zumindest Grundkenntnise im Löten hat und das alles hin bekommt ohne gross darauf einzugehen…

Kommen wir zum Software-Part, als erstes laden wir uns die Arduino IDE runter
(bitte den Arduino nicht einstecken, erst am Ende der Installation)

Arduino Download

Und installieren es wie gehabt

Arduino installation

Am Ende bekommen wir diese Meldung, die wir  mit “Installieren” bestätigen.

Arduino USB Driver

Haben wir das getan müsste sich auf dem Desktop das Arduino Icon befinden. Aber bevor wir die IDE starten müssen wir noch eine kleine änderung durchführen. Damit wir direkt starten können laden wir uns für den Arduino das Sketch für unser Projekt runter.

Wir gehen auf https://github.com/adafruit/Adalight und laden uns dort die ZIP

adalight download

und entpacken diese.

adalight entpacken

Jetzt makieren wir die zwei Ordner “Arduino” und “Processing” und kopieren sie in unseren Ordner “Dokumente” hinein. Damit die Arduino IDE diese Daten laden kann.

adalight kopieren

Alles erledigt können wir nun unseren Arduino mit dem USB Kabel an den PC verbinden.
Normalerweise müsste Windows die Treiber von selbst installieren.

Nun können wir endlich die Arduino IDE Starten.

arduino ide

Um die Verbindung mit unserem Arduino aufnehmen zu können müssen wir der IDE erst die Schnittstelle vom Arduino zuweisen.

Erst wählen wir aus welchen Arduino wir haben, in meinem Fall der Arduino UNO

Arduino Board auswahl

Danach klicken wir in der IDE auf “Werkzeuge->Port” und sollten dann auch direkt unseren Arduino dort aufgelistet sehen.

arduino ide port

Wie man sieht ist er NICHT ausgewählt, um das zu machen müssen wir einfach drauf klicken und dann ist der Arduino mit unserer IDE verbunden.

Kommen wir zum “Programmieren”

Wir müssen die Adalight Software jetzt auf unseren Arduino aufspielen, dabei ist wichtig welche LEDs wir benutzen. Wer WS2801 benutzt wählt einfach “LEDstream” und wer (wie ich) die LPD8806 nutzt wählt natürlich “LEDstream_LPD8806”

arduino sketch auswahl

Und klicken dann in der Leiste oben auf den Pfeil der nach Rechts zeigt “Hochladen”

Sketch hochladen

Wenn alles erfolgreich war bekommt ihr unten eine Meldung wieviel Speicher auf dem Arduino belegt sind und wieviel noch frei ist.

Soweit war es das mit dem Arduino jetzt kommt die Verbindung mit den LEDs und die Software zum auswerten des Bildes.

Im Sketch steht folgender Text:

// LED data and clock lines are connected to the Arduino’s SPI output.
// On traditional Arduino boards (e.g. Uno), SPI data out is digital pin
// 11 and clock is digital pin 13.

Was uns sagt das der Data Out Pin die Nummer 11 ist und der Clock Pin die Nummer 13 hat.

diagram

Wir nutzen folgende Farben
GND – Schwarz
Data – Gelb
Clock – Grün
+5V – Rot

Also Stecken wir die Kabel wie folgt
BITTE DRAUF ACHTEN DAS IHR AUCH DATA IN BZW. DI benutzt…das ist die Seite in der die Daten eingespeisst werden und nicht bei DO bzw DATA OUT

Arduino Kabel Belegung

Data – Gelb – kommt in Pin 11
Clock – Grün – kommt in Pin 13
GND – Schwarz – kommt in Ping GND

Fehlt uns nur noch das Rote +5V Kabel, da der Arduino die Last der LEDs nicht packt, habe ich von meinem PC-Netzteil direkt von einem Molex-Stecker die 5V abgegriffen und mit dem LED Streifen verbunden.
Das hat den Vorteil, dass wenn der PC aus ist die LEDs auch ausgehen.
ES WIRD KEIN KABEL VOM NETZTEIL ZUM ARDUINO VERBUNDEN!

2_Molex_(4-Pin)
Quelle

Wer hier nicht genau weiss wie das geht soll bitte einen Elektriker seines Vertrauens fragen und ihn um Rat/Hilfe bitten, da das sehr schnell tödlich Enden kann.

so wenn wir nun alles angesteckt haben und den PC  starten sollten die LEDs einmal in den Farben Rot Grün Blau aufleuchten…
Kommen wir nun zu AmbiBox, das laden wir einmal runter und installieren es.
Während der Installation wird auch PlayClaw direkt mit installiert, das benötigt man für zB inGame.

AmbiBox PlayClaw

In der AmbiBox Installation wählen wir hier Adalight aus.

Bildschirmfoto 2015-04-03 um 14.36.43

AmbiBox wird leider direkt in den Tray gestartet und wir müssen es manuell nochmal aufrufen

AmbiBox öffnen

In AmbiBox müssen wir nun die Verbindung zum Arduino herstellen und danach die LEDs einstellen..

AmbiBox

Hier klicken wir unten rechts auf “More Settings” um dann folgende Einstellungen vorzunehmen:

Wie wir von der Arduino IDE noch wissen war der COM Port bei mir COM3 das muss auch hier eingetragen werden, danach musste ich die “Order of Colors:” auf RBG umstellen damit die Farben auch korrekt angezeigt wurden und zu guter Letzt die “Number of Zones” sind die Anzahl der LEDs die wir benutzen, in meinem Fall 60.

AmiBox einstellungen

Klickt man dort auf “Show areas of capture” bekommt man die Zonen angezeigt…eine Zone entpsricht einer LED die dann die Farbe anzeigt….bei mir wird von 1-10 gelistet und die restlichen Zonen sind dann einfach alle in der Mitte… Man könnte es jetzt manuell so ziehen wie man möchte…aber die arbeit will sich niemand antun…deshalb klicken wir dann auf “Wizard capture Zones”

AmbiBox Zonen

Meine LEDs sind wie folgt aufgeteilt: An den Seiten jeweils 12, oben sind es 20 und unten sind es 16 weil ich den Fuss vom Bildschirm ausgeschnitten habe und somit 4 LEDs weniger als oben, das stellen wir nun ein und Achten auch auf die “Direction zones” damit es auch die Richtige laufrichtung der LEDs hat…

AmbiBox Zonen Wizard

ein klick auf “Apply” und alles wäre gespeichert…

AmiBox einstellungen

Wenn wir jetzt nun oben den Haken bei “Use Backlight” setzen leuchten unsere LEDs 🙂
Wem die Farben aber nicht gefallen oder die Helligkeit doch nichg allzustark ist kann sich oben auf dem Reiter “Additional configuring of Zones” austoben…

Das ganze funktionier jetzt nun für Windows, wenn man auf youtube ist etc

AmbiBox Windows

Wer jetzt alles inGame nutzen möchtet müsst ihr nur PlayClaw starten und in AmbiBox PlayClaw auswählen

AmbiBox PlayClaw Screen

42 Replies to “Ambilight am PC mit einem Arduino und AmbiBox”

  1. Hallo,
    ich habe das System versucht so auf zu bauen wie du beschrieben hast.
    Leider funktioniert das bei mir mit Windows 7 64Bit nicht wie gewünscht.
    Die LED’s fangen am Anfang ordentlich an und gehen von Rot über Grün auf Blau, jedoch fangen sie an wie wild zu Flackern im normalen Betrieb.

    Verwendet wird folgende LED-Kette: http://www.amazon.de/dp/B00KGDYOKS

    Kannst du mir da helfen und mir sagen was ich falsch mache? verzweifel grad nach dem 7. Tutorial, dass ich mache.
    MFG

    • Hallo, Ich habe dieselben LED bestellt und habe auch genau das gleiche Problem: Gleich am Anfang kommt die korrekte RGB-Sequenz, aber sowohl in Ambilight als auch Prismatik gibt es nur konfuses flackern…

      Haben sie das Problem lösen können?

    • Hey,

      ich hab mir diese LEDs auch gekauft. Und habe die gleichen Probleme: Adalight aufspielen kein Problem. Aber Prismatik und Ambibox funktionieren nicht. Flackern, Random…..
      Kannst du mir weiterhelfen?

  2. Sevus,
    eine super Anleitung hast du da geschrieben. Kann ich irgendwie wie Spannung welche an Pin 11 (Data) und Pin 13 (Clock) ausgegeben wird einstellen?

    Beim Arduino sollten es ja 5 V sein. Beim Raspberry sind es “nur” 3.3V. Ich möchte so prüfen ob aus diesen Grund meine LED´s nicht am Raspberry laufen.

    Danke 🙂

    • Hallo, ja das kann manchmal dazu führen das hier Fehler auftretten, jedoch nur bei WS2801 soweit ich informiert bin, bei LPD8806 sollte das nicht sein. Nähere Infos gibt es hier oder auch im RPI Forum.

  3. Hey, ich habe leider weder die WS2801 noch die LPD8806 :/
    Mein Problem ist das ich die WS2811 benutze und diese nur 3 verschiedene Kabel haben, einmal +5V, GND und DI.
    Kannst du mir vllt weiterhelfen wie ich diese LED’s zum laufen bringen kann??

  4. Guten Tag erst mal, ich habe das Problem, dass bei meinem Arduino Board möglicherweise die Pins 11 und 13 beschädigt sind oder sonst irgendetwas, denn ich habe einen anderen Code, welcher sich “strandtest” nennt, in diesem Code kann man die Ports beliebig ändern. Da kommen wir auch schon zu meiner Frage, ich würde gerne versuchen die Ports von dem “LEDStream” Code von Pin 11 und Pin 13 auf Pin 3 und Pin 4 zu ändern jedoch verwirren mich diese Portangaben “#define LED_DDR DDRB
    #define LED_PORT PORTB
    #define LED_PIN _BV(PORTB5)” .
    Danke im Voraus und ich hoffe du hilfst mir :'(

  5. Bist du sicher, dass es ne gute Idee ist die Masse der LEDs an den Arduino zu hängen? Gibt doch gar keinen Grund nicht auch die Masse des Netzteils zu verwenden.

  6. Hallo,

    ich habe deine Anleitung umgesetzt. Es hat auch alles soweit geklappt, jedoch hab ich ein Problem.
    Jedoch beim Aktivieren der LEDs kam das übel zu Tage. Hier startet der Arduino scheinbar ständig neu, den andauernd leuchten die LEDs in der Bootsequenz Rot ,Grün und Blau.
    Der einzige Unterschied zu deiner Anleitung war eigentlich der Com Port, der bei mir auf der 4 liegt.
    Hast du eine Idee woran das liegen könnte?

    Danke =)

  7. hello; thanks for writing the detailed guide.
    I just want to know can i use ws2812b led strip instead of ws2801? IF yes than what would be connection diagram because it has 3 pins.

  8. Hallo
    hab nach der Anleitung meine Alten LED Strips WS2801 zum laufen bekommen.
    Jetzt hab ich mir die WS2812b Streifen gekauft. Mit dem Sketch LEDStream laufen die nicht weiß ich. Hab ( FastLED-FastLED3.1, FastLED-master ) probiert, kann aber die nicht aufs Arduino laden. Ich bekomme immer eine Fehlermeldung wie ” Arduino: 1.6.9 (Windows 10), Board: “Arduino/Genuino Uno”

    D:\Eigene Dateien\Dokumente\Arduino\FastLED-master\examples\AnalogOutput\AnalogOutput.ino:1:21: fatal error: FastLED.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Fehler beim Kompilieren für das Board Arduino/Genuino Uno.

    Dieser Bericht wäre detaillierter, wenn die Option
    “Ausführliche Ausgabe während der Kompilierung”
    in Datei -> Voreinstellungen aktiviert wäre.”

    Gibt es eine andere möglichkeit die zum laufen zu bekommen?

      • Hallo Serhan leider geht das nicht.
        Keine Ahnung warum.
        Hab hier den Arduiono Uno und den Zero.
        Bei beiden kommt der Fehler.
        ” Arduino: 1.6.9 (Windows 10), Board: “Arduino/Genuino Uno”

        D:\Eigene Dateien\Dokumente\Arduino\FastLED-FastLED3.1\examples\ColorTemperature\ColorTemperature.ino:1:21: fatal error: FastLED.h: No such file or directory

        #include

        ^

        compilation terminated.

        exit status 1
        Fehler beim Kompilieren für das Board Arduino/Genuino Uno.

        Dieser Bericht wäre detaillierter, wenn die Option
        “Ausführliche Ausgabe während der Kompilierung”
        in Datei -> Voreinstellungen aktiviert wäre.

        Ich kann von den examples auswählen was ich will.
        Von
        AnalogOutput, ColorTemperature bis XYMatrix
        irgend etwas muss ich Falsch machen.

        • D:\Eigene Dateien\Dokumente\Arduino\FastLED-FastLED3.1\examples\ColorTemperature\ColorTemperature.ino:1:21: fatal error: FastLED.h: No such file or directory

          Das ist wichtig dein FastLED.h kann nicht eingebunden werden. eventuell mal die Datei direkt in den ordner ColorTemperature einbinden oder die FastLED.H über die Arduino GUI einbinden: “Sketch->Bibliothek einbinden->FastLED” dann müsste es gehen

          • Hallo Serhan zuerst hat es nicht geklappt.
            Dann hab ich es Deinstalliert und wieder installiert, jetzt flackert es in einer bestimmte Reihenfolge. Ich will aber Ambibox benutzen. ColorTemperature ist nur zum testen o.k aber nichts für Ambibox.
            Weiß du welchen ich nehmen muss für Ambibox?

  9. Habe auch hier leider das selbe Problem wie bei all den vielen anderen Tutorials. Man macht genau das selbe wie in der Anleitung steht, doch es funktioniert nichts. Sobald ich das Programm auf das Arduino Board lade, passiert nichts. Bis auf das, dass das zuvor laufende Programm stoppt.
    Bitte dringenst um Hilfe, bin nach mehreren Tagen Arbeit und etwa 10 Tutorials, alles immer neui installieren, nahe am verzweifeln

    • hi,

      bitte mal im RPi Forum einen Thread eröffnen…WAS du genau schon gemacht hast und WO bzw WAS der fehler ist. Dort ist es einfacher Hilfe zu leisten als hier in den Kommanten.
      Gruß

  10. ich steige da irgenwie nicht richtig durch. Wo genau kommt das Signal (Bild) für den Arduino her? Wird das über den USB port weitergeleitet? O.o
    Bin etwas verwirrt

  11. Hallo Serhan
    Auf meinem Uno kann ich leider nichts mehr hochladen weil anscheinend Defekt.
    Jetzt habe ich hier ein Nano.
    DIe PIN Belegung ist hier natürlich anders wie auf dem UNO.
    Wo im Sketch kann ich die PIN Belegung für den Nano anpassen?

    • Steht eigentlich im Text 😛

      Im Sketch steht folgender Text:

      // LED data and clock lines are connected to the Arduino’s SPI output.
      // On traditional Arduino boards (e.g. Uno), SPI data out is digital pin
      // 11 and clock is digital pin 13.

      Was uns sagt das der Data Out Pin die Nummer 11 ist und der Clock Pin die Nummer 13 hat.

  12. Hallo Serhan das habe ich schon gesehen.
    Leider passiert nichts wenn ich da irgendwas eintrage.
    :: // LED data and clock lines are connected to the Arduino’s SPI output.
    // On traditional Arduino boards, SPI data out is digital pin D4 and
    // clock is digital pin D6. On both Teensy and the 32u4 Breakout,
    // data out is pin D4, clock is D6. LEDs should be externally
    // powered — trying to run any more than just a few off the Arduino’s
    // 5V line is generally a Bad Idea. LED ground should also be
    // connected to Arduino ground.
    Beispiel…
    Der Nano hat immer ein Buchstabe davor.
    Hab auch D11 und D13 probier geht nicht.

  13. Die Einstellung geht jetzt auf einmal
    “” // On traditional Arduino boards, SPI data out is digital pin D11 and
    // clock is digital pin D13. On both Teensy and the 32u4 Breakout,
    // data out is pin D11, clock is D13. LEDs should be externally “””

    So jetzt muss ich noch meine WS2812B zum laufen bringen.

  14. Hallo,
    erstmal tolle Arbeit mit der Anleitung!!!
    Würde ich auch gerne machen! Aber funktioniert das auch mit einem mini Pc
    wie z.B. einem intel Nuc in Verbindung mit
    Libreelec, also ohne Windows?
    Nutze mein Intel Nuc nur als Mediaplayer mit Libreelec für Filme und Serien.
    Im Netz find ich leider nur Anleitungen wie es mit einem Raspberry Pi als Multimediabox funktioniert, oder halt nur in Verbindung mit Windows!
    Da ich aber nur gerne Libreelec oder Openelec als Mediasoftware nutzen, fänd ich es gut wenn es dafür auch eine möglichkeit fürs Ambilight geben würde!?
    Würde mich auf eine b.z.w. jede Lösung freuen!!

  15. Hallo,

    ich habe mich nun mal an den Umbau gewagt. Anstatt LEDSTREAM habe ich aber FASTLED genutzt. Die Lib findet man auf diversen Internetseiten.naja was soll ich sagen: Läuft alles astrein unter WIN10. Die erste Fullscreen-Anwendung (ELEX) zeigte mir auch das Playclaw gar nicht mehr benötigt wird. Ich habe auch wirklich Vollbild eingestellt und nicht Rahmenloses Fenster. Getestet habe ich mitlerweile mit unterschiedlichen Anwendungen ( DOOM, SKYRIM, SNES9X, ANNO2205, ELEX, WIIU-EMULATOR…) Der Modus bei AMBIBOX steht auf “software screen grabbing / windows8”. Ich bin wirklich begeistert 😀

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*