roboforum.ru

Технический форум по робототехнике.


Подсветка а-ля Ambilight

Здесь расположены обсуждения и проекты, которые с точки зрения администрации форума представляют наибольший интерес.
Правила форума
В этом форуме новые темы не создаются, однако обсуждение допустимо.

Подсветка а-ля Ambilight

Сообщение -= Александр =- » 10 сен 2006, 00:42

Ходил я седня по компутерным магазинам и видел всякие модные навороты... А потом увидел телек с функцией Ambilight - на задней панели по 4 сторонам стоят полноцветные диоды. Светятся эти диоды цветом, которого на данной части экрана больше всего. Эффект просто офигенный! Считай стена становится продолжением экрана, переферийным зрением это неплохо воспринимается.

Мысль: сделать девайс, реализующий это на обычном ПК. Тоесть лепим за монитор диоды, втыкаем плату управления в КОМ или ЛПТ, ставим на комп прогу - и дело в шляпе. Электронику я собиру за один вечер, а вот что делать с программой? В кодинге под винды я мало что смыслю... Конечно знаю что надо влезть в видеопамяти и поглядеть что там за цвет в данном углу в данный момент, но вот как это сделать в виндовзе - без понятия. Кто поможет?

Внимание! Последняя версия программы и прошивки находится здесь:
http://alex-fox.org/?page=ambilight/ambilight
Убедительно рекомендую прочитать всю эту тему перед тем, как что-либо делать.

Исходник прошивки и софта там тоже есть.

Из того что выкладывалось в этой теме:
Вот софт: viewtopic.php?f=88&t=1650&start=105#p43733
Вот плата и прошивка: viewtopic.php?f=88&t=1650&start=180#p53950

По многочисленным просьбам плата и схема отсинхронизированы:
forum88/topic1650-570.html#p175669
Прошивается прошивкой от версии 1.2

Яндекс-кошелек для респектов и благодарностей: 41001485945353
Последний раз редактировалось -= Александр =- 07 окт 2006, 21:11, всего редактировалось 1 раз.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Re: Подсветка

Сообщение gab » 10 сен 2006, 01:26

-= Александр =- писал(а):Ходил я седня по компутерным магазинам и видел всякие модные навороты... А потом увидел телек с функцией Ambilight - на задней панели по 4 сторонам стоят полноцветные диоды. Светятся эти диоды цветом, которого на данной части экрана больше всего. Эффект просто офигенный! Считай стена становится продолжением экрана, переферийным зрением это неплохо воспринимается.

Мысль: сделать девайс, реализующий это на обычном ПК. Тоесть лепим за монитор диоды, втыкаем плату управления в КОМ или ЛПТ, ставим на комп прогу - и дело в шляпе. Электронику я собиру за один вечер, а вот что делать с программой? В кодинге под винды я мало что смыслю... Конечно знаю что надо влезть в видеопамяти и поглядеть что там за цвет в данном углу в данный момент, но вот как это сделать в виндовзе - без понятия. Кто поможет?


Не знаю как у вас в виндах, а у нас линуксе всё просто и раздельно:
1. Делаем драйвер ambilight (через какой порт - не важно), который регистрирует устройство /dev/ambilight.
Само устройство можно сделать на простой CPLD и tps6140.
Для любителей геморроя - на AVR.
2. В любимый плеер (например, mplayer) делаем постпроцессор, который работает c /dev/ambilight. Математика проста: строим гистограмму встречаемости цвета. Цвет, до этого, лучше сразу квантовать. Максимальный пик - тот цвет, которым нужно подсветить. Рекомендую поставить НЧ фильтр на решение, что б глаза не убить.

Смысл подобной ахинеи для меня ускользает... Подобные вещи хороши для телевизора (с очень низким разрешением картинки!) с большой диагональю, на большом удалении. Когда не хватает собственной светимости, для нивелирования шума изображения.
Хотя у меня только 17-шка и настольная лампа, направленная за панель...
gab
 
Сообщения: 212
Зарегистрирован: 30 апр 2005, 03:11
Откуда: Москва
прог. языки: C/C++, Verilog
ФИО: Гвоздев Александр Борисович

Сообщение Lockdog » 10 сен 2006, 14:39

Довольно интересная задумка, программированием под винду я помочь думаю смогу, щас тока с делами другими разберусь и буду разрабатывать концепцию поиска цветов, ИМХО не такаю уж простая задача для Винды.

такая идея особенно актуальна для геймеров, во время игры это будет предавать огромный дополнительный эффект.
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Сообщение -= Александр =- » 10 сен 2006, 16:09

