Пиксельная подсветка просто и быстро

  • 06.05.2019

В этом уроке мы научимся создавать свою собственную подсветку ambilight для телевизора своими руками с помощью Arduino Nano.

Имейте в виду, что Эмбилайт Ардуино будет работать только на ПК с программным обеспечением Bambilight (скачать библиотеку на GitHub).

Вам понадобятся следующие компоненты:

  • Индивидуально адресуемая светодиодная лента RGB
  • Макетная плата небольшого размера
  • Несколько кабелей
  • 12V DC адаптер питания
  • Двусторонний скотч
  • 4-5 Скрепки
  • Затяжки (стяжки) пластиковые для проводов

Шаг 2. Тестирование светодиодной ленты

Будет неприятно, если вы сначала установите ленту на ваш телевизор, но потом поймете, что один светодиод не работает и вам придется удалять ленту и начинать всё сначала.

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

Шаг 3. Схема подключения

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

Наша светодиодная лента использует IC WS2811 для управления 3 светодиодами в отдельности.

Шаг 4. Установка ambilight на монитор/телевизор

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

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

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

Важно!

Убедитесь, что стрелки на светодиодных полосах направлены вокруг вашего монитора! Если нет вам придется начать все заново!

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

Шаг 5. Пайка всей электроники

Чтобы припаять светодиодную ленту мы использовали несколько скрепок, которые согнули и отрезали до соответствующего размера. После этого припаяли их к светодиодным полоскам, чтобы соединить их вместе. Для предотвращения коротких замыканий вы можете использовать некоторые изоляторы, но в нашем случае нам это не было нужно. Чтобы всё выглядело немного лучше, мы использовали маркер, чтобы придать скрепкам черный цвет.

Теперь подключите светодиодную ленту к Arduino, используя ту же схему, что и на шаге выше. Подключите USB-кабель, установите библиотеку FastLED (скачать на GitHub) и загрузите код, указанный на следующем шаге, в ваш Arduino. А далее вам останется только подключить адаптер питания, так как мы сделали всю проводку.

Шаг 6. Скетч Arduino Ambilight

Ниже вы можете скачать или скопировать код для нашей подсветки Ардуино Эмбилайт.

#include "FastLED.h" #define NUM_LEDS 38 #define LED_DATA_PIN 3 #define NUM_BYTES (NUM_LEDS*3) // 3 colors #define BRIGHTNESS 100 #define UPDATES_PER_SECOND 100 #define TIMEOUT 3000 #define MODE_ANIMATION 0 #define MODE_AMBILIGHT 1 uint8_t mode = MODE_ANIMATION; byte MESSAGE_PREAMBLE = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 }; uint8_t PREAMBLE_LENGTH = 10; uint8_t current_preamble_position = 0; unsigned long last_serial_available = -1L; uint8_t led_counter = 0; uint8_t byte_counter = 0; CRGB leds; byte buffer; // Filler animation attributes CRGBPalette16 currentPalette = RainbowColors_p; TBlendType currentBlending = LINEARBLEND; uint8_t startIndex = 0; void setup() { Serial.begin(115200); FastLED.clear(true); FastLED.addLeds(leds, NUM_LEDS); FastLED.setBrightness(BRIGHTNESS); } void loop() { switch (mode) { case MODE_ANIMATION: fillLEDsFromPaletteColors(); break; case MODE_AMBILIGHT: processIncomingData(); break; } } void processIncomingData() { if (waitForPreamble(TIMEOUT)) { Serial.readBytes(buffer, NUM_BYTES); /* DEBUG for (int i = 0; i < NUM_BYTES; i++) { Serial.write((char)buffer[i]); } */ while (byte_counter < NUM_BYTES) { byte green = buffer; byte blue = buffer; byte red = buffer; leds = CRGB(red, green, blue); } FastLED.show(); byte_counter = 0; led_counter = 0; } else { mode = MODE_ANIMATION; } } bool waitForPreamble(int timeout) { last_serial_available = millis(); while (current_preamble_position < PREAMBLE_LENGTH) { if (Serial.available() > 0) { last_serial_available = millis(); if (Serial.read() == MESSAGE_PREAMBLE) { current_preamble_position++; } else { current_preamble_position = 0; } } if (millis() - last_serial_available > timeout) { return false; } } current_preamble_position = 0; return true; } void fillLEDsFromPaletteColors() { startIndex++; // speed uint8_t colorIndex = startIndex; for(int i = 0; i < NUM_LEDS; i++) { leds[i] = ColorFromPalette(currentPalette, colorIndex, BRIGHTNESS, currentBlending); colorIndex += 3; } FastLED.delay(1000 / UPDATES_PER_SECOND); if (Serial.available() > 0) { mode = MODE_AMBILIGHT; } }

