DIY: Универсальный Ambilight для домашней мультимедиа системы — Атмосвет. DIY: Универсальный Ambilight для домашней мультимедиа системы — Атмосвет Адаптивная подсветка для любого телевизора без пк

Компания Philips в 2007 году запатентовала невероятно простую, но, без преувеличения, потрясающую технологию фоновой подсветки ТВ . С такой адаптивной подсветкой меньше устают глаза при просмотре в темноте, увеличивается эффект присутствия, расширяется область отображения и пр. Ambilight применима не только к видео и фото контенту, но и играм. Ambilight превратилась в визитную карточку телевизоров Philips. С тех пор компания Philips пристально бдит, чтобы никто из крупных производителей и думать не смел посягать на святое, создавая что-то подобное. Наверное, лицензировать эту технологию можно, но условия какие-то запредельные, и другие игроки рынка не особо горят желанием это делать. Небольшие компании тоже пытались (и сейчас есть компании, которые это делают) внедрять аналогичную технологию в виде отдельных комплектов, но кара от Philips была неизбежна. Так что в лучшем случае, если компания не продлит каким-то образом патент или его производную, другие производители лишь в 2027 году смогут выпускать что-то похожее.

Но нас, обычных потребителей, такая кара не касается. Мы вольны для себя делать то, что считаем нужным. Сегодня я расскажу в деталях, как самостоятельно сделать адаптивную фоновую подсветку для ТВ или монитора по типу Philips Ambilight (далее просто Ambilight). Для некоторых статья ничего нового в себе содержать не будет, т.к. таких проектов десятки, а статей написано сотни на разных языках, и людей, которые себе уже сделали подобное, тысячи. Но для многих это всё может оказаться очень интересным. Никаких особых навыков вам не потребуется. Только базовые знания физики за 8 класс средней школы. Ну, и совсем чуть-чуть пайки проводов.

Чтобы вы лучше понимали, о чём я говорю, приведу свой пример того, что получилось. Реальные затраты на ТВ 42" - около 1000 рублей и 2 часа работы.


Видео не передаёт всех ощущений и эффекта целиком, но дети в первый раз сидели с открытыми ртами.

Возможные варианты реализации

Существует несколько вариантов вариантов реализации Ambilight. Зависят они от источника видеосигнала.

Самый дешёвый, простой и эффективный вариант - источником сигнала выступает ПК с Windows, Mac OS X или Linux. Сейчас очень распространены Windows-боксы на процессорах Atom, которые стоят от 70$. Все они идеально подходят для реализации Ambilight. Я уже несколько лет использую разные Windows-боксы (в тумбе под ТВ) в роли медиаплеера, написал небольшую кучку обзоров и считаю их самыми лучшими ТВ-приставками для медиаконтента. Аппаратная реализация этого варианта едина для всех перечисленных операционных систем. Именно об этом варианте я расскажу в статье . Программная часть будет относиться к Windows системе, в роли универсальной управляющей программы будет выступать AmbiBox. С Mac OS X и Linux можно использовать .

Второй вариант - источником сигнала выступает медиаприставка на базе Android, коих тоже огромное количество. Этот вариант самый проблемный. Во-первых, подсветка будет работать только в медиакомбайне Kodi (и в ответвлениях этого проекта). Во-вторых, в подавляющем большинстве случаев всё работает только с отключённым аппаратным декодированием видео, что для большинства боксов неприемлемо. Аппаратная реализация проекта тоже накладывает определённые требования. Я его затрагивать не буду, но если что-то интересует конкретное, то постараюсь ответить в комментариях.

Третий вариант - независимое от источника сигнала решение. Это самое затратное, но абсолютно универсальное решение, т.к. сигнал снимается прямо с HDMI кабеля. Для него вам понадобится достаточно мощный микрокомпьютер (типа Raspberry Pi), HDMI сплиттер (разветвитель), конвертер HDMI-RCA AV, USB 2.0 устройство захвата аналогового видео. Только с таким вариантом вы сможете гарантированно задействовать Ambilight с любой ТВ-приставкой/ресивером, Android-боксами, Apple TV, игровыми приставками (например, Xbox One, PlayStation 4) и пр. устройствами, которые имеют выход HDMI. Для варианта с поддержкой 1080p60 стоимость компонентов(без светодиодной ленты) будет около 70$, с поддержкой 2160p60 - около 100$. Это вариант очень интересный, но по нему нужно писать отдельную статью.

Аппаратная часть

Для реализации понадобится три основных компонента: управляемая светодиодная RGB лента, блок питания, микрокомпьютер Arduino.

Сначала небольшое количество объяснений.

WS2811 - это трёхканальный канальный контроллер/драйвер (микросхема) для RGB светодиодов с управлением по одному проводу (адресация к произвольному светодиоду). WS2812B - это RGB светодиод в корпусе SMD 5050, в который уже встроен контроллер WS2811.

Подходящие для проекта светодиодные ленты для простоты так и называют - WS2811 или WS2812B.

