Atmo-plugin
Материал из RuVDRWiki
Содержание |
Описание
Maintainer: Eike Edener, Daniel König
Авторы: Eike Edener, Daniel König, Simon Canins, Peter Ippy
Atmolight-Plugin предназначен для цветной подсветки заднего плана телевизора. При этом цвет зависит от изображения на экране. Прообразцом являлся Ambilightот Philips. Управление реализовоно через Mikrocontroller, который подключен через последовательный порт (или USB<->Seriell-преобразователь) интерфейс с VDR'ом. Для цветной подсветки берётся RGB-расположенние из Светодиод (LEDs). Plugin может выдавать для каждой из четырех сторон телевизора (значит левой/правой/верхней/нижней) индивидуальный вычисленный цвет. Подсветка используется практически как "продолжение" изображения за приделы экрана. Кроме того, выдаётся "суммарный цвет", для освещения только одной LED-лампой, которая должна быть расположена центрально позади телевизора.
Следовательно, выдаются пять разных RGB-цветовых канала
Иллюстрация
Демонстрация
P2k1 и kc_captain представили в немецком VDR-Портале свои системы с фотографиями.
http://www.vdr-portal.de/board/thread.php?threadid=57731
http://www.vdr-portal.de/board/thread.php?threadid=58491
Управление
SVDRP команды
Plugin можно тоже управлять через SVDRP команды:
| Команда | Описание |
|---|---|
| ON | включает Atmolight |
| OFF | выключает Atmolight |
| STATUS | выдаёт статус Atmolight (вкл/выкл.) |
| LIVE_HSV | выключает в Live-Mode |
| <color> | включает на определенный цвет, возможные цвета: |
| 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 |
Требования к аппаратному обеспечению
- 1 Для VDRа
- VDR с full featured DVB-картой со свободным /dev/video0-Device (невозможно одновременное применение xawtv, tvtime и.т.п.) или
- Softdevice-Plugin (03.12.2006: CVS-Version необходимо)
- мин. 1 плата с Mikrocontrollerom
- светодиоды (LED-модули)
- блок питания
- 2 Для Windows
- Atmolight можно применять также и под Windows, независимо от Linux.Для игр или других Mediacenterlösungen и тд.
- Программа уже рабочая, но находится ещё в разработной стадии, больше здесь: Atmolight под Windows XP
- мин. 1 плата с Mikrocontrollerom
- LED-модули
- блок питания
LED-модули
Существуют две возможности приобрести подходящие LED-модули:
- Сделать самому
- Купить
Самодельные LED-модули
Для самодельных есть Platinenlayout. LED-полоска (примерно 200x25mm) состоит из 12 красных, синих и зелёных светодиодов, подсоединяя одну за другой LED-полоски можно достичь любой длины.Купленные LED-модули
Купить можно у фирмы Alpha Tec
В двух размерах
- трубка 48см, диаметр Ø 40мм, плата 43см (3 части примерно по 14,5см).
- трубка 92см, диаметр Ø 40мм, плата 87см (6 частей примерно по 14,5см).
Блок питания
Для CA "common anode" LED-Модулей нужно 12 Вольт питание, брать можно от PC-Netzteil.
Плата управления
Принцип работы
Как микропроцессор берётся ATMega8 с фирмы ATMEL. Одна плата управления с микропроцессором и силовой частью может управлять 2-мя RGB-каналами. При каскадировании двух плат управления можно изготовить 4-х канальный вариант, при этом сигналы с первой платы управления передаются дальше на вторую плату.
Примеры подсоединения:
Яркость светодиодов регулируется по принципу Широтно-импульсной модуляции (ШИМ). Для ограничения тока через светодиоды, применяются первостепенные сопротивления и урегулированной Versorgungsspannung.
Изготовление платы управления
Для самостоятельного изготовления надо сделать одностороннюю плату размером в 77мм x 90мм. Изготовление на Lochraster плате возможно, но не рекомендуется.
Все запчасти можно закупить у фирмы Reichelt.
Список запчастей
| Запчасть | заказной Номер | цена | количество | сумма | замечание |
| Следующие запчасти которые нужны и для „common cathode“ и для „common anode“ версии: | |||||
| 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 € | |
| 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 € | |
| 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 € | ||||
| Дополнительные запчасти для „common anode“ версии:: | |||||
| MOSFET | IRF 540N | 0,52 € | 6 | 3,12 € | |
| Summe | 3,12 € | ||||
| Дополнительные запчасти для „common cathode“ версии: | |||||
| 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 |
|||
Схема
Layout
Bestückung
Смотря какой вариант вы выбрали с совместным (коммон катодом) или (коммон анодом), вам надо применить одну из следующих табель:
|
Stückliste для " коммон катоде" версии
|
Stückliste для "коммон аноде" версии:
|
ВНИМАНИЕ: В зависимости избранного варианта надо следующим образом припаять мосты на J1 / J2.
Прошивка микропроцессора
Прошивка микрокода на микропроцессор происходит на компьютере. Для этого нужен программер который состоит в простом случаи из полу горсти запчастей.
Предлагается для применения свободная программа PonyProg
Установка в Ponyprog:
"Setup->Interface Setup":"Setup->Calibration" "Device->AVR micro->ATmega8"
Потом подсоединяем программер между компьютером и платой. Теперь устанавливаем, так называемые, "Fuse Bits":
"Commands->Security and Configuration Bits" Сейчас обязательно нажать на "Read"! Заключительно выстовляем так все галочки:и нажимая на "Write" прописываем всё на процессор.
Теперь открываем фаил "softpwm.hex" "File->Open Program(FLASH) file" и командой "Command->Write All" загружаем в микропроцессор.
Установка каналов на плате управления
На плате управления нажодятся два канала CH1 и CH2, к которым можно подсоединить два LED-модуля, и каждому каналу выставить джамперами сторону каторую он должен производить (левая/правая/верхняя/нижняя или суммарный цвет).
Пример показан на первом канале CH1.
| Einstellung | Описание |
|---|---|
| суммарный цвет |
| левая |
| правая |
| верхняя |
| нижняя |
Требования к программному обеспечению
VDR версия >= 1.4.0
Установка
На OSD можно выставить следующие:
| Параметр | Описание |
|---|---|
| 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. ;-) |
Параметры
Folgende Kommandozeilenparameter gibt es:
| Параметр (сокр.) | Параметр (полн.) | Описание |
|---|---|---|
| -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) |











