А если нужно сделать такую подсветку для телевизора? Вот есть у меня телевизор, а подсветки у него нетути. Сзади есть SCART - я так понимаю, там есть и видеовыход.
Эту - нельзя. Тут микроконтроллер уже не справится, чтоб разобрать видеосигнал - надо или ПЛИС ставить или сигнальный процессор. Я давно уже думаю над этой идеей, но пока простого метода решения так и не придумал.Можно конечно поставить быстрое 3-канальное АЦП и ПЛИС, но это будет уже довольно дорогое и сложное устройство и мало кто сможет его повторить.
Странно... Частота развёртки у телевизора - самое большее 100 Гц. Частота строчной развёртки порядка 78 КГц. На выходе телевизора УЖЕ разобранный по цвету сигнал (RGB). Осталось только нормировать его и определить среднюю температуру по больнице, чтобы подсветить полученным цветом. Можно рассматривать RGB как ШИМ с частотой заполнения 78 КГц, а это вполне посильное дело для МК с тактовой частотой 8...16 МГц.
А если отсекать первую и вторую половины периода кадровой развёртки, то можно определить цвет для подсветки правой и левой стороны телевизора.
Всех с наступившим праздниками. Успехов всем во всех начинаниях. Вот пока отдыхал решил сделать подсветку. Собрал схему (Схема 1_2), прошил (Ambilight1_2.hex). Работает светит, но периодически тухнет через разные промежутки времени, почитал форум нашел подправленную версию (Ambilight_1_2_fixed_14745.hex), что эта версия у меня совсем моргает как угодно. Если кто использовал версию Ambilight_1_2_fixed_14745.hex отпишитесь. Потом нашел здесь исходники которые любезно предоставил Александр, я их подправил в соответствии с рекомендациями APf72, тоже не помогло. Александр если можно выложи крайний исходник прошивки или на почту. Спасибо
Была идея сделать все это на аналоговых деталях, но всплыла проблема коммутации - быстрых дешевых и доступных ключей я не нашел. А цифровыми средствами - вот допустим есть у нас 78 кГц строка. Для уверенного результата нам нужно сделать как минимум 15 измерений на каждой ее половине. Значит за проход строки надо сделать 30 измерений. А это уже 2.5 МГц. АЦП нужно нехилое. Да и не каждый МК способен адекватно принять и обработать такие данные. Можно конечно не привязываясь к развертке делать: АЦП мерит как может, а мы уже потом смотрим куда попала измеренная точка. Но тогда точки будут "плавать" и мне кажется ничего хорошего из этого не выйдет. В любом случае если делать - то уже 8 или больше зон - четырех маловато. Да и поддержку DVI делать надо, чтоб с компом без драйверов работать. Я под ПК пишу неважно и все тормозит из-за этого. Кто знает как DVI устроен? Я думаю уже нет надобности под VGA че-то мудрить, у всех щас уже DVI хотя-бы один, да есть...
Добавлено спустя 2 минуты 55 секунд: Тот что 14745 - это версия для кварца 14.745 МГц, вроде моргание я там не правил... В версии 1А все исправлено, но она для другой платы... Посмотри вот эту: http://alex.roboforum.ru/works/files/wo ... ht_1_2.rar Я честно говоря и не помню в какой они исправлены. Так уж получилось что у меня не осталось на руках ни одного комплекта...
Добавлено спустя 1 минуту: Еще известный глюк - перепутаны местами 3 и 4 ноги ком-порта. Это вообще от кабеля зависит.
Решил сделать себе подобную подсветку, выбрав данное устройство за базовый вариант. В первую очередь за простоту конструкции и выложенные исходники на C Выбирал среди следующих альтернатив 1) Momolight (первое что нашел) - отказался, т.к. держит всего 3 канала (у меня телевизор висит на стенке, и мне нужно 4 канала со всех сторон). http://lx.divxstation.com/article.asp?aId=151&page=3 2) Boblight (http://blogger.xs4all.nl/loosen/) - нет исходников прошивки. Сделан на пике. 3) Atmo-light (http://www.vdr-wiki.de/wiki/index.php/Atmo-plugin) - уж больно сложная схема. в плюсах - масштабируемость, однако мне достаточно 4-х каналов. Не, можно конечно и больше (как на последних филипсах сделано чуть ли не индивидуальное управление каждым светодиодом по периметру телевизора), но это слишком трудоемко делать да и софтину для компа придется свою писать. Минусы - сайт на немецком! Не нашел не то что исходником прошивки AVR, а даже откомпилированной версии. Понятно, что искал плохо, ибо нашел надпись про ее фриварность, но немецкий не способствует поискам. Еще большая дороговизность готовой конструкции, ибо там целых два микроконтроллера используется (тоже AtMega8) (в принципе логично - видимо ШИМ аппаратно реализован) 4) ну и вариант с этого сайта
Единственное - придется немного переделать схему, воткнув mosfetы на выходе, но это мелочи. В качестве излучающих элементов буду использовать ленту со светодиодами - http://www2.dealextreme.com:8080/details.dx/sku.14965 Несмотря на то, что придется ждать доставки около трех недель, это намного более дешевый и простой вариант, чем лепить из отдельных (особенно трехцветных) светодиодов аналог. Правда на весь телевизор одной не хватит
Далее, хочу коснуться протокола обмена. Во первых в устройстве с этой темы не понял, зачем автор в конце пакета передает символ 13 ? Судя по прошивке он лишний... Глотается где-то? а потом - а зачем передавать номер канала а потом цвет? С одной стороны - это гибко, с другой стороны - готовое устройство всеравно имеет 3/4 канала, да и передается опять же информация по всем каналам. Все остальные устройства передают информацию по всем каналам в одной посылке, что на мой взгляд более удобно. Например у Bobolight посылка выглядит как префикс (0xFF) R1 R2 R3 R4 G1 G2 G3 G4 B1 B2 B3 B4, momolight - тоже самое, только нет префикса. Atmolight - префикс немного другой (0xFF 0x00 0x00) и после префикса идет число каналов в посылке. Чем плох вариант без префикса (как в этом устройстве и в momolight) - если будет потерян хоть один байт, то устройство больше не сможет синхронизироваться. А так моргнет и все будет Ок. Из софта понравился софт у Boblight, тем более (мне правда не актуально) он умеет под линуксом работать. Пробовал софтину от Atmo-light - комп с ней достаточно сильно тормозил.
13 в конце добавлялось само - я такой контрол готовый использовал. Тогда других просто не знал. Номер передается потому что (скажу по секрету) этот контроллер я юзал для очень многих целей всяких рекламных контор. Просто нужен был гибкий и простой интерфейс. Вообще я уже сказал где-то тут что на это я забиваю и если буду дальше делать - то только с подключением прямо к видеосигналу - чтоб не нагружать ЦП. А связь с компом сохраню только для всяких настроек. Но это будет уже совсем другая история...
Добавление по результатам эксплуатации девайса 1) Посмотрел как оно работает. Потом сравнил с родным амбилайтом от филипса. У филипсов, покрайней мере более-менее последний, сторона телевизора не подсвечивается целиком, а вместо этого разбита на две части (как минимум боковина. насколько разбиты верх и низ не смотрел). Ну и визуально мне не всегда нравилось, как выглядит подсветка при наличии единой лампы по всей стороны. Вообщем посмотрел на ленту со светодиодами и в итоге родилось решение, когда верх и низ разбиты на 4 части, а лево и право на две. Итого на телевизор нужно 12 RGB каналов. 2)ну 12 не 12, а может захотеться и больше. Или не только для ТВ это решение применить. Вообщем нужна расширяемая версия. 3) Ну и протокол обмена должен поддерживать расширяемость.
Вообщем, решил что лучше всего подходит протокол Atmolight (ну и софт Boblightd его держит). Протокл устроил тем, что в пакете можно передавать инфу например для каналов с 10 по 15, сокращая ходимые данные. Ну и переработал прошивку. Теперь несколько девайсов можно объединять в цепочку и слать единый пакет с данными для всех или пакетик с данными только для конкретного чипа (ну или нескольких каналов из рядом стоящих чипов). Результат мне понравился.
К сообщению прикладываю схему и плату модуля на 8 RGB каналов (несколько таких модулей могут объединяться последовательно), и прошивку для чипов.
Это все уже давно понятно. Зимой займусь этой темой. Будет 32 или даже 64 канала. Уже естественно на Альтере. Плюс доп. блок видеозахвата - чтоб без драйвера работать, прямо от второго DVI-порта видеокарты.
А почему Альтера? По цене она вроде заметно дороже тех же Мега8 получается. Все равно в разводке основное место обвязка займет, те же мосфеты. Хотя имхо для трех RGB светодиодов mosfet вешать жирновато, ну да ладно. Весь плюс предлагаемого мной варианта в масштабируемости, когда можно навешать энное количество модулей друг за другом, при этом модуль на 8 RGB каналов имеет размер 10 на 10 см (наверно можно и уменьшить, если вместо mosfet рулить светодиодами через чтонить типа uln2803. Впрочем mosfetы позволяют большим током рулить). А делать на одной плате 32 или 64 канала конечно можно, но я прикинул габариты такой конструкции... Там же одни разъемы по периметру места немеряно сожрут. Разве что ради видеозахвата, но и то, предложил бы не смешивать все, а сделать отдельный модуль, который цифрует видео и выдает уже информацию для модулей подсветки. Впрочем конечно каждому свое.
Добавлено спустя 14 минут 33 секунды: В дополнение к предыдущему - в любом случае я не спорю с автором треда. Огромное ему спасибо за схему и прошивку, которые послужили базой для моей конструкции. Я просто предлагаю альтернативу, которая может быть кому нибудь окажется более подходящей. Мне например оцифровка видео была не нужна, ибо у меня все равно все что показывается на экране телевизора идет с компа, даже теже телепрограммы. Поэтому нагрузить процессор еще и выдачей инфы для подсветки - это самое простое и эффективное решение. Плюс опять же контроллер подсветки выходит проще и дешевле.
А всем ли нужно разгребать сигнал с DVI/HDMI ? мне вот например не нужно. Плюс к тому, я хочу заюзать подсветку для освещения комнаты, поэтому мне не нужно разгребать сигнал с DVI/HDMI, вместо этого некий аналог диммера будет выдавать команды для модулей подсветки. имхо проще заюзать везде однотипные модули подсветки с разными модулями управления (от компа, от диммера, от разбора DVI/HDMI и т.д.), чем под каждую задачу городить свой блок. я не навязываю свое мнение, я просто привел свой вариант.