WS2812B лента - это лента, на которой последовательно размещены светодиоды WS2812B. Лента работает с напряжением 5 В. Существуют ленты с разной плотностью светодиодов. Обычно это: 144, 90, 74, 60, 30 на один метр. Бывают разные степени защиты. Чаще всего это: IP20-30 (защита от попадания твёрдых частиц), IP65 (защиты от пыли и водяных струй), IP67 (защита от пыли и защита при частичном или кратковременном погружении в воду на глубину до 1 м). Подложка чёрного и белого цвета.

Вот пример такой ленты:


WS2811 лента - это лента, на которой последовательно размещены WS2811 контроллер и какой-то RGB светодиод. Есть варианты, рассчитанные на напряжением 5 В и 12 В. Плотность и защита аналогичны предыдущему варианту.

Вот пример такой ленты:


Ещё встречаются WS2811 «ленты» с большими и мощными светодиодами, как на фотографии ниже. Они тоже подходят для реализации Ambilight для какой-нибудь огромной панели.


Какую ленту выбрать, WS2812B и WS2811?

Важный фактор - питание ленты, о чём я расскажу чуть позже.

Если у вас дома окажется подходящий по мощности блок питания (часто дома от старой или испорченной техники остаются блоки питания), то выбирайте ленту, исходя из напряжения блока питания, т.е. 5 В - WS2812B, 12 В - WS2811. В этом случае вы просто сэкономите деньги.

От себя могу дать рекомендацию. Если общее количество светодиодов в системе будет не более 120, то WS2812B. Если более 120, то WS2811 с рабочим напряжением 12 В. Почему именно так, вы поймёте, когда речь зайдёт о подключение ленты к блоку питания.

Какое уровень защиты ленты выбрать?

Для большинства подойдёт IP65, т.к. с одной стороны она покрыта «силиконом» (эпоксидной смолой), а с другой есть самоклеющаяся поверхность 3M. Эту ленту удобно монтировать на ТВ или монитор и удобно протирать от пыли.

Какую плотность светодиодов выбрать?

Для проекта подойдут ленты с плотностью от 30 до 60 светодиодов на метр (конечно, можно и 144, никто не запрещает). Чем выше плотность, тем больше будет разрешение Ambilight (количество зон) и больше максимальная общая яркость. Но стоит учитывать, чем больше светодиодов в проекте, тем сложнее будет устроена схема питания ленты, и понадобится более мощный блок питания. Максимальное количество светодиодов в проекте - 300.

Покупка ленты

Если ваш ТВ или монитор висит на стене, и все 4 стороны имеют рядом много свободного пространства, то ленту лучше всего разместить сзади по периметру на все 4 стороны для максимального эффекта. Если ваш ТВ или монитор установлен на подставку, или снизу мало свободного пространства, то ленту надо размещать сзади на 3-х сторонах (т.е. низ без ленты).

