Ambilight – Elektronik bauen

Kommen wir also endlich mal zu der Frage, wie denn nun eigentlich die Wand hinter dem TV beleuchtet werden soll. Hierzu war ich der Meinung, dass es eine gute Idee sei, die gesamte Bildschirmfläche gedanklich in 4×6 Bereiche zu unterteilen. Könnte ich die durchschnittliche Farbe innerhalb eines jeden dieser Rechtecke bestimmen und einer RGB-LED auf der Rückseite zuordnen, könnte der Effekt schon ausreichend sein. Logischerweise brauchte ich da nur die äußeren 16 Bereiche, weil eben nur genau diese die Wand über die Bildschirmränder hinaus sinnvoll ausleuchten würden. Ich könnte also den Algorithmus erstmal so aufbauen, dass er der Einfachheit halber alle 24 Bereiche eines Bildes analysiert und ich mir dann für die Bleuchtung nur die äußeren Flächen herausgreife. Doch wie mache ich das nun in der Umsetzung?

6×4 Felder

Erstmal ist es immer eine gute Idee, vorab zu überlegen welchen Teil der Datenverarbeitung man in Elektronik und welchen in Software auslagert. Da ich mit analoger Schaltungstechnik ein paar Tricks umsetzen kann, die der Software wertvolle Rechenzeit sparen, entschied ich mich dafür, einen Teil davon mit Operationsverstärkern umzusetzen und das Ganze zu simulieren.

Simulation im LT Spice

Hierzu wurde das Signal jedes Farbanteils auf einen nicht invertierenden Integrator gegeben. Dieser summiert das Signal über der Zeit auf. Somit ergibt sich ein hoher Wert am Integratorausgang je höher die Werte einer Zeile im Mittel sind. Ist das Bild schwarz, werden nur Nullen addiert und der Integrator gibt eine Null aus. Der Maximalwert am Ausgang des Integrators ergibt sich demnach, wenn alle Pixel auf maximaler Helligkeit für die jeweilige Farbe sind. Auf diese Weise lässt sich also der Mittelwert einer Farbe innerhalb einer Zeile des Bildes bestimmen. Und da ich das Ganze nun in 6 Fläche in der Horizontalen unterteilt habe, müsste ich diesen Mittelwert nach jedem Sechstel einer Zeile auslesen und den Integrator für den Anfang des nächsten Sechstels wieder zurücksetzen.

Für das Zurücksetzen bräuchte ich ein Signal von meinem Mikrocontroller und für das Erfassen des Integratorausgangs, der mir den mittleren Wert eines Farbanteils liefert, einen Pin, der direkt am ADC des Controllers hängt. Soweit so gut. Doch jetzt braucht es noch ein korrektes Timing damit das alles schnell und präzise genug abläuft. Das Ganze in Platinenform gegossen sah dann so aus.

Schematic und PCB
Links die fertige Platine, rechts das Discovery Board von ST
Sandwichbauweise
Navigation<< Ambilight – Schluss mit der grauen TheorieAmbilight – Rechenzeit gewinnen durch geschicktes Auswerten >>

Das könnte dich auch interessieren …

Schreibe einen Kommentar

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