Atmo-plugin
Inhaltsverzeichnis
|
Beschreibung
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 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.
Die Atmolight-Hardware kann auch unter Windows betrieben werden. Mehr dazu hier: Atmolight unter Windows XP
Status
Die aktuelle Version ist vdr-atmo-0.1.1.tgz. Diskussion im VDR-Portal.
Eine Nachbauanleitung für die notwendige Hardware (Ansteuerplatine, LED-Module) findet sich weiter unten, ebenso eine Bezugsquelle für fertige LED-Module.
Bilder
Videos
P2k1 und kc_captain haben im VDR-Portal eine Vorstellung Ihres Systems mit weiteren Bildern und Videos gepostet.
http://www.vdr-portal.de/board/thread.php?threadid=57731
http://www.vdr-portal.de/board/thread.php?threadid=58491
Bedienung
SVDRP Befehle
Das Plugin kann auch über SVDRP gesteuert werden:
Befehl | Beschreibung |
---|---|
ON | schaltet das Atmolight an |
OFF | schaltet das Atmolight aus |
STATUS | gibt den Status des Atmolights aus (ein- oder ausgeschaltet) |
LIVE_HSV | schaltet in den Live-Mode |
<color> | schaltet auf die angegebe Farbe um, möglich sind: |
BLACK, WHITE, RED, GREEN, BLUE, YELLOW, CYAN, MAGENTA | |
<channel> <r_value> <g_value> <b_value> | Farbwert (als RGB-Wert, jeweils 0-255) auf dem Kanal (ALL, CENTER, LEFT, RIGHT, TOP, BOTTOM) darstellen |
Hardwareanforderungen
-
- VDR mit full featured DVB-Karte mit freiem /dev/video0-Device (kein Parallelbetrieb mit xawtv, tvtime etc. möglich) oder
- Softdevice-Plugin (03.12.2006: CVS-Version notwendig)
- mind. 1 Ansteuerplatine mit Mikrocontroller
- LEDs als Leuchtmittel
- evtl. Netzteil
Was brauche ich an zusätzlicher Hardware?
Um das Atmolight zu benutzen sind in erster Linie externe "Lampen" erforderlich, mit denen die Wand ringsherum um den Fernseher beleuchtet wird. In der Stereo-Variante werden zwei solche "Lampen" benötigt, eine links und eine rechts vom Fernseher. Zusätzlich 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.
Benötigt wird also:
- 1-4 LED-Lichtquellen (je nach Anzahl gewünschter Kanäle und verfügbarer Controller)
- 1 oder 2 Ansteuerplatinen (jede Ansteuerplatine bietet 2 Kanäle)
- 1x Netzteil
Die LED-Lichtquellen bestehen in der Regel aus LED-Modulen und passenden Gehäusen.
Weiter unten wird auf die einzelnen Komponenten genauer eingegangen und Bezugsquellen werden genannt.
LED-Module
Um an die passenden LED-Module zu kommen gibt es zwei Möglichkeiten:
- Selberbauen
- Kaufen
Selbstgebaute LED-Module
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.Gute Super-Flux LEDs wurden u.a. bei diesem Anbieter erstanden. Zu beachten ist, daß die LEDs evtl. unterschiedliche Abstrahlwinkel haben. Dies ist aber aufgrund des vorgesetzten Diffusors kein Problem. Zusätzlich werden natürlich die Platinen benötigt, Kosten ca. 5€ - 10€ 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 aufgrund des Arbeitsaufwands nicht zu empfehlen.
Vor die LED-Streifen wird eine Streuscheibe montiert, so daß eine möglichst homogene Farbmischung entsteht. Alternativ lassen sich die Streifen auch in die Diffusorröhren einschieben, die für die Kaufstreifen verwendet werden. Dazu muß lediglich die Platine auf 29mm verbreitert werden.
Die selbstgebauten LED-Streifen benötigen eine Versorgungsspannung von 12V und sind "common anode".
Gekaufte LED-Module
Momentan wird die Ansteuerplatine für das Atmolight mit speziellen RGB-LED-Streifen getestet, die über die Firma Alpha Tec zu einem Sonderpreis bezogen werden können. Der Vorteil dieser Module ist, dass optional passende Diffusorröhren erworben werden können. In diese Röhren mit 40 mm 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 und Farbmischung gesorgt.
Die Röhren haben eine minimale Länge von 48 cm und beinhalten jeweils ein 43 cm LED-Modul.
Es können mehrere LED-Module in eine Röhre eingebaut werden. Für einen 40" Fernseher kann z. B. eine Röhre mit 2 LED-Modulen installiert werden. Diese hat dann eine Länge von ca. 92 cm. Auch Zwischenmaße sind möglich, da jedes 43 cm LED-Modul in 3 Teile zu je ca. 14,5 cm geteilt werden kann.
Wie die LED-Module an die Ansteuerplatine angeschlossen werden können, wird weiter unten erklärt. Für diese LED-Module ist eine Ansteuerplatine in der "common cathode" Variante notwendig. Die Betriebsspannung der Module beträgt 24 V. Es ist also ein zusätzliches Netzteil erforderlich.
An jedem Modul ist ein kurzes Stück Leitung und ein Stecker angelötet. Sollen 2 Module hintereinander betrieben werden, dient diese Leitung zum Verbinden der Module. Will man ein Modul steckbar betreiben, so ist es ratsam, die Anschlußleitung vom Modul mit Hilfe eines Seitenschneiders zu entfernen und die andere Seite der Leitung wieder ans Modul anzustecken. Die "abgezwickte" Seite kann nun verlängert werden, entweder mit einer kleinen Lüsterklemme oder per Lötkolben und Schrumpfschlauch.
Die Steckerbelegung des Moduls ist dem folgenden Bild zu entnehmen:
Netzteil
Wenn LED-Module mit einer Betriebsspannug von 12 V verwendet werden, können diese grundsätzlich aus dem PC-Netzteil versorgt werden.
Für die bei Alpha Tec erhältlichen Module ist ein zusätzliches 24 V Netzteil erforderlich.
Für je 4 solcher Streifen sollte das Netzteil ca. 1 A liefern können. Passende Netzteile sind z. B. bei Reichelt oder Conrad erhältlich.
Ansteuerplatine
Funktionsbeschreibung
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.
Das Layout der Ansteuerplatine wurde so universell gestaltet, dass durch Variation in der Bestückung sowohl LED-Module mit gemeinsamer Kathode(-), wie z.B. die im Jahr 2006 gelieferten Module von "Alpha Tec", als auch gemeinsamer Anode(+), wie z.B. die Selbstbaustreifen und die im Jahr 2007 von "Alpha Tec" gelieferten Module, verwendet werden können. Es können LED-Streifen mit Versorgungsspannungen zwischen 12V und 48V betrieben werden. Bei der Variante mit gemeinsamer Kathode müssen die verwendeten Z-Dioden an die Betriebsspannung angepasst werden.
Nachbau der Ansteuerplatine
Um die Ansteuerplatine nachzubauen, muss eine einseitige Platine mit den Maßen 77 mm x 90 mm hergestellt werden. Ein Aufbau auf Lochraster ist sicher möglich, jedoch nicht empfehlenswert.
Alle zur Bestückung notwendigen Bauteile können bei der Firma Reichelt bezogen werden.
Bauteilliste
Bauteil | BestNr | EP | Menge | GP | Bemerkung |
Folgende Bauteile sind sowohl bei einem „common cathode“ als auch „common anode“ Aufbau notwendig: | |||||
Spule für Schaltregler | 09P 2,2m | 0,36 € | 1 | 0,36 € | |
Widerstand 100Ohm | 1/4W 100Ohm | 0,03 € | 6 | 0,20 € | |
Widerstand 10KOhm | 1/4W 10K | 0,03 € | 1 | 0,03 € | |
Quarz | 14,7456-HC18 | 0,16 € | 1 | 0,16 € | |
Diode für Schaltregler | 1N 5819 | 0,15 € | 1 | 0,15 € | |
Klemme | AKL 169-10 | 1,85 € | 1 | 1,85 € | |
Wannenstecker für Klemme | AKL 183-10 | 0,83 € | 1 | 0,83 € | |
ATMega8 | ATMega 8-16 DIP | 1,65 € | 1 | 1,65 € | |
Kondensator 22p Glimmer | CY22-222P | 0,49 € | 2 | 0,98 € | oder Kerko 22p |
DSUB Buchse | D-SUBBU09EU | 0,27 € | 1 | 0,27 € | |
DSUB Stecker | D-SUBST09EU | 0,27 € | 1 | 0,27 € | |
IC Sockel 16pol | GS 16P | 0,18 € | 2 | 0,36 € | |
IC Sockel 28pol | GS 28P-S | 0,33 € | 1 | 0,33 € | |
IC Sockel 8pol | GS 8 P | 0,09 € | 1 | 0,09 € | |
Jumper mit Fahne | Jumper 2,54GL RT | 0,05 € | 6 | 0,30 € | |
Schaltregler 500mA | LM 2574 N5 | 0,97 € | 1 | 0,97 € | Ab einer Versorgungsspannung von 40V bis max. 60V muss der Typ LM2574 HVN5 verwendet werden! |
RS232 Treiber | MAX 232 EPE | 1,85 € | 1 | 1,85 € | oder MAX 232 CPE |
Sicherung | MINITRÄGE 0,315 | 0,34 € | 2 | 0,68 € | |
Kondensator 100n folie | MKS-2100N | 0,07 € | 4 | 0,28 € | |
Sicherungshalter | PL 166600 | 0,28 € | 1 | 0,28 € | |
Elko 2,2µ/100V | RAD 105 2,2/100 | 0,04 € | 6 | 0,24 € | |
Elko 220µ/100V | RAD 105 220/63 | 0,10 € | 3 | 0,30 € | |
Stiftleiste | SL 2X10G 2,54 | 0,13 € | 1 | 0,13 € | |
Stecker 10pol | WSL 10G | 0,07 € | 1 | 0,07 € | |
Summe | 12,63 € | ||||
Für den „common anode“ Aufbau sind zusätzlich folgende Bauteile notwendig: | |||||
MOSFET | IRF 540N | 0,52 € | 6 | 3,12 € | |
Summe | 3,12 € | ||||
Für den „common cathode“ Aufbau sind zusätzlich folgende Bauteile notwendig: | |||||
Treiber IC | ULN2003A | 0,17 € | 1 | 0,17 € | |
Z-Diode | ZD12 | 0,06 € | 6 | 0,36 € | ZD12 = 12V Z-Diode, passend für 24V Versorgungsspannung. Für 48V Versorgungsspannung bitte stattdessen ZD36 verwenden! |
Widerstand 1K5 | 1/4W 1K5 | 0,03 € | 6 | 0,20 € | |
MOSFET | IRF 9540 | 0,66 € | 6 | 3,96 € | |
Summe | 4,69 € | ||||
Gesamtsumme Bauteile „common anode“ | 15,75 € | ||||
Gesamtsumme Bauteile „common cathode“ | 17,32 € | ||||
Geätzte Platine dazu ca. | 6,00-20,00 € | Je nach Hersteller und Stückzahl |
Schaltplan
Layout
Bestückung
Je nachdem, ob die Variante für gemeinsame Kathode (common cathode) oder die für gemeinsame Anode (common anode) aufgebaut werden soll, müssen die Bauteile gemäß der folgenden beiden Listen bestückt werden:
Stückliste für die "common cathode" Version:
|
Stückliste für die "common anode" Version:
|
ACHTUNG: Zusätzlich müssen in Abhängigkeit von der Variante die Brücken bei J1 / J2 so eingelötet werden:
Test des Aufbaus
Ist die Platine fertig bestückt, sollte das auf der Platine befindliche Schaltnetzteil getestet werden. Dazu ist es notwendig, IC1, IC2 und IC3 nicht zu bestücken. Da IC4 der Schaltregler ist, muss dieser natürlich bestückt werden.
Anschließend muss die Platine mit Gleichspannung versorgt werden. Nun sollte z. B. zwischen den Pins 15 und 16 von IC2 eine Spannung von 5 V anliegen.
Ist das der Fall, kann die Platine wieder von der Versorgungsspannung getrennt werden und die restlichen ICs können eingesteckt werden.
Aufspielen der Firmware
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.
Es empfiehlt sich die frei verfügbare Programmiersoftware PonyProg zu verwenden.
Einstellung in Ponyprog:
"Setup->Interface Setup": "Setup->Calibration" "Device->AVR micro->ATmega8"
Danach den Programmieradapter zwischen Platine und PC anschließen. Jetzt sollten die sogenannten "Fuse Bits" eingestellt werden:
"Commands->Security and Configuration Bits" Dann unbedingt erst auf "Read" klicken! Anschließend alle Häkchen so setzen: und mittels "Write" in den Prozessor übertragen.
Nun die Datei "softpwm.hex" über "File->Open Program(FLASH) file" laden und mit "Command->Write All" in den Mikroprozessor schreiben.
Inbetriebnahme der Ansteuerplatine
Mittels Jumper muss eingestellt werden, wo sich die LED-Leuchten befinden, die an die jeweilige Ansteuerplatine angeschlossen werden sollen.
Die beiden Kanäle der Platine sind mit CH1 und CH2 bezeichnet. Für jeden dieser beiden Kanäle kann unabhängig eingestellt werden, welche Farbe sie anzeigen sollen.
Es sind folgende Einstellungen möglich; hier exemplarisch für CH1 aufgezeigt:
Einstellung | Beschreibung |
---|---|
Summenkanal | |
links | |
rechts | |
oben | |
unten |
Jetzt können die LED-Module und das Netzteil an die Ansteuerplatine angeschlossen werden. Das Atmolight sollte nun betriebsbereit sein und kann über den linken RS232 Anschluß mittels einer SUB-D 9pol Verlängerung an den VDR angeschlossen werden.
Nachträglich von "Common Cathode" nach "Common Anode" umbauen
Sollte es notwendig sein eine bereits aufgebaute "Common Cathode" Ansteuerplatine nachträglich auf "Common Anode" umzubauen, so kann wie im Folgenden beschrieben vorgegangen werden.
Es müssen die sechs bereits eingelöteten MOSFETs (IRF9540) durch andere Typen ersetzt werden (IRL540N). Zusätzlich müssen lediglich noch ein paar Bauteile überbrückt und die Codierbrücken J1 und J2 "getauscht" werden.
Es wird folgendes Material benötigt: 6x IRL540N und Litze (z.B. Beinchen von Widerständen)
Die folgende Anleitung soll die notwendigen Schritte verdeutlichen:
Schritt 1: Die MOSFETs T1-T6 (IRL9540) mit Hilfe einer Entlötpumpe vorsichtig auslöten. Es darf nicht zu viel Kraft auf die Lötaugen ausgeübt werden, da sich diese sonst leicht von der Platine lösen! Ebenso ist darauf zu achten, dass die Lötaugen nicht zu lange erhitzt werden!
Schritt 2:
Die Widerstände R2, R4, R6, R8, R10, R12 mit Hilfe eines kleinen Seitenschneiders entfernen und dann die neuen MOSFETs (IRF530/IRF540) wieder als T1-T6 einlöten.
Schritt 3:
Nun müssen die Dioden D1-D6 auf der Rückseite der Platine mit Hilfe einer dünnen Litze überbrückt werden.
Einige Pins von IC3 (ULN2003) müssen auf die gleiche Art überbrückt werden (siehe Bild). Danach ist das IC aus der Schaltung zu entfernen!
Beim anlöten der Brücken ist darauf zu achten, dass diese keinen Kontakt mit Leiterbahnen herstellen, die zwischen den Pins verlaufen. (->Messen!)
Schritt 4:
Zuletzt sind noch die Brücken J1/J2 zu tauschen.
VORHER |
NACHER |
FAQ zu den Atmo-Sets aus Papsis Sammelbestellung
F: Ist der mitgelieferte Atmel Prozessor bereits programmiert?
A: Ja!
F: Ich habe die "Fertigversion" bestellt, ist die Platine bereits anschlußfertig und getestet?
A: Ja!
F: Was bedeuten die Klemmenbezeichnungen auf der Platine?
A:
- VCC = Plus
- GND = Minus
- COM = Bei CA Version: Plus, bei CC Version: Minus (auf jeden Fall der schwarze Draht an den LED-Modulen!)
- R = Rot
- G = Grün
- B = Blau
F: Wie wird das Netzteil angeschlossen?
A: Der Stecker vom mitgelieferten Netzteil muss abgeschnitten werden. Dann muss die vom Netzteil kommende Seite abisoliert und an die Klemmleiste an der Platine angeschlossen werden. Der isolierte Innenleiter ist Plus(VCC) und das äußere Schirmgeflecht ist Minus(GND). Auf Isolation ist zu achten, die Adern dürfen sich nicht berühren, sonst Kurzschluss.
F: Wie werden die Led-Streifen an die Platine angeschlossen?
A: Die Led-Streifen haben zwei 4-polige Stecker auf der Rückseite. An einen dieser beiden Stecker wird eins der mitgelieferten kurzen Kabel angeschlossen. Der Steckverbinder am anderen Ende dieses kurzen Kabels muss abgeschnitten werden und die abgeschnittenen Enden müssen an die Platine angeklemmt werden. Der schwarze Draht muss an COM, die anderen an R, G, B.
F: Diese kurzen Kabel sind ja viel zu kurz! Was kann ich da machen?
A: Die kurzen Kabel können verlängert werden! Dabei ist auf ausreichende Isolation zu achten. Es gibt mehrere Möglichkeiten zum Verlängern:
- verlöten und mit Schrumpfschlauch isolieren
- Quetschverbinder aus dem KFZ Bedarf
- Lötverbinder aus dem KFZ Bedarf
- Lüsterklemmen
F: Welche Leitung kann ich zum Verlängern verwenden?
A: Es kommt eigentlich jede min. 4 adrige Leitung in Frage. Der Querschnitt sollte mindestens 0,5mm² betragen und es sollte darauf geachtet werden, dass er sich an die Platine anklemmen läßt, also nicht zu groß sein.
Da es schwer bzw. nicht unbedingt preiswert ist eine min. 4 adrige Leitung mit ausreichend großem Querschnitt zu kaufen, wird häufig 2x0,75mm² Lautsprecherkabel eingesetzt. Dieses Kabel verlegt man dann einfach doppelt.
Wenn die Leitung unbedingt mind. 4 adrig sein soll, dann sollte man sich nach sogenannten Ölflex Steuerkabeln umsehen. Diese gibt es auch mit ausreichend großen Querschnitten und in 4 adriger Ausführung (z.B. bei Conrad).
F: Warum ist nicht alles komplett anschlussfertig? Es hieß doch „Fertigversion“
A: Weil der gute Papsi auch noch ein Privatleben hat und es nicht jedem 100% passgenau machen kann. Da jeder es anders einbauen wird und jeder andere Kabellängen benötigt. Mit Fertigversion war immer nur die Platine gemeint. Also komplett aufgebaut, programmiert und getestet – dass die Kabel selbst herzustellen und zu besorgen sind war im entsprechende Thread zu lesen.
F: Wie ist die Belegung des RS232 Kabels und welche Pins werden benötigt?
A: Es wird ein 1:1 belegtes Kabel benötigt, konkret müssen die Pins 5 und 3 durchverdrahtet sein. Für eine spätere Erweiterung, z.B. Helligkeitssensor sollte auch Pin 2 angeschlossen werden.
F: Wie kann ich die LED Streifen ohne Controller testen / das Netzteil testen?
A: Die LED-Leisten können auch direkt an das 24V Netzteil angeschlossen werden.
- Bei CommonCathode Leisten:
- GND(Schirm der vom Netzteil kommenden Leitung) auf die schwarze Leitung vom LED-Modul
- VCC(Innenleiter der vom Netzteil kommenden Leitung) auf eine oder alle drei der farbigen Leitungen vom LED-Modul
- GND(Schirm der vom Netzteil kommenden Leitung) auf die schwarze Leitung vom LED-Modul
- Bei CommonAnode Leisten:
- VCC(Innenleiter der vom Netzteil kommenden Leitung) auf die schwarze Leitung vom LED-Modul
- GND(Schirm der vom Netzteil kommenden Leitung) auf eine oder alle drei der farbigen Leitungen vom LED-Modul
- VCC(Innenleiter der vom Netzteil kommenden Leitung) auf die schwarze Leitung vom LED-Modul
F: Wozu ist der ISP Anschluss gut, bzw was bedeuted ISP?
A: Siehe dazu: http://de.wikipedia.org/wiki/In-System-Programmierung
Softwareanforderungen
VDR in der Version >= 1.4.0
Installation
Wie für Plugins üblich (siehe Plugin Installation). Danach müssen nur noch die Aufrufparameter in der runvdr angepaßt werden (Auswahl der Eingabe- und Ausgabeschnittstelle), siehe Parameter.
Konfiguration
Einstellungen
Im OSD können folgene Einstellungen vorgenommen werden:
Parameter | Beschreibung |
---|---|
Start-Modus / Startmode | Beim Start von VDR ist das Atmolight:
immer an / always on: eingeschaltet immer aus / always off: ausgeschaltet timerabhängig / timer dependent: nur eingeschaltet, wenn der VDR NICHT durch einen Timer gestartet wurde |
Widescreen-Modus / Widescreen mode | Diese Option ist für Nutzer von 16:9 Fernsehern gedacht. Bei solchen Geräten ist ein Modus einstellbar, bei dem 4:3 Bilder oben und unten beschnitten werden um sie formatfüllend darzustellen. In diesem Fall wird die Berechnung normalerweise (= ja / yes) auf Basis "unsichtbarer" Bildteile durchgeführt. Um diese Streifen von der Berechnung auszunehmen muss = nein / no gesetzt werden. |
Gewichtung / Power of weighting | je höher die Zahl ist, desto stärker wird die Berechnung der Farben auf den Bildinhalt in der Nähe des jeweiligen Bildrands konzentriert |
Helligkeit / Brightness | dient zur Anpassung der LED-Helligkeit an die Bildhelligkeit |
Gamma-Korrektur / Gamma correction | aus / off: keine Gammakorrektur im Plugin Anmerkung: die Ansteuerplatine führt schon intern eine Korrektur durch, so dass eine Korrektur im Plugin eigentlich nicht nötig ist. Evtl. sind feine Anpassungen an den jeweiligen Fernseher nötig; dann sind Gamma-Werte um "10" herum zu verwenden.
gleichmäßig / uniform: auf alle Farbkanäle wird die gleiche Korrektur angewandt pro Kanal / by channel: jeder der Farbkanäle kann separat korrigiert werden |
Gamma (Red/Green/Blue) | Gamma-Wert der Korrektur. Der angezeigte Wert muss durch 10 dividiert werden: 20 steht also für ein Gamma von 2,0 |
Filter / Filter | Für jedes Vollbild wird eine Farbe berechnet. Um "Flackern" zu vermeiden, wird eine Art Mittelwert zwischen den gefundenen Farben gebildet.
Prozent / percentage: jeder neu berechnete Farbwert trägt einen bestimmten Prozentsatz zur angezeigten Farbei bei. Dieser Filter wirkt oft sehr "nervös", aber auch wunderbar "spontan". gemeinsam / combined: es wird ein laufender Mittelwert aus den berechneten Farben gebildet. Über welche Zeitspanne der Mittelwert gebildet werden soll, wird mit Filterlänge / Filter length festgelegt; je größer die Zahl, desto langsamer wird übergeblendet. Zusätzlich wird überwacht, ob es einen "Sprung" in den berechneten Farbwerten gibt (z.B. bei einem Szenenwechsel). Ein "Sprung" wird erkannt, wenn die neue Farbe vom Mittelwert den Abstand Filterschwelle / Filter threshold hat. Je größer diese Zahl ist, desto seltener werden Sprünge erkannt. Wenn ein Sprung erkannt wird, dann wird die angezeigte Farbe sofort auf den neuen Wert korrigiert. Wenn kein Sprung erkannt wurde, kommt wieder der "percentage" Filter zum Einsatz und sorgt für einen leicht sanften Übergang. Je größer der Wert von Filterglätte / Filter smoothness, desto sanfter ist der Übergang. |
Modus / Mode | Es gibt verschieden Betriebsmodi für das Atmolight, einige sind für die Einrichtung und den Test der Leuchten hilfreich. Normalerweise wird es in einem "live" Modus betrieben:
Livebild / live picture (HSV): Es wird eine Farbraumtransformation durchgeführt, Histogramme werden erzeugt, gefenstert und ausgewertet. Farbtonfenster / Hue windowing und Sättigungsfenster / Sat windowing geben an, wie breit die Fensterung der jeweiligen Histogramme erfogt. Höhere Werte "glätten" die Histogramme stärker. Schwarzgrenze / Darkness limit wird dazu verwendet, dunkle Pixel von der Berechnung auszuschließen. So werden zB. schwarze Balken im Bild einfach übersprungen und Bildrauschen bei schwarzen Bildteilen wird ignoriert. Je größer der Wert, desto mehr wird ignoriert. Helligkeits-Modus / Brightness mode steuert die Helligkeit der Leuchten in Abhängigkeit des Bildes. Bei Durchschnitt / average entspricht die Helligkeit der mittleren Bildhelligkeit. Höchstwert / peak stellt die Helligkeit nach den hellsten Bildanteilen ein. Standardfarbe / default color: Es kann eine statische Farbe ausgewählt werden: schwarz, weiß, rot, grün, blau, gelb, cyan oder magenta. statische Farbe / static colors: Es kann eine statische Farbe durch Mischen der Komponenten rot, grün und blau erzeugt werden. Weißkalibrierung / white calibration: Weißabgleich: Die Werte 255 für rot, grün und blau sollten die Farbe "weiß" ergeben. Sollte das Weiß einen Farbstich aufweisen, läßt sich dies durch Absenken des Wertes der entsprechenden Farbe kompensieren (z.B. bei Rotstich den Rotwert so lange verkleinern, bis ein reines Weiß entsteht). Danach das Zurückstellen auf den Live-Mode nicht vergessen. ;-) |
Parameter
Folgende Kommandozeilenparameter gibt es:
Parameter (kurz) | Parameter (lang) | Beschreibung |
---|---|---|
-i <INPUT_DEVICE> | --input=<INPUT_DEVICE> | gibt an, welches Input-Device verwendet werden sollen (z.B. FFDVB für die im VDR als Primary Device verwendete Full-Featured-DVB-Karte mit Devicebezeichnung /dev/videoX oder SOFTDEVICE für das Softdevice-Plugin) |
-o <OUTPUT_DEVICE=PARAMETER> | --serial=<OUTPUT_DEVICE=PARAMETER> | gibt an, an welche Schnittstelle die Ausgabedaten geschickt werden sollen (z.B. SERIAL=/dev/ttyS1 oder NETWORK=192.168.0.1:1234) |
Sonstiges
Interne 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
- Filterung
Serielles Protokoll
Baudrate: 38400 bps Parity: None Datenbits: 8 Stopbits: 1
Nachrichtenformat:
Byte | Beschreibung |
---|---|
0 |
0xFF: Startbyte |
1 |
0x00: Startkanal (low byte) |
2 |
0x00: Startkanal (high byte) |
3 |
0x0F: Anzahl Kanäle (15 = 5 * 3 (R, G, B)) |
4 - 6 |
Summenkanal R, G, B (Center) |
7 - 9 |
linker Kanal R, G, B (Left) |
10 - 12 |
rechter Kanal R, G, B (Right) |
13 - 15 |
oberer Kanal R, G, B (Top) |
16 - 18 |
unterer Kanal R, G, B (Bottom) |
Beispiel:
Folgende Nachricht (in hexadezimaler Darstellung) gibt auf allen Kanälen hellstes Rot aus:
0xFF 0x00 0x00 0x0F 0xFF 0x00 0x00 0xFF 0x00 0x00 0xFF 0x00 0x00 0xFF 0x00 0x00 0xFF 0x00 0x00
Test über eine Konsole:
setserial /dev/ttySX baud_base 115200 divisor 3 spd_cust stty -F /dev/ttySX 38400 echo -e '\0377\0000\0000\0017\0377\0000\0000\0377\0000\0000\0377\0000\0000\0377\0000\0000\0377\0000\0000' > /dev/ttySX (X entsprechend an die benutzte serielle Schnittstelle anpassen, z.B. 0 = COM1)
Versions-Historie
Version | Datum | Beschreibung | Link |
---|---|---|---|
0.1.1 | 17.12.2006 |
|
[1] |
0.1.0 | 03.12.2006 |
|
[2] |
0.0.6 | 19.11.2006 |
|
[3] |
0.0.5 | 21.10.2006 |
|
[4] |
0.0.4 | 05.10.2006 |
|
[5] |
0.0.3 | 24.09.2006 |
|
[6] |
0.0.2 | 17.09.2006 | (thanks to Daniel König, Simon Canins & Peter Ippy)
|
[7] |
0.0.1 | 11.06.2006 | (thanks to Daniel König)
|
[8] |