Для себя я выбрал белую ленту WS2812B IP65 с 30 светодиодами на метр. Подходящий блок питания на 5 В у меня уже был. Решал, 60 или 30 светодиодов на метр, но выбрал последнее после пересмотра видео с готовыми примерами реализации - яркость и разрешение меня устроили, да и питание легче организовать, меньше проводов. На Алиэкспресс огромное количество лотов лент WS2812B. Я заказывал 5 метров за 16$. Для моего ТВ (42", 3 стороны) нужно было только 2 метра, т.е. можно было купить за 10$, оставшиеся три метра для друга. Цены часто меняются у продавцов, предложений много, так что просто выберите на Алиэкспресс дешёвый лот с высоким рейтингом (ключевые слова для поиска - WS2812B IP65 иди WS2811 12V IP65).




Покупка блока питания для ленты

Блок питания подбирается по мощности и напряжению. Для WS2812B - напряжение 5 В. Для WS2811 - 5 или 12 В. Максимальная потребляемая мощность одного WS2812B светодиода 0,3 Вт. Для WS2811 в большинстве случаев аналогично. Т.е. мощность блока питания должна быть не ниже N * 0,3 Вт, где N - количество светодиодов в проекте.

Например, у вас ТВ 42", вы остановились на ленте WS2812B с 30 светодиодами на метр, вам нужно 3 метра ленты все 4 стороны. Вас понадобится блок питания с напряжением 5 В и максимальной мощностью от 0,3 * 30 * 3 = 27 Вт, т.е. 5 В / 6 А. В моей реализации используются только 3 стороны, всего 60 светодиодов (если быть точным, то 57) - мощность от 18 Вт, т.е. 5 В / 4 А.

У меня давно уже лежит без дела многопортовая USB-зарядка ORICO CSA-5U (8 А), оставшаяся после старого обзора. Питание портов у неё запараллельно (это критически важно), мне это ЗУ идеально подходит в роли БП, т.к. подключать ленту я буду через 2 параллельных соединения (объяснения будут чуть позже в статье).


Если бы этого ЗУ у меня не было, то я бы выбрал (есть информация, что именно в этот БП ставят внутренности на 2,5 А, так что надо детальней изучить этот вопрос у продавца, или посмотреть другие модели).

Покупка микрокомпьютера

Управлять Ambilight будет микрокомпьютер Arduino. Arduino Nano на Алиэкспресс стоит около за штуку.

Затраты на мой вариант (для ТВ 42"):

10$ - 2 метра WS2812B IP65 (30 светодиодов на метр)
4$ - блок питания 5 В / 4 А (денег на БП не тратил, привожу стоимость для ясности)
2,5$ - Arduino Nano
-----------
16,5$ или 1000 рублей

Реализация аппаратной части

Самое главное - это правильно организовать питание ленты. Лента длинная, напряжение просаживается при большом токе, особенно при 5 В. Большинство проблем, которые возникают у тех, кто делает себе Ambilight, связаны именно с питанием. Я пользуюсь правилом - нужно делать отдельную подводку питания на каждые 10 Вт потребляемой максимальной мощности при 5 В и 25 Вт потребляемой мощности при 12 В. Длина подводки питания (от блока питания до самой ленты) должна быть минимальной (без запаса), особенно при 5 В.

Общая схема подключения выглядит следующим образом (на схеме отображено подключение питания для моего варианта):


К ленте с обоих концов подведено питание - два параллельных подключения. Для примера, если бы я делал подсветку на все 4 стороны, а лента была по 60 светодиодов на метр (т.е. максимальная мощность 54 Вт), то я бы сделал такой подвод питания:


Провода подводки нужно использовать соответствующие, чем меньше калибр (AWG), тем лучше, чтобы их с запасом хватало для расчётной силы тока.

К Arduino от ленты идут два контакта. GND, который нужно подключить к соответствующему пину на Arduino. И DATA, который нужно подключить к шестому цифровому пину через резистор 300-550 Ом (лучше 470 Ом). Если резистора у вас нет, то в большинстве случаев всё будет прекрасно работать и без него, но лучше, чтобы он был. Резистор можно купить за пару копеек в любом радиомагазине. Сам микрокомпьютер Arduino можете разместить в любом удобном корпусе, многие используют для этого яйцо Киндер-сюрприза. Arduino нужно размещать как можно ближе к ленте, чтобы подводка DATA имела минимальную длину.

Припаивать провода к ленте просто. Главное правило - время контакта с паяльником должно быть минимальным, «возюкать» паяльником нельзя.

В моём случае получилось вот так:



Два чёрных качественных USB кабеля пошли на питание, а белый для подключение к компьютеру. Белые термоусадочные трубки у меня закончились, я использовал красные. Не так «красиво», но меня устраивает (всё равно это спрятано за ТВ).

Важный вопрос - как изгибать ленту под прямым углом? Если у вас лента на 60 светодиодов, то ленту нужно разрезать и соединять короткими проводами (разместив всё это в термоусадочной трубке). Можете купить специальные угловые коннекторы на три контакта для светодиодных лент (на снимке 4 контакта, просто для примера):


Если у вас лента на 30 светодиодов, то расстояние между светодиодами большое, вы легко можете сделать угол без резки. Удаляете кусочек «силиконового» покрытия, изолируйте (можно даже «скотчем») контактную площадку и сгибаете по схеме:

Я отрезал кусок ленты, чтобы практиковаться. Главное, не нужно переусердствовать - слегка согнули один раз и всё. Тюда-сюда перегибать не нужно, сильно сдавливать линию изгиба не нужно.


Вот вид сзади ТВ, все провода через отверстие уходят внутрь тумбы:

Программная часть

Это самое простое.

Подключаем микрокомпьютер Arduino по USB. Драйвер (последовательного интерфейса CH340) установится автоматически. Если этого не произошло, то в папке Arduino IDE есть папка Drivers со всем необходимым.

Запускаем Arduino IDE и открываем файл Adalight.ino.


Изменяем количество светодиодов в коде. У меня 57.


Инструменты > Плата > Arduino nano
Инструменты > Порт > Выбираете COM-порт (там будет нужный вариант)

Нажимаем кнопку «Загрузить»:


Программа проинформирует, когда загрузка будет завершена (это буквально пара секунд).

Готово. Нужно отключить Arduino от USB и подключить заново. Лента загорится последовательно красным, зелёным и синим цветом - Arduino активировался и готов к работе.

Загрузите и установите программу . В программе нажмите «Больше настроек» и укажите устройство - Adalight, COM-порт и количество светодиодов. Выберите количество кадров для захвата (до 60).


Далее, нажмите «Показать зоны захвата» > «Мастер настройки зон». Выберите конфигурацию вашей ленты.


Нажмите «Применить» и «Сохранить настройки». На этом базовые настройки заканчиваются. Потом вы сможете поэкспериментировать с размерами зон захвата, сделать цветокоррекцию ленты и пр. В программе много разных настроек.


Чтобы активировать профиль, достаточно два раза мышкой нажать на соответствующую иконку (профилей AmbiBox) в области уведомлений Windows. Лента сразу загорится. Отключается тоже двойным нажатием.

Вот в принципе и всё. Результат вы видели в начале статьи. Ничего сложного, дёшево и здорово. Уверен, что у вас получится лучше, так что делитесь своими поделками в комментариях.

Дабы немного разбавить обзоры купальников- расскажу о своем опыте постройки динамической подсветки для телевизора. хватит делать из муськи хабр
Основной частью подсветки является все же светодиодная лента- так что именно её решил вынести в заголовок. хотя в постройке участвовало чуть более компонентов.

Если вы давно хотели прикрутить подсветку к своему неPhilips телевизору, но боялись попробовать- пробуйте. это проще чем кажется.

Для затравки небольшое видео результата.


В данный момент - подсветка работает еще прикльнее- в настройках выставил большую яркость и выше скорость обновления, теперь в боевиках или сценах в клубе (когда в кадре вспышки стробоскопа) - вся стена просто взрывается светом

Как делалось- достаточно просто:
+
+
+
Немного отваги=
Ambilight

Более подробно по пунктам:
1 Малинка у меня на тот момент уже была. Покупал там же на амазоне, но думаю тут происхождение роли не играет- плата унифицирована и покупать можно совершенно в любом месте- главное не советую брать БУ. у меня после некоторого количества времени работы на максимальной частоте без дополнительных радиаторов начала подглючивать. списываю на перегрев, но может быть и тупо брак производства. Малина крайне чувствительна к источнику питания- так что сразу запасайтесь нормальным БП с невысоким уровнем пульсаций… (и чтоб не просаживался под нагрузкой)
2 Собственно лента. Как работает думаю достаточно неплохо видно на видео. в самой ленте ничего особенного нет- отрезал куски чтоб хватило ровно на 3 грани телевизора. подпаял кусочками провода места сгиба (изначально делал соединение коннекторами, но быстро взбесило что торчат куски провода длиннющие- все порезал и спаял маленькими отрезками)
3 Гениальная программа гиперион. Устанавливается на малину (у меня в качестве ОС стоит мультимедийный OpenElec) по инструкции для идиотов. получилось даже у меня с первого раза. В процессе работы - тупо захватывает цветовые данные краев экрана, усредняет и шлет управляющие сигналы на светодиодную ленту. Лента перемигивается всеми цветами радуги, зрители в восторге. В процессе работы при проигрывании fullHD весом гигов в 30 дополнительная нагрузка на проц составляет 5-10 %. НА скорость не влияет никак.

Результат- превосходит самые смелые ожидания:
при плотности светодиодов 30т на метр- все стенка за телевиззором (удаление около 10-15 сантиметров) расцвечена в цвета экрана. визуально сцена раздвигается… ну на столько сколько есть этой самой стены. задержки в передаче -нет. по крайней мере невозможно отследить глазом. все плавно и четко. Для смартфона есть прикольная программа с помощью которой можно перевести подсветку в лаундж режим- выставить желаемый цвет\яркость, либо запустить один из предлагаемых паттернов (типа бегающего красного огонька, или просто радуги, или например цветовые переходы).
При отключении подсветки во время просмотра мультиков доча возмущается и требует вернуть все взад.)))

