Atmo-plugin
(→LED-Variante) |
(→Was brauche ich an zusätzlicher Hardware?) |
||
Zeile 34: | Zeile 34: | ||
====Was brauche ich an zusätzlicher Hardware?==== | ====Was brauche ich an zusätzlicher Hardware?==== | ||
Um atmolight zu benutzen sind in erster Linie externe "Lampen" erforderlich, mit denen die Wand ringsherum um den Fernseher beleuchtet wird. | Um atmolight zu benutzen sind in erster Linie externe "Lampen" erforderlich, mit denen die Wand ringsherum um den Fernseher beleuchtet wird. | ||
− | In der einfachsten Variante werden zwei solche benötigt, eine links und eine rechts vom Fernseher. Zusätlich ist ein spezieller "Dimmer" (=Ansteuerplatine/Controller) erforderlich, der vom vdr Informationen darüber erhält, welche Farben dargestellt werden sollen. | + | In der einfachsten Variante werden zwei solche benötigt, eine links und eine rechts vom Fernseher. Zusätlich ist ein spezieller "Dimmer" (=Ansteuerplatine/Controller) erforderlich, der vom vdr Informationen darüber erhält, welche Farben dargestellt werden sollen. Das Ganze wird über ein Netzteil mit Strom versorgt. |
+ | |||
+ | Zusammenfassung: | ||
+ | * 1x Ansteuerplatine | ||
+ | * 2x LED-Modul | ||
+ | * 2x Gehäuse für LED-Modul | ||
+ | * 1x Netzteil | ||
+ | |||
+ | Weiter unten wird auf die einzelnen Komponenten genauer eingegangen. | ||
====LED-Module/-Streifen==== | ====LED-Module/-Streifen==== |
Version vom 13. September 2006, 20:08 Uhr
Inhaltsverzeichnis |
Allgemeine Funktionsbeschreibung
Maintainer: Eike Edener, Daniel König
Autor(en): Eike Edener, Daniel König, Simon Canins, Peter Ippy
Das Atmolight-Plugin dient zum Ansteuern einer farbigen Hintergrundbeleuchtung für Fernsehgeräte. Die angezeigte Farbe hängt dabei vom Bildschirminhalt ab. Als Vorlage diente das Ambilight von Philips. Die Ansteuerung der Beleuchtung erfolgt über einen Mikrocontroller. Dieser wird über eine serielle Schnittstelle (oder über einen USB<->Seriell-Wandler) mit dem VDR verbunden. Als Lichtquellen kommen RGB Anordnungen aus CCFL Kaltlichtkathodenröhren oder Leuchtdioden (LEDs) zum Einsatz. Das Plugin ist in der Lage für jede der vier Kanten des Fernsehgerätes (also links/rechts/oben/unten) eine individuell berechnete Farbe auszugeben. Die Beleuchtung wird dann quasi als "Verlängerung" des Bildes über die Grenzen des Fernsehers hinaus genutzt. Zusätlich wird eine "Summenfarbe" ausgegeben, die verwendung findet, wenn nur eine RGB-Leuchte zentral hinter dem Fernsehgerät plaziert werden soll.
Es werden also laufend fünf verschiedene RGB Farbkanäle ausgegeben.
Status
Bilder
Hardware
Hardwareanforderungen
- VDR mit full featured DVB-Karte
- mind. 1 Ansteuerplatine mit Mikrocontroller
- LEDs als Leuchtmittel (CCFLs können auch verwendet werden, ihr Einsatz ist aber nicht zu empfehlen und wird im Moment nicht unterstützt)
LED-Variante
Was brauche ich an zusätzlicher Hardware?
Um atmolight zu benutzen sind in erster Linie externe "Lampen" erforderlich, mit denen die Wand ringsherum um den Fernseher beleuchtet wird. In der einfachsten Variante werden zwei solche benötigt, eine links und eine rechts vom Fernseher. Zusätlich ist ein spezieller "Dimmer" (=Ansteuerplatine/Controller) erforderlich, der vom vdr Informationen darüber erhält, welche Farben dargestellt werden sollen. Das Ganze wird über ein Netzteil mit Strom versorgt.
Zusammenfassung:
- 1x Ansteuerplatine
- 2x LED-Modul
- 2x Gehäuse für LED-Modul
- 1x Netzteil
Weiter unten wird auf die einzelnen Komponenten genauer eingegangen.
LED-Module/-Streifen
Um an die passenden LED-Module zu kommen gibt es zwei Möglichkeiten: 1) Selberbauen 2) Kaufen
Selbstbau LED-Streifen
Für den Selbstbau existiert ein Platinenlayout. Der LED-Streifen (ca. 200x25mm) wird mit jeweils 12 roten, blauen und grünen bestückt, durch Hintereinanderschalten lassen sich fast beliebig lange LED-Streifen herstellen: Die Superflux-LEDs können preisgünstig über ebay bezogen werden, 150 Stück kosten ca. 35€ plus Versand, leider ist die Qualität sehr stark vom Anbieter anhängig. (TODO: link) Zusätzlich werden natürlich die Platinen benötigt, Kosten ca. 5€ pro Stück bei Herstellung durch einen Platinenhersteller. Passende Vorwiderstände werden auch benötigt, für den Selbstbaustreifen wurden 100 Ohm für Rot, 180 Ohm für Blau und 270 Ohm für Grün verwendet (Tip: bei manchen ebay-Anbietern werden Vorwiderstände gleich mit angeboten). Ein Aufbau auf Lochraster ist zwar möglich, aber bei größerer LED-Stückzahl nicht zu empfehlen.Vor die LED-Streifen wird eine Streuscheibe montiert, sodaß eine möglichst homogene Farbmischung entsteht.
Gekaufte LED-Streifen
Momentan wurde atmolight mit spezielle RGB-LED-Streifen getestet, die über die über die Firma Alpha-Tec zu einem Sonderpreis bezogen werden können. Der Vorteil dieser Module ist, daß optional passende Diffusorröhren erworben werden können. In diese Rohre mit 40mm Durchmesser werden die Module einfach eingeschoben; die Röhren können mit simplen Rohrschellen befestigt werden. So ist eine einfache und saubere Montage möglich und zusätzlich wird für eine optimale Streuung der Farben gesorgt.
Ansteuerplatinen
Als Mikrocontroller kommt ein ATMega8 der Firma ATMEL zum Einsatz. Eine Ansteuerplatine mit Mikrocontroller und Leistungsteil kann jeweils 2 RGB-Kanäle ansteuern. Für eine Einkanal-Variante kann die Platine ebenfalls verwendet werden, eine vollständige Bestückung ist dann nicht erforderlich (halber Leistungsteil). Durch Kaskadierung von 2 Platinen kann eine 4-Kanal-Variante hergestellt werden; der serielle Datenstrom wird dann einfach von der ersten Platine an die zweite Platine durchgereicht. Beispiele für solche Aufbauten:
Die Helligkeitsregulierung der Leuchtmittel erfolgt dabei durch PWM (Pulsweitenmodulation). Für einen definierten Strom durch die LEDs wird mit Vorwiderständen und einer geregelten Versorgungsspannung gesorgt. Denkbar aber noch nicht getestet wäre auch zb. Luxeon LEDs mit einer zusätzlichen Konstantstromquelle und PWM zu betreiben.
ACHTUNG: Die Varianten werden vereint, bitte etwas Gedult. Wird letztendlich nur noch eine Universelle Platine geben mit verschiedene Bestückungsvarianten.
Das Aufspielen der Firmware auf den Mikrocontroller erfolgt über einen PC. Dazu wird ein Programmieradapter benötigt, der im einfachsten Falle nur aus einer handvoll Bauteilen besteht.
Bauteilelisten der Ansteuerplatinen
Soviel könnten die Bauteile für die Platine kosten :-) |
12,07€ |
CCFL-Variante
CCFL-Röhren
Bei den CCFLs gibt es aufgrund der temperaturabhängigen Lichtausbeute und des vorgeschalteten Inverters keinen direkten Zusammenhang zwischen Pulsbreite und Helligkeit, so daß eine Helligkeitsregelung erforderlich ist. Diese wird mit Hilfe von Fotodioden realisiert, die direkt an den CCFLs befestigt werden und so die die aktuelle Helligkeit an den Controller zurückliefern. Als CCFLs bieten sich die Modelle "Kaltlicht Kathoden Twin-Set" von Revoltec aus der Case-Modding-Szene an, diese sind für ca. 7€ pro Farbe erhältlich. Zur Montage der Fotodioden ist ein Zerlegen der Röhren erforderlich.
Software
Installation
Softwareanforderungen
Parameter
Folgende Kommandozeilenparameter gibt es
Parameter (kurz) | Parameter (lang) | Beschreibung |
---|---|---|
-n <IP>/<PORT> | --net=<IP>:<PORT> | Sende Daten übers Netzwerk (Z.b. 192.168.0.1:1234) |
-s <DEV> | --serial=<DEV> | Sende Daten an eine serielle Schnittstelle (Z.b. /dev/ttyS1) |
-o <MODE> | --output=<MODE> | Legt fest, welche Ansteuerplatine angeschlossen ist, mögliche Optionen sind: |
LED für eine der beiden Varianten der LED-Ansteuerplatine | ||
CCFL für die Ausgabe an die ursprüngliche CCFL-Platine (wird im Moment nicht unterstützt) |
Bedienung
Funktionsweise
Farberkennung
- Umrechnung von RGB-Farbraum in HSV-Farbraum
- Erzeuge Histogramm des Hue Kanals unter Berücksichtigung von Gewichtungsfaktoren und Gewichtungsfunktionen:
- Position des Pixels im Bild.
- Value des Pixels.
- Wende Fensterung mit Dreiecks-Fenster auf Hue-Histogramm an.
- Finde Maximum im gefensterten Hue-Histogramm.
- Damit ist der Farbton bestimmt.
- Erzeuge Histogramm verwendeten Saturation in der Umgebung der gefundenen Hue nter Berücksichtigung von Gewichtungsfaktoren und Gewichtungsfunktionen:
- Position des Pixels im Bild.
- Value des Pixels.
- Wende Fensterung mit Dreiecks-Fenster auf Saturation-Histogramm an.
- Finde Maximum im gefensterten Saturation-Histogramm.
- Damit ist die "Sättigung" bestimmt.
- 2 Modi
- Value Peak
- Bestimme Maximum von Value im Bild, sprich die höchste vorkommende "Helligkeit"
- Value Average
- Bestimme Mittelwert von Value im Bild, sprich die durchschnittliche "Helligkeit"
- Helligkeitsanpassung
- Zurückrechnen von HSV-Farbraum in RGB-Farbraum
Filter
Serielles Protokoll
Kanalnummer | Kanalbeschreibung |
---|---|
0 |
Mitte |
1 |
Links |
2 |
Rechts |
3 |
Oben |
4 |
Unten |