Шаг 7. Настройка программного обеспечения

Откройте файл.ino и отредактируйте следующие строки, чтобы они соответствовали вашей ситуации:

#define NUM_LEDS 38 // количество светодиодов #define BRIGHTNESS 100 // яркость

Теперь загрузите скетч в Arduino. Ранее вы должны были скачать библиотеку Bambilight, но если вы этого не сделали вы можете скачать библиотеку на GitHub сейчас.

Откройте Bambilight.exe, расположенную в:

[Местоположение, где вы сохранили папку Bambilight] \ Bambilight-master \ Bambilight-master \ Binary

Теперь настройте всё по своему усмотрению и протестируйте, используя тестовое видео, например, такое:

Как только вы будете удовлетворены результатом, вы можете минимизировать программу Bambilight.

В целом у вас должен быть такой результат работы подсветки ambilight для телевизора, которую вы сделали своими руками с помощью Arduino. Возьмите попкорн, пепси и наслаждайтесь результатом.

Сегодня я расскажу и покажу, как сделать динамическую подсветку монитора.
Наверняка вы знаете, что сидеть за компьютером в темное время суток вредно для глаз, а это из-за контрастной грани между монитором и темнотой. Поэтому для снижения нагрузки на глаза нужна подсветка. Конечно, можно обойтись и настольной лампой, но для создания большего уюта ну или просто для красоты.



Для динамической подсветки нам понадобиться:
1) Адресная светодиодная лента.
2) Резистор от 200-500 Ом.
3) Ардуино.
4) Толстый и тонкий провод.
5) Припой.
6) Паяльник.
7) Флюс.
8) Изолента
9) Кусачки


Сборка и настройка:
1) Все подключать будем все как по схеме ниже. Сама схема проста до безобразия. Лента подключается от блока питания на 5V (автор этой самоделки будет её подключать к блоку питания компьютера), земля ленты и контакт DI подключаться к ардуино, причем контакт DI через резистор, всё. Таким образом, лента питается от блока питания компьютера, а ардуино от USB компьютера и через USB получает информацию для светодиодной ленты.


2) Для начала возьмём толстый провод, который пойдёт на блок питания и тонкий для ардуино, зачищаем, лудим и припаиваем все как на фото ниже.


3) Далее припаиваем два тонких провода к ардуино, не забывая резистор.


4) Теперь самое интересное, нужно закрепить ленту на мониторе. Число светодиодов слева и справа должно быть одинаковым, например двадцать слева и двадцать справа, то же самое сверху и снизу, например тридцать сверху и тридцать снизу, это очень важно.


5) Раскладываем ленту на столе. Прямоугольник с нужной длиной и шириной и с нужным количеством светодиодов как на фото ниже. Заметь те, что начало ленты с контактом DI находится в нижнем левом углу так же и конец ленты тоже находится в нижнем левом углу это тоже очень важно.


6) Ну и приклеиваем ленту к монитору и ардуино на двух сторонний скотч.


7) Теперь подключаем питание к ленте и ардуино через USB к компьютеру.

8) Прошиваем ардуино. Прошивку и инструкцию как это сделать, можно посмотреть на .


9) Далее открываем файл прошивки. Смотрим, куда вы подключили ардуино и запоминаем, далее переходим в «инструменты» и ищем «порт» и выбираем тот USB порт, к которому вы подключили ардуино и выбираем его. В нашем случае это порт номер пять.


10) Затем в первой настройки (выделена жёлтым, на фото ниже) указываем свое количество светодиодов. И завершаем прошивку.


11) Теперь устанавливаем программу AmbiBox, она будет в архиве с прошивкой. Там все просто. Но в конце при выборе устройства нужно указать «Adalight».


12) Запускаем. Сразу ставим русский язык. И автоматическое включение при запуске компьютера, также чтобы эта программа не мешала запуску компьютера, ставим задержку в 20с.


13) И теперь переходим в следующую вкладку и сразу жмём на «больше настроек».


14) Не пугаемся и вспоминаем номер порт USB, к которому подключено ардуино и выбираем нужный порт.


15) Далее в программе можем выбрать режим захвата цвета с экрана. У автора работают только первые шесть, но можете сами потыкать и выбрать тот режим, который вам подходит или просто работает. Автор выбрал режим «GDI FS Aero» отличительность этого режима в том, что на подсветке будут отображаться стандартные прозрачные окна.