Ну и дабы соответствовать политике MySKU -отзыв собственно о детальках:
светодиодная лента - обозревалась много раз. мне досталась точно такая же. Очень хорошая. качество отличное. отображает если не изменяет память - 16 миллионов оттенков. точно не подсчитывал. требует дополнительного питания - повесил плюс минус на блок 5в 2А -на 2 метра хватает лихвой. думаю хватит и на 3 но гарантировать не буду. Управляющие контакты завел на GPIO малинки.

Малинка- одноплатный компьютер. Не обозревался только ленивым. Великолепная вещь как для освоения азов линукса, так и для постройки минималистичного и гибкого медиацентра. Для меня оказался идеальным вариантом: прокручивает любой доступный мне контент, работает в качестве приемника- показываетеля интернет ТВ, прикидывается получателем AirPlay сигнала когда хочется запустить что-то с телефона или ноутбука. Отличная вещь- 3 ватта и море удовольствия + поддержка HDMI CEC из коробки- управляется все с родного пульта телевизора.

Ну и напоследок еще видос вдогонку:

Пару дней назад решил поделать еще демовидосов- уже в новой квартире.

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

Планирую купить +69 Добавить в избранное Обзор понравился +16 +48

Введение

Если вы любите смотреть фильмы на компьютере в темноте или играть в игры, то можно расширить возможности вашего монитора. Динамическая подсветка визуально расширяет границы экрана и благодаря ей ваши глаза будут меньше уставать. Этот проект очень прост и так как я сам новичок в общении с Arduino, могу посоветовать начинать создавать что-то для дома именно с этого проекта.