В общем я так прикинул (у меня 19" ЖК) - будем размещать излучатели так: Верх, лево, право, и по всем углам. Вниз делать смысла нет, там нога, а она черная, да и отражение от стола весь кайф испортит.
На днях пойду погляжу какие есть полноцветные диоды в продаже...
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение Johnny Bravo » 10 сен 2006, 16:51

Lockdog писал(а):такая идея особенно актуальна для геймеров, во время игры это будет предавать огромный дополнительный эффект.


Ух, а моддеры вообще толпами читать да паять будут. :D
Johnny Bravo
 
Сообщения: 400
Зарегистрирован: 26 фев 2006, 15:21
Откуда: Омск

Сообщение -= Александр =- » 10 сен 2006, 17:17

Да, это вам не какой-нить там синий неон или подсвеченый пропеллер...  :wink:
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение dx40 » 10 сен 2006, 18:14

Есть 2 варианта:
1, простой - снимать скрин с экрана
2, сложнее - написать DirectShow фильтр

в общем-то и то и другое вполне реально
Аватара пользователя
dx40
 
Сообщения: 201
Зарегистрирован: 27 янв 2005, 11:49
Откуда: Мск

Сообщение Lockdog » 10 сен 2006, 18:33

dx40 писал(а):Есть 2 варианта:
1, простой - снимать скрин с экрана
2, сложнее - написать DirectShow фильтр

в общем-то и то и другое вполне реально

1. Снимать скрин и попиксельно считать цвета?:) Я знаю в фотошопе есть такая фишка Replace Color, так вот там можно выделить разом всё, что одного цвета, так что думаю задача реалезуемая, сразу возьмусь как только разберусь со своим программатором
(http://roboforum.ru/viewtopic.htm?t=165 ... 38ee097dd4):))
2. Думаю не имеет смысла, т.к. есть выход проще
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Сообщение dx40 » 10 сен 2006, 18:43

1 вариант - может быть проблема с оверлеем (при снятии скрина вместо оверлея обычно черный цвет), мало фпс и большая нагрузка на процессор.

Есть еще 3 вариант, как мне кажется лучший - свой проигрыватель. Если кто займется аппаратной частью, могу помочь с програмной по третьему варианту - опыт есть...
Аватара пользователя
dx40
 
Сообщения: 201
Зарегистрирован: 27 янв 2005, 11:49
Откуда: Мск

Сообщение Lockdog » 10 сен 2006, 18:44

dx40 писал(а):1 вариант - может быть проблема с оверлеем (при снятии скрина вместо оверлея обычно черный цвет), мало фпс и большая нагрузка на процессор.

Есть еще 3 вариант, как мне кажется лучший - свой проигрыватель. Если кто займется аппаратной частью, могу помочь с програмной по третьему варианту - опыт есть...

А можно попробовать сделать всё в Real-time и не париться со скринами
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Сообщение -= Александр =- » 10 сен 2006, 19:41

Свой плеер - ИМХО не катит, хочется и в игрушки с этой штукой погонять...  :roll:

Раз уж с программой все реально - вопрос об электронной части.

1)Система управления и интерфейс:

Самое лечшее было бы USB + FTDI + контроллер.
Самое простое - LPT + Altera.

Скорее всего буду делать первое - LPT у меня занято, а Альтеру покупать надо. К тому-же у меня аллергия на все эти ПЛМ...  :roll:
В ящике валяется ATMEGA48 - на ней и построю прототип.

2)Диоды

Что будет ярче при одинаковой стоимости - полноцветный диод или 3 диода разных цветов? Эстетически конечно полноцветный приятнее, но места за монитором полно и туда можно много диодов поставить.

З.ы. Можно ее еще и как цветомузыку юзать, к Винампу плагин сделать не трудно!  :D
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение 40inD » 11 сен 2006, 10:21

Я думаю, что не стоит писать софт на ПС - ведь на монитор идут сигналы RGB - может лучше оттуда инфу брать, сразу из кабеля? Сделать собственный предусилитель, интегратор и вперед.
Аватара пользователя
40inD
 
Сообщения: 265
Зарегистрирован: 17 июн 2005, 08:08
Откуда: Москва

Сообщение -= Александр =- » 11 сен 2006, 12:17

Хм... Была такая идея, но ведь его придется цифровать, при том с нехилой скоростью. Придется привязываться к синхорнизации, четко отмерять выдержки, чтоб попасть в нужный пиксель... В общем трудно это, AVR не потянет даже на 60 Гц развертки. Про 120 я вообще молчу...  :roll: Альтера там тоже не спасет - цифровать сигнал надо в любом случае. А внешние АЦП стоют недешево и огород вокруг них выростит нехилый...  :(

А делать просто интегратор - прокатит разве-что для верхнего излучателя - там можно интегрировать по строкам прямо из видеоряда. А для левого и правого придется сочинять с коммутатором или чем-нить еще...
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение 40inD » 11 сен 2006, 12:40

Все равно, я думаю, что это лучше, чем нагружать центральный процессор, тем более в играх.
А если знать длительность строки по времени, то можно выделять начало и конец строки по синхроимпульсу и разрешать работать соответсвенно левому или правому интеграторам, которые в свою очередь высчитывают суммарную составляющую каждого цвета для своей стороны ("не их" сторона ни их вход не проходит)
Аватара пользователя
40inD
 
Сообщения: 265
Зарегистрирован: 17 июн 2005, 08:08
Откуда: Москва

Сообщение -= Александр =- » 11 сен 2006, 12:46

Все это хорошо в теории... А на практике - надо искать коммутаторы, надо все это с аналоговой частью шаманить... Кстати есть ли в природе готовые интеграторы? Или тупо накапливать все это в конденсаторе?  :roll:
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

След.

Вернуться в Золотой фонд

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7