Software Setup
The program settings are represented by two screens of settings, this is the BASE SETTINGS screen and the COLOR CORRECTION SETTINGS screen. Below is a list of settings for each of the screens:
Base application settings
To go to the base settings screen, you must click on the corresponding button on the main screen of the program, as shown in the picture below:
Next, the base settings window opens:
On this screen there are three sections of settings: LED STRIP SETTINGS, DEVICE SETTINGS and SCREEN CAPTURE SETTINGS, consider these sections in detail:
LED STRIP SETTINGS – This section contains settings describing the configuration and placement of your LED strip on a TV or monitor. This section has several settings, let’s conside them in more detail:
LEDs Horizontal – This setting specifies the number of LEDs in our LED strip horizontally, in my case, for the 42″ screen, 28 LEDs:
LEDs Vertical – This setting sets the number of LEDs vertically, in my case, for the 42″ screen, 16 LEDs:
LEDs Bottom Gap – If your screen is on a stand, you may need a gap in which there are no LEDs in the bottom horizontal segment of the LED strip, this setting allows you to set this gap (measured in the number of LEDs).
When viewed from the back of the screen:
The same in the program settings:
LED Strip Direction – This setting determines the direction of your LED strip and must correspond to the marking applied to the LED strip itself, can take the values “CW” (Clockwise) and “CCW” (Counterclockwise).
First LED Offset – This setting is responsible for shifting the location of the first LED in the LED strip relative to the upper-left corner of the screen (viewed from the front). This setting shows where our LED strip starts, where we will connect our microcontroller (Arduino) and where the signal will go along the chain in the direction indicated in the “LED Strip Direction” setting.
For example, the pictures below show the adjustment of the four LEDs offset from the zero point(the upper-left corner of the screen) and the direction of the LED strip:
The offset for the four LEDs selected in the “First LED Offset”:
The direction of the LED strip “CW” – clockwise:
DEVICE SETTINGS – This section contains the basic settings of the program, settings for the connection speed with the microcontroller (Arduino), setting the order of the color output, the settings for autostart program at system startup, setting the program behavior when the screen is turned off:
Consider these settings in more detail:
Serial Baud Rate – This setting allows you to choose the data transfer speed between your Android device and the Arduino microcontroller. It is important to understand that the same data transfer speed should be selected in the sketch settings(#define BAUD_RATE 115200) for Arduino AAA.ino, which we talked about in the description of the Hardware Setup:
RGB Byte Order – The setting determines in what order to send color data to the microcontroller Arduino, RGB, RBG, GBR, GRB, etc. If you are using a sketch for Arduino from this description, then this parameter should not be changed, by default RGB:
Start On Boot – Setting allows you to enable/disable autorun program at system startup and start it in last active mode:
Screen Off Action – The setting allows you to select the behavior of the backlight when the display is turned off, for example, you can turn on the “SINGLE COLOR MODE” or “COLOR EFFECT MODE”. It is also possible to turn off all active modes or to be idle when the display is turned off. When the display is turned on again, the program will return to the last active mode of operation that was before the display was turned off:
SCREEN CAPTURE SETTINGS – In this section there are settings intended for controlling the operation mode of the “SCREEN CAPTURE MODE”:
Consider these settings in more detail:
Horizontal Depth – The setting specifies the depth of the image capture area horizontally. The depth of the capture zone is measured as a percentage of the screen size in height. The yellow dotted line in the picture shows the current depth of the capture zone:
Vertical Depth – The setting specifies the depth of the image capture area vertically. The depth of the capture zone is measured as a percentage of the screen size in width. The green dashed line in the picture shows the current depth of the capture zone:
Capture Quality – The setting specifies the quality level of the captured image. The higher the quality, the more accurate and detailed the backlight will match the image on the screen. High values of this setting can reduce performance on weak systems:
Color correction
To go to the color correction settings screen, click on the corresponding button on the main screen of the program, as shown in the picture below:
Next, the color correction settings window opens:
This screen shows the settings for controlling the color correction and selecting the color effects of the backlight: Single Color, Color Effect, Color Saturation, Color Brightness, Color Blur and RGB color gamma settings:
Single color – The setting is used to select the backlight color. The setting is for the “SINGLE COLOR MODE”:
Color effect – The setting allows you to select the desired color effect of the backlight. The setting is for the “COLOR EFFECT MODE”:
Color Saturation – Adjust the color saturation of the backlight. Adjusting allows you to increase/decrease the backlight saturation level:
Color Brightness – Adjust the brightness of the backlight colors. Adjusting allows you to increase/decrease the brightness level of the backlight color:
Color Blur – Adjust the blur of the backlight colors. Adjustment allows you to increase/decrease the blur level of the LEDs of the backlight:
Red/Green/Blue Color Gamma – Gamma correction settings for each of the three primary colors in the RGB palette:
Источник
О программе
Ambient light Application for Android является одной из немногих программ для Android, которая позволяет реализовать Ambient light подсветку без использования настольного ПК, как в большинстве прочих вариантов. Ambient light Application for Android имеет три основные режима работы, таких как:
. Это важно знать .
Изображение с ТВ-тюнера не обрабатывается на уровне ОС Android, подсветка с обычными телеканалами работать не будет. Подсветка работает только в приложениях на ОС Android, которые не используют защищенный контент. Производительность 4K зависит только от возможностей оборудования. К сожалению, такие программы, как YouTube и Netflix используют защищенный контент, подсветка в таких программах не будет работать.
SINGLE COLOR MOD E — Этот режим позволяет включать всю подсветку одним, выбранным в настройках программы цветом. Данный режим хорошо подходит в качестве ночного освещения комнаты, удивительным образом меняя привычный интерьер.
COLOR EFFECT MODE — Это режим отображения цветовых эффектов. Динамическая подсветка может менять цвета, в зависимости от того, какой из предустановленных эффектов вы выбрали в настройках.
SCREEN CAPTURE MODE — Это, наверно, самый востребованный режим работы подсветки, который позволяет менять её цвета в зависимости от того какой контент в данный момент отображается на экране.
Интерфейс программы представлен на четырех экранах, первый из которых вы уже могли видеть выше, с его помощью мы можем управлять основными функциями приложения и переходить к экранам настроек.
На следующей картинке показан экран настройки основных параметров, например таких, как выбор количества светодиодов по горизонтали и по вертикали, скорость соединения серийного порта, направление установки светодиодной ленты, порядок вывода цветов, глубина захвата изображения и другие параметры о которых мы поговорим в разделе Настройка программы.
На этом изображении показан экран настройки цветовой гаммы, настройки яркости, насыщенности и выбора цветовых эффектов.
Экран вывода вспомогательной информации — инструкции по сборке аппаратной части, инструкции по настройке аппаратной части, инструкции по настройке программы Ambient light Application for Android.
Источник
Сборка подсветки
Аппаратная часть
Для реализации понадобится четыре основных компонента:
1. Управляемая светодиодная RGB лента,
2. Блок питания,
3. Микрокомпьютер Arduino,
4. Программа Ambient light Application for Android.
Сначала небольшое количество объяснений.
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 В. Плотность и защита аналогичны предыдущему варианту.
Вот пример такой ленты:
Какую ленту выбрать, WS2812B или WS2811?
Важный фактор — питание ленты, о чём я расскажу чуть позже.
Если у вас дома окажется подходящий по мощности блок питания (часто дома от старой или испорченной техники остаются блоки питания), то выбирайте ленту, исходя из напряжения блока питания, т.е. 5 В — WS2812B, 12 В — WS2811. В этом случае вы просто сэкономите деньги.
От себя могу дать рекомендацию. Если общее количество светодиодов в системе будет не более 120, то WS2812B. Если более 120, то WS2811 с рабочим напряжением 12 В. Почему именно так, вы поймёте, когда речь зайдёт о подключении ленты к блоку питания.
Какой уровень защиты ленты выбрать?
Для большинства подойдёт IP65, т.к. с одной стороны она покрыта «силиконом» (эпоксидной смолой), а с другой есть самоклеющаяся поверхность 3M. Эту ленту удобно монтировать на ТВ или монитор и удобно протирать от пыли.
Какую плотность светодиодов выбрать?
Для проекта подойдут ленты с плотностью от 30 до 60 светодиодов на метр (конечно, можно и 144, никто не запрещает). Чем выше плотность, тем больше будет разрешение Ambient light (количество зон) и больше максимальная общая яркость. Но стоит учитывать, что чем больше светодиодов в проекте, тем сложнее будет устроена схема питания, и понадобится более мощный блок питания. Максимальное количество светодиодов в проекте — 300.
Какой блок питания выбрать для ленты?
Блок питания подбирается по мощности и напряжению. Для WS2812B — напряжение 5 В. Для WS2811 — 5 или 12 В. Максимальная потребляемая мощность одного WS2812B светодиода 0,3 Вт. Для WS2811 в большинстве случаев аналогично. Т.е. мощность блока питания должна быть не ниже N * 0,3 Вт, где N — количество светодиодов в проекте.
Например, у вас ТВ 42″, и вы остановились на ленте WS2812B с 30 светодиодами на метр, вам нужно 3 метра ленты(все 4 стороны экрана). Вам понадобится блок питания с напряжением 5 В и максимальной мощностью от 5 В / 6 А. В случае если на нижней горизонтали экрана меньше диодов, чем на верхней, это всего порядка 60 светодиодов — мощность от 5 В / 4 А.
Пример блока питания для ленты:
Какой микроконтроллер выбрать?
Управлять Ambient light будет микрокомпьютер Arduino. Arduino Nano на Алиэкспресс стоит около 2,5$ за штуку.
Затраты на проект для обычного телевизора 42″:
12$ — 3 метра WS2812B (30 светодиодов на метр)
4$ — блок питания 5 В / 4 А
2,5$ — Arduino Nano
3$ — программа Ambient light Application for Android
Итого: 21,5$ или
Микроконтроллер Arduino Nano:
Светодиодная лента WS2812B:
Реализация аппаратной части
Самое главное — это правильно организовать питание ленты. Лента длинная, напряжение падает при большом токе потребления, особенно при использовании 5 В ленты. Большинство проблем, которые возникают у тех, кто делает себе Ambient light, связаны именно с питанием. Я пользуюсь правилом — нужно делать отдельную подводку питания на каждые 10 Вт потребляемой максимальной мощности при 5 В и 25 Вт потребляемой мощности при 12 В. Длина подводки питания (от блока питания до самой ленты) должна быть минимальной (без запаса), особенно при 5 В.
Общая схема подключения выглядит следующим образом (Arduino запитана от USB, а лента от БП):
К ленте с обоих концов подведено питание — два параллельных подключения. Для примера, если бы мы делали подсветку на все 4 стороны, а лента была бы по 60 светодиодов на метр (т.е. максимальная мощность 54 Вт), то мы бы сделали такой подвод питания:
К Arduino от ленты идут два контакта. 1 — GND, который нужно подключить к соответствующему контакту на Arduino. И 2 — DATA, который нужно подключить к шестому цифровому контакту на Arduino через резистор 470 Ом. Если резистора у вас нет, то в большинстве случаев всё будет прекрасно работать и без него, но лучше, чтобы он был. Резистор можно купить за пару копеек в любом радиомагазине. Сам микрокомпьютер Arduino можете разместить в любом удобном корпусе, многие используют для этого контейнер от «Kinder Surprise». Arduino нужно размещать как можно ближе к ленте, чтобы подводка контакта от DATA на Arduino имела минимальную длину.
Припаивать провода к ленте просто. Главное правило — время контакта с паяльником должно быть минимальным!
Как изгибать ленту под прямым углом?
Есть два варианта. 1 — ленту нужно разрезать и соединять короткими проводами (разместив всё это в термоусадочной трубке). 2 — Можете купить специальные угловые коннекторы на три контакта для светодиодных лент:
Программная часть
Это самое простое.
Загружаем и устанавливаем Arduino IDE. Загружаем последнюю доступную версию библиотеки FastLED, распаковываем и кладём папку FastLED из архива, в папку с библиотеками Arduino IDE(C:Program Files (x86)Arduinolibraries). Запускаем Arduino IDE и закрываем её. В папке Документы будет создана папка Arduino. В ней создаём папку AAA и копируем туда скетч — AAA.ino.
Подключаем микрокомпьютер Arduino по USB. Драйвер (последовательного интерфейса CH340) установится автоматически. Если этого не произошло, то в папке Arduino IDE есть папка Drivers со всем необходимым.
Запускаем Arduino IDE и открываем файл AAA.ino.
Изменяем(если нужно) скорость передачи данных:
Изменяем количество светодиодов. Количество должно быть равным количеству светодиодов в вашей светодиодной ленте:
Инструменты > Плата > Arduino nano
Инструменты > Порт > Выбираете COM-порт (там будет нужный вариант)
Нажимаем кнопку «Загрузить»:
Программа проинформирует, когда загрузка будет завершена (это буквально пара секунд).
Готово. Нужно отключить Arduino от USB и подключить заново. Лента загорится последовательно красным, зелёным и синим цветом — Arduino активировался и готов к работе.
Теперь можно подключить Arduino к TV приставке и приступить к настройке программы.
Программная часть для контроллеров ESP8266 WeMos D1R2 или NodeMCU V1.0. Подключение по WiFi.
WeMos D1R2
WeMos D1R2 (ESP-8266) — Бинарная прошивка для лент типа WS2812/WS2813/WS2815:
LEDStripWiFi_AAA.ino.d1_mini_WS2812.bin
Ленты типа NeoPixels (APA106, WS2811, WS2812, WS2813, WS2815 & SK6812, SK6813, SK6815)
WeMos D1R2 (ESP-8266) — Бинарная прошивка для лент типа APA102 (DotStar):
LEDStripWiFi_AAA.ino.d1_mini_APA102.bin
Ленты типа DotStars (APA102, LPD8806, SK9822, WS2801, P9813)
NodeMCU V1.0
NodeMCU V1.0 (ESP-12E) — Бинарная прошивка для лент типа WS2812/WS2813/WS2815:
LEDStripWiFi_AAA.ino.nodemcu_WS2812.bin
Ленты типа NeoPixels (APA106, WS2811, WS2812, WS2813, WS2815 & SK6812, SK6813, SK6815)
NodeMCU V1.0 (ESP-12E) — Бинарная прошивка для лент типа APA102 (DotStar):
LEDStripWiFi_AAA.ino.nodemcu_APA102.bin
Ленты типа DotStars (APA102, LPD8806, SK9822, WS2801, P9813)
Для загрузки прошивок в контроллер можно использовать утилиту например:
Flash Download Tool
Как работает прошивка
Количество светодиодов в прошивке указывать не нужно, определяется автоматически.
Максимально возможное количество светодиодов в прошивке — 1500.
В прошивке есть 3 основных цвета индикации
1 — Синий, 2 — Красный, 3 — Зеленый.
Определение состояния прошивки согласно цвету индикации:
Синий — Начало работы (инициализация), в этот момент нажатие кнопки сброса приведет к сбросу сохраненных параметров подключения WiFi, о чем прошивка сообщит тройным миганием синего цвета.
Красный — Начало процесса инициализации WiFi и подключение к WiFi сети. Если параметры подключения WiFi были сохранены ранее и подключение удалось — мы увидим индикацию зеленого цвета. Если параметры подключения WiFi ранее не были сохранены — индикация останется красной.
Зеленый — Подключение к WiFi выполнено успешно, система находится в ожидании подключения к программе Ambient light Application for Android
Хочу обратить внимание на то, что для передачи данных от программы на контроллер используется протокол UDP, который позволяет нам обеспечить скорость передачи потоковых данных, но не предоставляет никаких гарантий доставки сообщения, следует внимательно отнестись к качеству покрытия WiFi сигнала, чем хуже будет связь контроллера с WiFi, тем больше будет потерь данных.
Подключение контроллера к WiFi
Что бы подключить контроллер к сети WiFi необходимо:
1. Подключить LED ленту к контроллеру
2. Подключить питание к контроллеру
3. Дождаться когда LED лента загорится красным цветом
4. На любом устройстве с WiFi (телефон/планшет/ПК) выполнить поиск доступных WiFi сетей
5. Выполнить подключение к сети с именем типа — AAA_b3da7c (пароль — password), где b3da7c это последние 3 сегмента MAC адреса вашего контроллера.
6. Если подключение удалось, должен открыться браузер со страницей настройки WiFi контроллера, если браузер не открылся перейдите по ссылке http://192.168.4.1 вручную:
7. Выбрать желаемый тип подключения (Static IP/ DHCP), при подключении с DHCP IP адрес будет назначен автоматически и узнать какой адрес назначен можно будет только на роутере. Рассмотрим вариант с назначением статического адреса:
8. В списке сетей выберем нашу домашнюю сеть и введем пароль для подключения к ней, так же введем IP адрес, Шлюз и Маску сети:
9. На этом настройка подключения к WiFi завершена, светодиодная лента должна загореться зеленым и погаснуть:
10. Ваше устройство (телефон/планшет/ПК) должно снова подключиться к вашей домашней сети, а контроллер перейдет в режим ожидания подключения к программе.
Сброс настроек
Одинарное нажатие на кнопку сброса контроллера приведет его перезагрузке, настройки подключения к сети WiFi при этом сохранятся.
Повторное нажатие на сброс, пока лента горит синим цветом, приведет к сбросу настроек подключения к сети WiFi и перезагрузке контроллера.
Источник