Итак, нам понадобится:

  • Любая Arduino (UNO, Nano не важно).
  • От 1-го до 2-х метров светодиодной ленты WS2812B, о которой вы можете почитать , можно заказать на Aliexpress. Советую брать 60 светодиодов на метр для более качественно эффекта, но и 30 сойдет.
  • Двусторонняя липкая лента или какой-нибудь клей.
  • Источник питания 5В 2А (зарядник от планшета, например).
  • Резистор на 220 Ом.
  • Паяльные инструменты.
  • Необходимое ПО для компьютера, а именно: Arduino IDE , AmbiBox , библиотека для Arduino IDE - FastLed .

Приступим.

Подключение

На светодиодной ленте есть три контакта - Плюс (+), Земля (G, GND) и вход (IN), а так же есть стрелочки, указывающее направление сигнала по ленте. Наша задача отрезать 4 отрезка светодиодной ленты таким образом. чтобы верхняя полоска была равна нижней, правая - левой. Отмерять будем прикладывая ленту с задней части нашего монитора. В общем нужно сделать так, как на картинке ниже.

Важно, чтоб количество светодиодов сверху и снизу было одинаковым, то же касается правой и левой стороны. Так же нужно учесть направление стрелок на самой ленте и припаять по порядку, как на картинке.
Теперь нам нужно подключить ленту к Arduino согласно схеме:

Минус от питания идет к контакту G на ленте и контакту GND на самой Arduino, Плюс напрямую к контакту (+) на ленте, а управляющий провод через резистор от ленты к нужному порту. Главное запомнить порт.

Собственно, подключение на этом закончили.

Настройка

Открываем установленную Arduino IDE и устанавливаем библиотеку FastLed (В верхнем меню выбрать "Скетч" - "Подключить библиотеку" - "Добавить ZIP библиотеку" и выбрать скачанный архив с библиотекой).

Теперь с помощью Arduino IDE заливаем в Arduino скетч:

#include "FastLED.h" #define NUM_LEDS 44 // Количество светодиодов. #define PIN 6 // Порт, к которому присоединен управляющий провод. #define serialRate 115200 // Adalight отправляет «Магическое слово» (префик) перед отправкой данных. uint8_t prefix = {"A", "d", "a"}, hi, lo, chk, i; // Инициализация ленты. CRGB leds; void setup() { FastLED.addLeds(leds, NUM_LEDS); // Тест светодиодов. LEDS.showColor(CRGB(255, 0, 0)); delay(500); LEDS.showColor(CRGB(0, 255, 0)); delay(500); LEDS.showColor(CRGB(0, 0, 255)); delay(500); LEDS.showColor(CRGB(0, 0, 0)); Serial.begin(serialRate); Serial.print("Ada\n"); // Отправляем «магическое слово» для соединения с программой. } void loop() { // Ждем первый байт из магического слова. for(i = 0; i < sizeof prefix; ++i) { waitLoop: while (!Serial.available()); // Проверка следующего байта из магического слова. if(prefix[i] == Serial.read()) continue; // В противном случае начинаем все с начала. i = 0; goto waitLoop; } // Ждем старший и младший байт, а так же контрольную сумму. while (!Serial.available()); hi = Serial.read(); while (!Serial.available()); lo = Serial.read(); while (!Serial.available()); chk = Serial.read(); // Если контрольная сумма не совпала, начинаем все с начала. if (chk != (hi ^ lo ^ 0x55)) { i = 0; goto waitLoop; } memset(leds, 0, NUM_LEDS * sizeof(struct CRGB)); // Получаем данные и настраиваем соответствующий светодиод. for (uint8_t i = 0; i < NUM_LEDS; i++) { byte r, g, b; while(!Serial.available()); r = Serial.read(); while(!Serial.available()); g = Serial.read(); while(!Serial.available()); b = Serial.read(); leds[i].r = r; leds[i].g = g; leds[i].b = b; } // Отобразить новое состояние ленты. FastLED.show(); }

Перед заливкой нужно указать количество светодиодов, которое у вас получилось в сумме и порт, к которому вы припаяли управляющий провод.
У меня получилось 44 светодиода и использовался 6-й порт.
Если у вас лента и Arduino уже подключена к питанию, то после заливки скетча лента должна моргнуть тремя цветами, если этого не произошло, то отсоедините USB кабель и вставьте снова.

Теперь нам нужно установить программу AmbiBox .
При установке программа спросит, какое устройство будет использоваться, нам нужно указать Adalight .
В ней нам нужно перейти во вкладку "Интеллектуальная подсветка монитора".

Затем нажать "Больше настроек", теперь отображаются все функции.

Нам нужно указать порт, к которому подключена Arduino (цифра 1 на картинке).
Нужно указать количество светодиодов, которое у нас получилось (цифра 2 на картинке).
Выбрать метод захвата экрана. Тут на ваше усмотрение, поэкспериментируйте и выберите подходящее. У меня метод Windows 8 (цифра 3 на картинке).
Так же можно нажать "Показать зоны захвата" (цифра 4) и настроить их так, как наклеена лента. Ну. например, если у вас углы остались без светодиодов, то зоны можно сместить.
Не забудьте во вкладке "настройки программы" включить автозапуск с Windows.
На этом все. Все уже должно работать.

Видео

