Wer schon immer mal ein vollwertiges Ambilight für seinen PC wollte für den habe ich hier eine Lösung. Ist mit ein wenig Basteln verbunden, aber wirklich schwierig ist es nicht. Das ganze läuft von Win XP bis Win 7 64 und auch unter Linux.
Gleich zu Anfang, wie bauen uns das hier: adalight 50 channels - YouTube
Dieses System ist bereits jetzt prima zum Video schauen geeignet. Unterstützung von Spielen ist eher noch in der Entwicklung. D3D9 Spiele gehen teilweise schon ganz gut. OpenGL und höhere DX Versionen sind im kommen. Desktop geht damit sowieso.
Ihr braucht
1 x (oder mehr) 25 RGB LED Strang mit WS2801 Chip (45 €)
z.B. hier: 12mm RGB LED Strang (25 Stück) - WS2801 - Watterott electronic
1 x Arduino zum ansteuern des Ganzen (26 €)
z.B. hier: Arduino Uno Rev 3 - Watterott electronic
1 x 5V Netzteil zur Versorgung des LEDs, je nach dem wie viele ihr nutz, pro 25 LEDs sind 1,5A empfohlen (5 - 10 €)
z.B. hier Netzteile - Watterott electronic
Einiges an Kleinkram, paar Kabel, 3 Jumperpins für die Steckkontakte, Buchse fürs Netzteil (wer es nicht fest verlöten will), Schrumpfschlauch, Lötkolben, Klebeband, Kabelbinder, eine Grundplatte für die LEDs (das kommt ganz drauf an wie ihr das individuell bauen wollt).
Planung
Die erste Frage ist natürlich wie viele LEDs brauche ich für meinen Monitor. Da ist natürlich erstmals ausmessen und rechnen angesagt. Mit den vorgegebenen Kabelverbindungen ist ein maximaler Abstand von ca. 8 - 9 cm zwischen den LEDs möglich. Man kann es natürlich durchschneiden und verlängern. Ein Abstand von ca. 6 cm ist in der Regel ein ganz vernünftiger. Wesentlich enger zusammen überlagern sich die Leuchtkegel der LEDs zu stark und die Farben sind nicht mehr so klar zu erkennen. Natürlich um so mehr und dichter man die LEDs hat desto detaillierter und hochauflösender wird das Ambilight.
Dann muss eine Möglichkeit gefunden werden die LEDs zu befestigen. Manche kleben sie einfach auf der Rückseite um den Schirm mit Klebeband fest. Ich finde es aber am sinnvollsten sie auf einer Platte (z.B. diese dünnen Platten die als Möbelrückwand verwendet werden) zu montieren. Steht der Monitor nur auf dem Tisch, kann man vielleicht einfach wie ich eine Platte mit Ausschnitt zum einfachen Aufstecken auf den Monitorstandfuß machen. Da wo der Monitor steht ist dann natürlich auch keine Ausleuchtung. Oder man nimmt in seine Platte die Bohrungen für die Wandhalterung mit rein und montiert sie fest hinter den Bildschirm.
Ein Abstand von ca. 10 cm der LEDs zur Wand ist ganz praktikabel. Meine Grundplatte habe ich auf jeder Seite 2 cm kleiner gehalten als die äußeren Abmaße des Monitors (um zu verhindern das man die LEDs an sich sehen kann wenn man von der Seite guckt, kann ja nicht jeder genau vorm Monitor sitzen beim Kinoabend).
Hardware
Ist alles da kann es los gehen:
Das Netzteil versorgt die LEDs, der Arduino wird über den USB Port versorgt. Also wird erst mal der Stecker am LED Strang abgeschnitten damit wir an die Kabel kommen. Auf dem Chip in der LED kann man die Belegung ablesen. Sie sollte wie folgt sein:
Die +5 V des externen Netzteils kommen direkt an den LED Strang (rotes Kabel). Ebenso die Masse (Ground) des Netzteils mit der der LEDs verbinden (blaues Kabel) hier aber bitte noch ein weiteres Kabel mit der Masse verbinden. Dieses kommt dann auf die Arduino Platine in der Steckerreihe "Digital (PWM~)" in den GND Anschluss. Das Grüne Kabel (Serial Clock) wird in der gleichen Reihe auf Position 13 gesteckt. Das gelbe Kabel (Serial Data) geht in Position 11.
Das war es schon was die Elektronik Arbeiten betrifft.
Also zur Platte: Ich selber habe mir auf meine Grundplatte noch eine Randerhöhung mit 12mm PVC Rohren gebaut. Damit ich die LEDs in einem 45° Winkel auf die Wand richten kann. Dann habe ich alles abgemessen um die LEDs gleichmäßig zu verteilen und Löcher in die Platte gebohrt wo dann alles mit Kabelbindern (auch die PVC Rohre aus Bequemlichkeit auf die gleiche Weise) befestigt wurden.
Achtet auch darauf keine Lüftungsschlitze am Monitor zu blockieren.
Bei der Verteilung der LEDs ist drauf zu achten unten mittig zu beginnen und die LEDs im Uhrzeigersinn zu verteilen (aus Sicht auf den Bildschirm, hat man seine Platte vor sich liegen natürlich genau anders herum). Sie sind zwar später völlig frei konfigurierbar was die Position betrifft aber es macht es einfacher weil die Standard Profile von dieser Verteilung ausgehen und die LEDs aber der Verbindung zum Arduino von 1 - 25 durchnummeriert werden.
Damit ist der Hardware teil erledigt.
Software
(Ich habe nur Windows, also kann ich über Linux nichts schreiben, aber es wird ähnlich ablaufen.)
Zuerst muss der Arduino vom System erkannt werden und die Software zur LED Steuerung auf den Arduino. Dazu benötigt ihr Arduino IDE: Arduino - Software
Dort enthalten sind die Treiber und eine Software um den Arduino zu programmieren. Erst die Treiber. Steckt euren Arduino in einen freien USB Port und sagt Windows wo die Treiber sind. Dann schaut in eurem Geräte Manager nach, der Arduino sollte unter "Anschlüsse Com & LPT" auftauchen. In Klammern steht auch der ComPort (Ich hatte anfangs Probleme mit dem hochladen der Steuerfirmware die ich lösen konnte indem ich dem Arduino ComPort 1 zugewiesen haben.), den merken wir uns.
Dann die Arduino.exe aus diesem Paket starten und prüfen ob ComPort und Arduino Bezeichnung stimmen, wenn nicht korrigieren.
Jetzt brauchen wir noch die Software die wir auf den Arduino laden, die gibts hier:
https://github.com/adafruit/Adalight
Im Ordner /Arduino/LEDstream die LEDstream.pde mit der Arduino IDE öffnen, diese erscheint in einem neuen Fenster und dann einfach auf kompilieren und hochladen. Fertig.
Der Arduino ist jetzt bereit Steuerbefehle für die LEDs zu empfangen. Also brauchen wir jetzt noch ein Programm was den Bildschirminhalt analysiert und die entsprechenden Befehle dort hin sendet. Dazu ist Prismatik (Windows, Linux und Mac, früher Lightpack) gut geeignet:
Downloads - Prismatik - USB- (keine Sorge das Programm beinhaltet auch die Englische Sprache)
Es gibt auch noch Alternativen, z. B. Boblight
Nach dem Installieren macht es im Fall von Windows und der Nutzung von Aero Sinn einen rechts-klick auf der Prismatik Verknüpfung zu machen und unter Eigenschaften/Kompatibilität "Desktopgestaltung deaktivieren" zu aktivieren. Ohne Aero ist das Programm wesentlich schneller und ressourcenschonender außerdem hat es einen Bug mit Aero, dass nach einer Weile der Speicher vollläuft und Windows Aero sowieso abschalten wird. Man müsste es sich danach manuell wieder einschalten. Aber mit dieser Einstellung schaltet Windows Aero aus solange Prismatik läuft und wird Prismatik beendet kommt auch Aero automatisch wieder zurück.
In Prismatik selber wählen wir unter Settings/Device das wir ein Adalight haben und stellen die Nummer der Anzahl der LEDs ein. Hier auch prüfen ob der richtige ComPort eingestellt ist. Dann unter "Profiles" bekommt man auch schon bunte nummerierte Kästchen und kann diese auf dem Bildschirm verteilen. Diese Kästchen markieren immer genau den Bereich aus dem die Farbinformation für die einzelne LED berechnet wird. Ich selber habe momentan diese Anordnung:
Man kann sie also auf dem Bildschirm größer ziehen und verschieben oder auch im Texteditor arbeiten. Profile werden gespeichert und man kann auch mehrere haben.
Für den Anfang eine Hilfe ist vielleicht auch diese Seite die einem schon mal ein Grundprofil erstellt: Calculator for Adalight with Lightpack
Unten bei der Spracheinstellung kann man noch den Experten Modus aktivieren welcher ein paar weitere Optionen bietet. Z. B. Gamma Korrektur, welche noch eine weiter Helligkeitsanpassung gibt. Jeh kleiner der Wert desto heller, aber Vorsicht, hier gehen die Farbinformationen verloren ein Wert von 0.1 leuchtet eigentlich nur noch weiß. Werte zwischen 1.5 und 2 finde ich ganz brauchbar.
Unter Mode kann man noch die Reaktionszeit einstellen. Es muss ja nicht unbedingt 1ms sein (kann man bei leistungsstarken Geräten auch machen) aber es macht auch nicht viel Sinn das das Licht mit mehr Bildern die Sekunde reagiert als das Video was man damit schauen will vielleicht tatsächlich hat. Da kann man also experimentieren, zwischen 20 - 50 sind vielleicht gute Werte.
Ja im großen und ganzen ist es das. Hier noch der Link zur Englischsprachigen Projektseite:
Adalight - An Arduino-Powered DIY Ambient Monitor Light
Auch ein wenig aufpassen muss man wenn man einen 16:10 Monitor hat und in die überwachten Zonen teilweise in die schwarzen Balken, die ja oft über und unter den Videos sind, fallen. Das mindert natürlich die Helligkeit. Also stellt man sich seinen Video Player am besten so ein sich die 16:9 Video ins Vollbild zu zoome. Oder für die breiteren Kinofilme erstellt man sich vielleicht ein extra Profil bei dem die oberen und unteren Zonen soweit nach unten versetzt werden das sie nicht in der Schwärze landen.
Erweiterung auf 50 LEDs und ein paar Beispiele für Zonenverteilung auf dem Bildschirm: Post #24
Edit: alternativ Boblight mit XBMC Post #59
Gleich zu Anfang, wie bauen uns das hier: adalight 50 channels - YouTube
Dieses System ist bereits jetzt prima zum Video schauen geeignet. Unterstützung von Spielen ist eher noch in der Entwicklung. D3D9 Spiele gehen teilweise schon ganz gut. OpenGL und höhere DX Versionen sind im kommen. Desktop geht damit sowieso.
Ihr braucht
1 x (oder mehr) 25 RGB LED Strang mit WS2801 Chip (45 €)
z.B. hier: 12mm RGB LED Strang (25 Stück) - WS2801 - Watterott electronic
1 x Arduino zum ansteuern des Ganzen (26 €)
z.B. hier: Arduino Uno Rev 3 - Watterott electronic
1 x 5V Netzteil zur Versorgung des LEDs, je nach dem wie viele ihr nutz, pro 25 LEDs sind 1,5A empfohlen (5 - 10 €)
z.B. hier Netzteile - Watterott electronic
Einiges an Kleinkram, paar Kabel, 3 Jumperpins für die Steckkontakte, Buchse fürs Netzteil (wer es nicht fest verlöten will), Schrumpfschlauch, Lötkolben, Klebeband, Kabelbinder, eine Grundplatte für die LEDs (das kommt ganz drauf an wie ihr das individuell bauen wollt).
Planung
Die erste Frage ist natürlich wie viele LEDs brauche ich für meinen Monitor. Da ist natürlich erstmals ausmessen und rechnen angesagt. Mit den vorgegebenen Kabelverbindungen ist ein maximaler Abstand von ca. 8 - 9 cm zwischen den LEDs möglich. Man kann es natürlich durchschneiden und verlängern. Ein Abstand von ca. 6 cm ist in der Regel ein ganz vernünftiger. Wesentlich enger zusammen überlagern sich die Leuchtkegel der LEDs zu stark und die Farben sind nicht mehr so klar zu erkennen. Natürlich um so mehr und dichter man die LEDs hat desto detaillierter und hochauflösender wird das Ambilight.
Dann muss eine Möglichkeit gefunden werden die LEDs zu befestigen. Manche kleben sie einfach auf der Rückseite um den Schirm mit Klebeband fest. Ich finde es aber am sinnvollsten sie auf einer Platte (z.B. diese dünnen Platten die als Möbelrückwand verwendet werden) zu montieren. Steht der Monitor nur auf dem Tisch, kann man vielleicht einfach wie ich eine Platte mit Ausschnitt zum einfachen Aufstecken auf den Monitorstandfuß machen. Da wo der Monitor steht ist dann natürlich auch keine Ausleuchtung. Oder man nimmt in seine Platte die Bohrungen für die Wandhalterung mit rein und montiert sie fest hinter den Bildschirm.
Ein Abstand von ca. 10 cm der LEDs zur Wand ist ganz praktikabel. Meine Grundplatte habe ich auf jeder Seite 2 cm kleiner gehalten als die äußeren Abmaße des Monitors (um zu verhindern das man die LEDs an sich sehen kann wenn man von der Seite guckt, kann ja nicht jeder genau vorm Monitor sitzen beim Kinoabend).
Hardware
Ist alles da kann es los gehen:
Das Netzteil versorgt die LEDs, der Arduino wird über den USB Port versorgt. Also wird erst mal der Stecker am LED Strang abgeschnitten damit wir an die Kabel kommen. Auf dem Chip in der LED kann man die Belegung ablesen. Sie sollte wie folgt sein:
Die +5 V des externen Netzteils kommen direkt an den LED Strang (rotes Kabel). Ebenso die Masse (Ground) des Netzteils mit der der LEDs verbinden (blaues Kabel) hier aber bitte noch ein weiteres Kabel mit der Masse verbinden. Dieses kommt dann auf die Arduino Platine in der Steckerreihe "Digital (PWM~)" in den GND Anschluss. Das Grüne Kabel (Serial Clock) wird in der gleichen Reihe auf Position 13 gesteckt. Das gelbe Kabel (Serial Data) geht in Position 11.
Das war es schon was die Elektronik Arbeiten betrifft.
Also zur Platte: Ich selber habe mir auf meine Grundplatte noch eine Randerhöhung mit 12mm PVC Rohren gebaut. Damit ich die LEDs in einem 45° Winkel auf die Wand richten kann. Dann habe ich alles abgemessen um die LEDs gleichmäßig zu verteilen und Löcher in die Platte gebohrt wo dann alles mit Kabelbindern (auch die PVC Rohre aus Bequemlichkeit auf die gleiche Weise) befestigt wurden.
Achtet auch darauf keine Lüftungsschlitze am Monitor zu blockieren.
Bei der Verteilung der LEDs ist drauf zu achten unten mittig zu beginnen und die LEDs im Uhrzeigersinn zu verteilen (aus Sicht auf den Bildschirm, hat man seine Platte vor sich liegen natürlich genau anders herum). Sie sind zwar später völlig frei konfigurierbar was die Position betrifft aber es macht es einfacher weil die Standard Profile von dieser Verteilung ausgehen und die LEDs aber der Verbindung zum Arduino von 1 - 25 durchnummeriert werden.
Damit ist der Hardware teil erledigt.
Software
(Ich habe nur Windows, also kann ich über Linux nichts schreiben, aber es wird ähnlich ablaufen.)
Zuerst muss der Arduino vom System erkannt werden und die Software zur LED Steuerung auf den Arduino. Dazu benötigt ihr Arduino IDE: Arduino - Software
Dort enthalten sind die Treiber und eine Software um den Arduino zu programmieren. Erst die Treiber. Steckt euren Arduino in einen freien USB Port und sagt Windows wo die Treiber sind. Dann schaut in eurem Geräte Manager nach, der Arduino sollte unter "Anschlüsse Com & LPT" auftauchen. In Klammern steht auch der ComPort (Ich hatte anfangs Probleme mit dem hochladen der Steuerfirmware die ich lösen konnte indem ich dem Arduino ComPort 1 zugewiesen haben.), den merken wir uns.
Dann die Arduino.exe aus diesem Paket starten und prüfen ob ComPort und Arduino Bezeichnung stimmen, wenn nicht korrigieren.
Jetzt brauchen wir noch die Software die wir auf den Arduino laden, die gibts hier:
https://github.com/adafruit/Adalight
Im Ordner /Arduino/LEDstream die LEDstream.pde mit der Arduino IDE öffnen, diese erscheint in einem neuen Fenster und dann einfach auf kompilieren und hochladen. Fertig.
Der Arduino ist jetzt bereit Steuerbefehle für die LEDs zu empfangen. Also brauchen wir jetzt noch ein Programm was den Bildschirminhalt analysiert und die entsprechenden Befehle dort hin sendet. Dazu ist Prismatik (Windows, Linux und Mac, früher Lightpack) gut geeignet:
Downloads - Prismatik - USB- (keine Sorge das Programm beinhaltet auch die Englische Sprache)
Es gibt auch noch Alternativen, z. B. Boblight
Nach dem Installieren macht es im Fall von Windows und der Nutzung von Aero Sinn einen rechts-klick auf der Prismatik Verknüpfung zu machen und unter Eigenschaften/Kompatibilität "Desktopgestaltung deaktivieren" zu aktivieren. Ohne Aero ist das Programm wesentlich schneller und ressourcenschonender außerdem hat es einen Bug mit Aero, dass nach einer Weile der Speicher vollläuft und Windows Aero sowieso abschalten wird. Man müsste es sich danach manuell wieder einschalten. Aber mit dieser Einstellung schaltet Windows Aero aus solange Prismatik läuft und wird Prismatik beendet kommt auch Aero automatisch wieder zurück.
In Prismatik selber wählen wir unter Settings/Device das wir ein Adalight haben und stellen die Nummer der Anzahl der LEDs ein. Hier auch prüfen ob der richtige ComPort eingestellt ist. Dann unter "Profiles" bekommt man auch schon bunte nummerierte Kästchen und kann diese auf dem Bildschirm verteilen. Diese Kästchen markieren immer genau den Bereich aus dem die Farbinformation für die einzelne LED berechnet wird. Ich selber habe momentan diese Anordnung:
Man kann sie also auf dem Bildschirm größer ziehen und verschieben oder auch im Texteditor arbeiten. Profile werden gespeichert und man kann auch mehrere haben.
Für den Anfang eine Hilfe ist vielleicht auch diese Seite die einem schon mal ein Grundprofil erstellt: Calculator for Adalight with Lightpack
Unten bei der Spracheinstellung kann man noch den Experten Modus aktivieren welcher ein paar weitere Optionen bietet. Z. B. Gamma Korrektur, welche noch eine weiter Helligkeitsanpassung gibt. Jeh kleiner der Wert desto heller, aber Vorsicht, hier gehen die Farbinformationen verloren ein Wert von 0.1 leuchtet eigentlich nur noch weiß. Werte zwischen 1.5 und 2 finde ich ganz brauchbar.
Unter Mode kann man noch die Reaktionszeit einstellen. Es muss ja nicht unbedingt 1ms sein (kann man bei leistungsstarken Geräten auch machen) aber es macht auch nicht viel Sinn das das Licht mit mehr Bildern die Sekunde reagiert als das Video was man damit schauen will vielleicht tatsächlich hat. Da kann man also experimentieren, zwischen 20 - 50 sind vielleicht gute Werte.
Ja im großen und ganzen ist es das. Hier noch der Link zur Englischsprachigen Projektseite:
Adalight - An Arduino-Powered DIY Ambient Monitor Light
Auch ein wenig aufpassen muss man wenn man einen 16:10 Monitor hat und in die überwachten Zonen teilweise in die schwarzen Balken, die ja oft über und unter den Videos sind, fallen. Das mindert natürlich die Helligkeit. Also stellt man sich seinen Video Player am besten so ein sich die 16:9 Video ins Vollbild zu zoome. Oder für die breiteren Kinofilme erstellt man sich vielleicht ein extra Profil bei dem die oberen und unteren Zonen soweit nach unten versetzt werden das sie nicht in der Schwärze landen.
Erweiterung auf 50 LEDs und ein paar Beispiele für Zonenverteilung auf dem Bildschirm: Post #24
Edit: alternativ Boblight mit XBMC Post #59
Zuletzt bearbeitet: