Идея сама по себе отличная… Только ощущение, что рябит в глазах. Над программной частью надо бы поработать.
Имхо, нужно добавить сглаживающий фильтр на цвета, чтобы устранить случайные всполохи и сделать переключение более гладким, и сделать «анимированное» переключение между цветами подсветки- не соображу, как это лучше сказать, но смысл в том, что если в двух последовательных захватах цвета зеленый и красный, то нужно не сразу переключать с зеленого на красный, а сделать несколько промежуточных точек, в которых зеленый плавно убирается, а красный плавно добавляется.
Может чуть проще?
Задаём время полной смены с 0:0:0 до 255:255:255 за, к примеру, одну секунду. И ставим периодичность корретировки подсветки, допустим, 25 раз в секунду.
Тогда в каждый такт мы имеем текущее значение подсветки и желаемое. При этом по каждому каналу мы можем за один такт изменить значение подсветки, соответственно, не более чем на 10 единиц в сторону требуемого значение.
Этим обеспечится и плавность при смене освещенности сцены, и плавность перехода от одного цвета к другому.
Максимальное количество единиц изменений за один такт, что определяет уровень «плавности» — величина настраиваемая под себя.
А может это и на аналоговом уровне перед самими светодиодами гораздо проще можно сделать. Не электронщик — не знаю.
спасибо Вам за Ваш огромный труд :) и эту статью, на выходных займусь, сделаю для панели такое, всё равно зомбоящик у меня в качестве экрана для кино используется :)
класс, давно хотел узнать как такое сделать! спасибо за. единственное, что не очень — предлагаетмый значек в трей — на кутэ. иногда так не хочется тянуть такое большое в систему.
Продавать я не могу, работает она не достаточно хорошо.
1) При медленном изменении видео заметно мерцание, которое происходит в моменты передачи информации в девайс, что какбы намекает на кустарность.
2) В windows я толком не тестировал, есть вероятность, что не во всех плеерах будет работать.
К сожалению или к счастью я в игры давно не играл, поэтому и не проверял. Могу лишь предположить что должно работать.
Для захвата изображения используется следующий код:
QPixmap pix = QPixmap::grabWindow(QApplication::desktop()->winId(), x, y, ambilight_width, ambilight_height);
QPixmap scaledPix = pix.scaled(1,1, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
QImage im = scaledPix.toImage();
Вообщем везде где работает grabWindow будет работать и AmbilightUSB
Поясните по первому пункту, пожалуйста. Мерцают диоды? В этих сдвиговых регистрах же есть защелки, которые позволяют изменять все выходы одновременно. Или проблема не в этом?
Нет, там проблема немного в другом. Насколько я понимаю usb-hid, реализованный программно на AVR, не так уж и быстр, и в момент обмена информацией с эвм получаем задержку в генерации ШИМ, которая заметна глазу. Для уменьшения количества передаваемой информации обмен происходит только если цвета изменились. В остальное время контроллер занять исключительно генерированием ШИМ.
Если мерцание не слишком явное, то в общем-то мелочи. Со временем можно избавиться, я думаю.
А вообще неплохой приработок может получится, было бы желание :) Делать по сколько-то комплектов в неделю/месяц и продавать, за в несколько раз бóльшие деньги, чем себестоимость компонентов. Я бы купил за 1.5-2 тыс., так как покупать оригинальные телевизоры с ambilight'ом возможности нет, а тут очень неплохо, учитывая что смотрю только с компьютера :)
Конечно первоначально протестировать нормально на windows/linux, под разные плейеры, составить список поддерживаемых и т.п. Записать качественный демо-ролик, сделать небольшой сайт с симпатичным дизайном и вперед :)
А возможно ли это сделать в домашних условиях имея обычный паяльник с толстым жалом и PC? Просто очень заинтересовала работа (паять умею — наушники), а вот как сделать такую схему совершенно не разбираясь какой стороной припаивать сопротивление.
Как минимум еще нужен программатор, я пользуюсь usbasp, но его тоже нужно прошить.
Можно купить AVR-программатор, любой который справится с ATtiny44 (AVR). Либо сделать на 7 резисторах и 3-х диодах программатор громова (нужен COM порт)
Если интересна тема могу посоветовать easyelectronics.ru
Долго ждал эту тему на хабре. Читал много статей по этому поводу, но руки, походу, только сейчас дойдут до этого. Вы меня воодушевили, перепилю под себя и тоже соберу)
где только его купить?
даже на ибее только один лот, и тот за 300$ а не за 30$
если верить www.thg.ru/game/philips_ambx/index.html то в 2008 году она стоила 130$
Я весной брал где-то в пределах тысячи в Москве, тогда везде навалом было. Сейчас посмотрел, действительно, сходу не нашел. Наверно перестали производить (
Мне вот интересно было бы от DVI / HDMI такое без дров, но чтото как то мало вариантов — народ обычно делает используя второй выход у видяхи (D-SUB ) здесь например есть такое.
А мне вот интересно — неужели так сложно подключится между монитором и видяхой? цифра же вроде?
Имеете ввиду подключить между монитором и видяхой устройство, которое будет обрабатывать проходящую информацию и, согласно ей, светить диодиками? Если да, то, как мне известно, там выходит очень большой поток информации, которую обработать несколько сложно: уже железо другое применять надо, и с прошивкой намного больше возиться придется.
Основная проблема — это частота.
Частота передачи данных в DVI от ~25МГц на самом маленьком, до ~165МГц на самом большом разрешении.
Предел тактовой частоты восьмибитных AVR 16-20МГц. То есть не то что обработать, даже принять данные такой контролер не сможет.
Для таких частот уже нужен ПЛИС или высокопроизводительные ARM, а это уже не очень-то наколенная технология.
Офигенно, если не сказать больше. Дело даже не столько в эффекте, сколько в относительно несложной реализации. Кажется, я знаю, с каким микроконтроллером я продолжу упражнения с паяльником.
Что касается самого эффекта, то мне кажется, что просто двух светодиодов на одну сторону маловато — надо три или четыре — ну тут каждый, кто захочет повторить, может это усовершенствовать. Спасибо!
Вопрос автору: ваш pixelkit можно купить в виде набора, а можно ли купить lightpak (в виде набора или хотя бы печатные платы без деталей) — если да, то где?
AmbilightUSB