Пожалуйста, включите javascript для работы комментариев.

Компания Philips в 2007 году запатентовала невероятно простую, но, без преувеличения, потрясающую технологию фоновой подсветки ТВ . С такой адаптивной подсветкой меньше устают глаза при просмотре в темноте, увеличивается эффект присутствия, расширяется область отображения и пр. Ambilight применима не только к видео и фото контенту, но и играм. Ambilight превратилась в визитную карточку телевизоров Philips. С тех пор компания Philips пристально бдит, чтобы никто из крупных производителей и думать не смел посягать на святое, создавая что-то подобное. Наверное, лицензировать эту технологию можно, но условия какие-то запредельные, и другие игроки рынка не особо горят желанием это делать. Небольшие компании тоже пытались (и сейчас есть компании, которые это делают) внедрять аналогичную технологию в виде отдельных комплектов, но кара от Philips была неизбежна. Так что в лучшем случае, если компания не продлит каким-то образом патент или его производную, другие производители лишь в 2027 году смогут выпускать что-то похожее.

Но нас, обычных потребителей, такая кара не касается. Мы вольны для себя делать то, что считаем нужным. Сегодня я расскажу в деталях, как самостоятельно сделать адаптивную фоновую подсветку для ТВ или монитора по типу Philips Ambilight (далее просто Ambilight). Для некоторых статья ничего нового в себе содержать не будет, т.к. таких проектов десятки, а статей написано сотни на разных языках, и людей, которые себе уже сделали подобное, тысячи. Но для многих это всё может оказаться очень интересным. Никаких особых навыков вам не потребуется. Только базовые знания физики за 8 класс средней школы. Ну, и совсем чуть-чуть пайки проводов.

Чтобы вы лучше понимали, о чём я говорю, приведу свой пример того, что получилось. Реальные затраты на ТВ 42" - около 1000 рублей и 2 часа работы.


Видео не передаёт всех ощущений и эффекта целиком, но дети в первый раз сидели с открытыми ртами.

Возможные варианты реализации

Существует несколько вариантов вариантов реализации Ambilight. Зависят они от источника видеосигнала.

Самый дешёвый, простой и эффективный вариант - источником сигнала выступает ПК с Windows, Mac OS X или Linux. Сейчас очень распространены Windows-боксы на процессорах Atom, которые стоят от 70$. Все они идеально подходят для реализации Ambilight. Я уже несколько лет использую разные Windows-боксы (в тумбе под ТВ) в роли медиаплеера, написал небольшую кучку обзоров и считаю их самыми лучшими ТВ-приставками для медиаконтента. Аппаратная реализация этого варианта едина для всех перечисленных операционных систем. Именно об этом варианте я расскажу в статье . Программная часть будет относиться к Windows системе, в роли универсальной управляющей программы будет выступать AmbiBox. С Mac OS X и Linux можно использовать .

Второй вариант - источником сигнала выступает медиаприставка на базе Android, коих тоже огромное количество. Этот вариант самый проблемный. Во-первых, подсветка будет работать только в медиакомбайне Kodi (и в ответвлениях этого проекта). Во-вторых, в подавляющем большинстве случаев всё работает только с отключённым аппаратным декодированием видео, что для большинства боксов неприемлемо. Аппаратная реализация проекта тоже накладывает определённые требования. Я его затрагивать не буду, но если что-то интересует конкретное, то постараюсь ответить в комментариях.

Третий вариант - независимое от источника сигнала решение. Это самое затратное, но абсолютно универсальное решение, т.к. сигнал снимается прямо с HDMI кабеля. Для него вам понадобится достаточно мощный микрокомпьютер (типа Raspberry Pi), HDMI сплиттер (разветвитель), конвертер HDMI-RCA AV, USB 2.0 устройство захвата аналогового видео. Только с таким вариантом вы сможете гарантированно задействовать Ambilight с любой ТВ-приставкой/ресивером, Android-боксами, Apple TV, игровыми приставками (например, Xbox One, PlayStation 4) и пр. устройствами, которые имеют выход HDMI. Для варианта с поддержкой 1080p60 стоимость компонентов(без светодиодной ленты) будет около 70$, с поддержкой 2160p60 - около 100$. Это вариант очень интересный, но по нему нужно писать отдельную статью.

Аппаратная часть

Для реализации понадобится три основных компонента: управляемая светодиодная RGB лента, блок питания, микрокомпьютер Arduino.

Сначала небольшое количество объяснений.

WS2811 - это трёхканальный канальный контроллер/драйвер (микросхема) для RGB светодиодов с управлением по одному проводу (адресация к произвольному светодиоду). WS2812B - это RGB светодиод в корпусе SMD 5050, в который уже встроен контроллер WS2811.

Подходящие для проекта светодиодные ленты для простоты так и называют - WS2811 или WS2812B.