16) Нажимаем «показать зоны захвата» и видим что они совсем, не настроены. Для начала выбираем количество ваших светодиодов.


17) Программа должна перезагрузиться. Затем жмём на мастер настройки зон. И подгоняем ваши параметры в программу, пример можете посмотреть на фото ниже. Также советую увеличить зоны схватывания цвета, так результат будет симпатичнее.


18) Вот и все, ставим галочку включить подсветку.


Итог:


Получилось довольно симпатично, особенно приятно смотреть фильмы с такой подсветкой. Также тесты показали прожорливость этой конструкции в среднем 750MA. И если ардуино подключено к компьютеру, то он не выключиться, приходиться каждый раз подключать и отключат ардуино от компьютера. Также можно посмотреть видео сборку этой самоделки.

Ниже представлен проект изготовления подсветки Ambilight для телевизора или монитора. В предыдущей статье "Динамическая подсветка ТВ " использовался простой подход с использованием четырех RGB светодиодных лент, что позволяло отображать на каждой стороне ТВ только один цвет.
В данном статье мы усовершенствуем нашу подсветку, использовав для этого RGB LED пиксели, которые позволяют управлять каждым RGB-светодиодом. Подробнее читайте здесь: .

Итак, что нам понадобится:
- лента цифровых на основе нового контроллера WS2801. Одной такой ленты (25 светодиодов) вполне хватит на обычный среднестатический монитор. Расстояние между RGB-модулями около 10 см. Для большого телевизора могут понадобиться 2 такие ленты
- стабилизированный источник питания 5В для питания RGB LED. Максимальный ток БП нужно подбирать исходя из энергопотребления RGB LED модулей. Если будет использоваться одна лента (25 RGB LED), то ток БП нужен 1.5А, если 2 ленты, то соответственно 3А.
- контроллер Arduino, разъемы и др. мелочи.

Для облегчения подключения к Arduino и БП с лентой были произведены небольшие доработки. Для линии data и clock ленты, были припаяны соединительные коннекторы, чтобы их можно было надежно вставить в разъемы Arduino. Для подключения блока питания припаяли разъем. От разъема, к Arduino припаяли общую "землю". На фото ниже я думаю все вполне понятно:

В Arduino 13-ый пин использовался для clock, а 11-ый пин для data. Плюс, не забудьте "землю".

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

Затем, необходимо равномерно расположить 25 LED RGB светодиодов. У меня вышло расстояние между светодиодами около 50мм.

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

После того, как все RGB LED пиксели закреплены, осталось прикрепить контроллер Arduino. Для этих целей лучше всего подойдет двухсторонний скотч. Подсоединяем USB кабель к Arduino и источник питания 5В к RGB LED ленте.

Программное обеспечение

Все необходимое ПО вы можете скачать с GitHub . В папке Arduino->LEDstream находится скетч для Arduino. Скомпилируйте его и загрузите в контроллер.

Для компьютера используется ПО под Processing IDE, который необходимо скачать и установить отдельно (не путать с Arduino Processing!). Если в вашей конфигурации не 25 RGB LED, то в скетч необходимо будет внести изменения. Также, необходимо выбрать COM-порт, к которому подключен контроллер Arduino, чтобы передавать данные (см. скриншот ниже).

Программа работает следующим образом: после запуска, программа работает в фоновом режиме и постоянно делает скриншоты экрана и анализирует цвета отдельных точек по периметру. Потом вычисляет среднее цвета для точек и передает данные в контроллер Arduino. И не важно, что запущенно на компьютере - медиаплеер, браузер с роликом с youtube или еще что-то.

Код программы рассматривать не будем, т.к. он хорошо комментирован. Кстати в папке Colorswirl находится небольшой пример демо-скетча, который выводит на RGB светодиоды радугу.
Некоторое старое железо, может не справиться с нагрузкой (к примеру первые Atom"ы на нетбуках), т.к. постоянно делаются скриншоты. В этом случае может помочь уменьшение разрешения, к примеру 800х600.

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

Если вы давно хотели прикрутить подсветку к своему не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

Несколько лет назад на mySKU был опубликован потрясающий обзор , который опубликовал P43YM . Комментарии у этого обзора тоже потрясающие - это просто огромная база знаний (настолько огромная, что браузер еле грузит эту страницу). Время идёт, компоненты дешевеют, mySKU обретает новую аудитория, которая могла пропустить этот обзор. Я решил тоже описать процесс создания адаптивной фоновой подсветки для ТВ или монитора по типу Philips 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. Лента сразу загорится. Отключается тоже двойным нажатием.

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

Планирую купить +435 Добавить в избранное Обзор понравился +270 +577