WS2812B лента - это лента, на которой последовательно размещены светодиоды WS2812B. Лента работает с напряжением 5 В. Существуют ленты с разной плотностью светодиодов. Обычно это: 144, 90, 74, 60, 30 на один метр. Бывают разные степени защиты. Чаще всего это: IP20-30 (защита от попадания твёрдых частиц), IP65 (защиты от пыли и водяных струй), IP67 (защита от пыли и защита при частичном или кратковременном погружении в воду на глубину до 1 м). Подложка чёрного и белого цвета.

Вот пример такой ленты:


WS2811 лента - это лента, на которой последовательно размещены WS2811 контроллер и какой-то RGB светодиод. Есть варианты, рассчитанные на напряжением 5 В и 12 В. Плотность и защита аналогичны предыдущему варианту.

Вот пример такой ленты:


Ещё встречаются WS2811 «ленты» с большими и мощными светодиодами, как на фотографии ниже. Они тоже подходят для реализации Ambilight для какой-нибудь огромной панели.


Какую ленту выбрать, WS2812B и WS2811?

Важный фактор - питание ленты, о чём я расскажу чуть позже.

Если у вас дома окажется подходящий по мощности блок питания (часто дома от старой или испорченной техники остаются блоки питания), то выбирайте ленту, исходя из напряжения блока питания, т.е. 5 В - WS2812B, 12 В - WS2811. В этом случае вы просто сэкономите деньги.

От себя могу дать рекомендацию. Если общее количество светодиодов в системе будет не более 120, то WS2812B. Если более 120, то WS2811 с рабочим напряжением 12 В. Почему именно так, вы поймёте, когда речь зайдёт о подключение ленты к блоку питания.

Какое уровень защиты ленты выбрать?

Для большинства подойдёт IP65, т.к. с одной стороны она покрыта «силиконом» (эпоксидной смолой), а с другой есть самоклеющаяся поверхность 3M. Эту ленту удобно монтировать на ТВ или монитор и удобно протирать от пыли.

Какую плотность светодиодов выбрать?

Для проекта подойдут ленты с плотностью от 30 до 60 светодиодов на метр (конечно, можно и 144, никто не запрещает). Чем выше плотность, тем больше будет разрешение Ambilight (количество зон) и больше максимальная общая яркость. Но стоит учитывать, чем больше светодиодов в проекте, тем сложнее будет устроена схема питания ленты, и понадобится более мощный блок питания. Максимальное количество светодиодов в проекте - 300.

Покупка ленты

Если ваш ТВ или монитор висит на стене, и все 4 стороны имеют рядом много свободного пространства, то ленту лучше всего разместить сзади по периметру на все 4 стороны для максимального эффекта. Если ваш ТВ или монитор установлен на подставку, или снизу мало свободного пространства, то ленту надо размещать сзади на 3-х сторонах (т.е. низ без ленты).

Для себя я выбрал белую ленту WS2812B IP65 с 30 светодиодами на метр. Подходящий блок питания на 5 В у меня уже был. Решал, 60 или 30 светодиодов на метр, но выбрал последнее после пересмотра видео с готовыми примерами реализации - яркость и разрешение меня устроили, да и питание легче организовать, меньше проводов. На Алиэкспресс огромное количество лотов лент WS2812B. Я заказывал 5 метров за 16$. Для моего ТВ (42", 3 стороны) нужно было только 2 метра, т.е. можно было купить за 10$, оставшиеся три метра для друга. Цены часто меняются у продавцов, предложений много, так что просто выберите на Алиэкспресс дешёвый лот с высоким рейтингом (ключевые слова для поиска - WS2812B IP65 иди WS2811 12V IP65).




Покупка блока питания для ленты

Блок питания подбирается по мощности и напряжению. Для WS2812B - напряжение 5 В. Для WS2811 - 5 или 12 В. Максимальная потребляемая мощность одного WS2812B светодиода 0,3 Вт. Для WS2811 в большинстве случаев аналогично. Т.е. мощность блока питания должна быть не ниже N * 0,3 Вт, где N - количество светодиодов в проекте.

Например, у вас ТВ 42", вы остановились на ленте WS2812B с 30 светодиодами на метр, вам нужно 3 метра ленты все 4 стороны. Вас понадобится блок питания с напряжением 5 В и максимальной мощностью от 0,3 * 30 * 3 = 27 Вт, т.е. 5 В / 6 А. В моей реализации используются только 3 стороны, всего 60 светодиодов (если быть точным, то 57) - мощность от 18 Вт, т.е. 5 В / 4 А.

У меня давно уже лежит без дела многопортовая USB-зарядка ORICO CSA-5U (8 А), оставшаяся после старого обзора. Питание портов у неё запараллельно (это критически важно), мне это ЗУ идеально подходит в роли БП, т.к. подключать ленту я буду через 2 параллельных соединения (объяснения будут чуть позже в статье).


Если бы этого ЗУ у меня не было, то я бы выбрал (есть информация, что именно в этот БП ставят внутренности на 2,5 А, так что надо детальней изучить этот вопрос у продавца, или посмотреть другие модели).

Покупка микрокомпьютера

Управлять Ambilight будет микрокомпьютер Arduino. Arduino Nano на Алиэкспресс стоит около за штуку.

Затраты на мой вариант (для ТВ 42"):

10$ - 2 метра WS2812B IP65 (30 светодиодов на метр)
4$ - блок питания 5 В / 4 А (денег на БП не тратил, привожу стоимость для ясности)
2,5$ - Arduino Nano
-----------
16,5$ или 1000 рублей

Реализация аппаратной части

Самое главное - это правильно организовать питание ленты. Лента длинная, напряжение просаживается при большом токе, особенно при 5 В. Большинство проблем, которые возникают у тех, кто делает себе Ambilight, связаны именно с питанием. Я пользуюсь правилом - нужно делать отдельную подводку питания на каждые 10 Вт потребляемой максимальной мощности при 5 В и 25 Вт потребляемой мощности при 12 В. Длина подводки питания (от блока питания до самой ленты) должна быть минимальной (без запаса), особенно при 5 В.

Общая схема подключения выглядит следующим образом (на схеме отображено подключение питания для моего варианта):


К ленте с обоих концов подведено питание - два параллельных подключения. Для примера, если бы я делал подсветку на все 4 стороны, а лента была по 60 светодиодов на метр (т.е. максимальная мощность 54 Вт), то я бы сделал такой подвод питания:


Провода подводки нужно использовать соответствующие, чем меньше калибр (AWG), тем лучше, чтобы их с запасом хватало для расчётной силы тока.

К Arduino от ленты идут два контакта. GND, который нужно подключить к соответствующему пину на Arduino. И DATA, который нужно подключить к шестому цифровому пину через резистор 300-550 Ом (лучше 470 Ом). Если резистора у вас нет, то в большинстве случаев всё будет прекрасно работать и без него, но лучше, чтобы он был. Резистор можно купить за пару копеек в любом радиомагазине. Сам микрокомпьютер Arduino можете разместить в любом удобном корпусе, многие используют для этого яйцо Киндер-сюрприза. Arduino нужно размещать как можно ближе к ленте, чтобы подводка DATA имела минимальную длину.

Припаивать провода к ленте просто. Главное правило - время контакта с паяльником должно быть минимальным, «возюкать» паяльником нельзя.

В моём случае получилось вот так:



Два чёрных качественных USB кабеля пошли на питание, а белый для подключение к компьютеру. Белые термоусадочные трубки у меня закончились, я использовал красные. Не так «красиво», но меня устраивает (всё равно это спрятано за ТВ).

Важный вопрос - как изгибать ленту под прямым углом? Если у вас лента на 60 светодиодов, то ленту нужно разрезать и соединять короткими проводами (разместив всё это в термоусадочной трубке). Можете купить специальные угловые коннекторы на три контакта для светодиодных лент (на снимке 4 контакта, просто для примера):


Если у вас лента на 30 светодиодов, то расстояние между светодиодами большое, вы легко можете сделать угол без резки. Удаляете кусочек «силиконового» покрытия, изолируйте (можно даже «скотчем») контактную площадку и сгибаете по схеме:

Я отрезал кусок ленты, чтобы практиковаться. Главное, не нужно переусердствовать - слегка согнули один раз и всё. Тюда-сюда перегибать не нужно, сильно сдавливать линию изгиба не нужно.


Вот вид сзади ТВ, все провода через отверстие уходят внутрь тумбы:

Программная часть

Это самое простое.

Подключаем микрокомпьютер Arduino по USB. Драйвер (последовательного интерфейса CH340) установится автоматически. Если этого не произошло, то в папке Arduino IDE есть папка Drivers со всем необходимым.

Запускаем Arduino IDE и открываем файл Adalight.ino.


Изменяем количество светодиодов в коде. У меня 57.


Инструменты > Плата > Arduino nano
Инструменты > Порт > Выбираете COM-порт (там будет нужный вариант)

Нажимаем кнопку «Загрузить»:


Программа проинформирует, когда загрузка будет завершена (это буквально пара секунд).

Готово. Нужно отключить Arduino от USB и подключить заново. Лента загорится последовательно красным, зелёным и синим цветом - Arduino активировался и готов к работе.

Загрузите и установите программу . В программе нажмите «Больше настроек» и укажите устройство - Adalight, COM-порт и количество светодиодов. Выберите количество кадров для захвата (до 60).


Далее, нажмите «Показать зоны захвата» > «Мастер настройки зон». Выберите конфигурацию вашей ленты.


Нажмите «Применить» и «Сохранить настройки». На этом базовые настройки заканчиваются. Потом вы сможете поэкспериментировать с размерами зон захвата, сделать цветокоррекцию ленты и пр. В программе много разных настроек.


Чтобы активировать профиль, достаточно два раза мышкой нажать на соответствующую иконку (профилей AmbiBox) в области уведомлений Windows. Лента сразу загорится. Отключается тоже двойным нажатием.

Вот в принципе и всё. Результат вы видели в начале статьи. Ничего сложного, дёшево и здорово. Уверен, что у вас получится лучше, так что делитесь своими поделками в комментариях.