Для реализации понадобится четыре основных компонента:
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 м). Подложка чёрного и белого цвета.
AMBILIGHT своими руками для любого телевизора со Смарт ТВ Боксом на Андроид и для компьютера. Нюансы
Вот пример такой ленты:
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 — количество светодиодов в проекте.
DIY / Ambilight подсветка монитора или телевизора своими руками за 10$ и 15минут
Например, у вас ТВ 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$ или ~1400 рублей
Микроконтроллер 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)
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 и перезагрузке контроллера.
Источник: ambilight.tender-complex.ru
Ambilight (Эмбилайт) или как сделать своими руками подсветку телевизора светодиодной лентой
В наши дни у каждого есть телевизор, а если быть точным то LED, LCD или плазма. Так для чего же нужна подсветка? Ответ прост — уменьшить нагрузку на глаза и добавить комнате интересный вид. Так что у эмбилайта есть как функциональное, так и эстетическое назначение.
По этим же причинам я хотел сделать ambilight подсветку для одного из моих телевизоров. В поисках подсветки я провёл кое-какие исследования и сделал выводы, исходя из которых решил сделать подсветку своими руками.
- Готовые решения доступны, но непопулярны из-за дороговизны.
- В большинстве руководств, светодиодная полоса просто клеится к телевизору сзади, но я хотел оставить свой телевизор чистым.
- Некоторые инструкции требуют много электроники и хороших знаний в этой области.
- Многие телевизоры крепятся на стену, и мне как раз нужно было такое решение, но я не мог найти ничего достаточно простого.
- Я хотел собрать портативную или съёмную систему, она не должна была как-либо воздействовать на мой телевизор.
- Я хотел использовать самые дешевые и доступные материалы.
- Система подсветки должна была быть очень лёгкой.
- Мне не хотелось сверлить еще больше дырок в стене.
Я думаю, этих пунктов достаточно и если вы согласны хотя бы с частью из них, то вы прочитаете мою инструкцию и не разочаруетесь.
Заметка: если до этого вы не работали с электроникой и светодиодами — чудесно, у вас появился шанс попрактиковаться.
Шаг 1: Список компонентов
Всё по списку легко найти в местных специализированных магазинах:
- Около 3 метров пластикового кабель-канала шириной примерно 2.5 см. Длина может меняться в зависимости от размера вашего ТВ.
- 4 соединителя кабель-канала формы «L» (угловые)
- Одноцветная светодиодная полоска. Я купил моток длиной 5 метров, выбрав зеленый цвет, так как он подходил к моей стене. На маркировке ленты написано «SMD 3528 Single Color»
- Адаптер питания, совместимый со светодиодной лентой
- Изолента для соединений
- Линейка
- Маленькая ножовка
- Провод с вилкой, длина зависит от ваших потребностей
- Прозрачная плёнка (её нет на фотографии)
- Большие зажимы для закрепления соединений (нет на фотографии)
- Клей или клейкая основа, способная соединить пластиковые элементы
Заметка: При покупке светодиодной ленты, попросите продавца подобрать вам подходящий адаптер питания
Шаг 2: Основные замеры и подготовка корпуса
На этом этапе складывается четкая идея: из пластикового кабель-канала нам нужно собрать рамку, в которой будет закреплена светодиодная лента. Эта рамка должна свободно помещаться за ТВ и держаться на креплениях, оставляя поверхность ТВ нетронутой.
- Определите длину и высоту вашего ТВ. В моём случае — это 90 * 50 см.
- Замерьте, как далеко от края ТВ располагается крепление.
С этими параметрами мы сможем спрятать за ТВ что угодно, главное, чтобы размеры предмета были чуть меньше, чем размеры ТВ.
Таким образом, я создам рамку, которая будет располагаться на креплении ТВ и её габариты будут на 8 см меньше, чем габариты ТВ.
Размеры ТВ (90*50 см) — 8 см = Размеры рамки (82*42 см)
Так как ширина самой рамки составляет около 2 см, то добавим их к упомянутым 8 см и получим следующие размеры рамки: 84*44 см.
L-образные коннекторы добавят еще около 3 см к ширине рамки с каждой стороны, поэтому учтём и этот параметр, тогда итоговые габариты рамки получатся 84*38 см.
При помощи ручной ножовки отрежьте от кабель-канала 2 куска по 84 и 2 куска по 38 см (замерьте по своему ТВ, если у него другие габариты).
Шаг 3: Сборка рамки для ambilight подсветки
При помощи L-образных коннекторов мы соберём прямоугольную рамку. Смотрите на приложенное изображение и следуйте списку:
- Сперва соберите рамку без использования клея
- Поместите рамку перед ТВ, чтобы проверить правильность расчётов и убедиться в том, что зазоры между рамкой и телевизором вас устраивают. Это важный шаг перед склеиванием.
Обычно кабель-каналы не очень прочны и расшатываются, если не закрепить их как следует. Поэтому нужно проклеить все соединения между сторонами и коннекторами. Я склеил всё согласно инструкции на клее:
- Нанёс клей на коннектор
- Нанёс клей на концы рамки
- Подождал 5-10 минут
- Соединил концы рамки с коннекторами и закрепил их зажимами.
- Оставил конструкцию на 30 минут
- После того, как клей высох, я снял зажимы
Шаг 4: Прикрепляем светодиодную ленту к рамке
Я не хотел обрезать ленту по длине рамки, но если вам так будет проще, то измерьте длину рамки и отрежьте светодиодную ленту по следующему по длине разделителю (обычно это 4 медные точки со значком ножниц, идущие через каждые 3 светодиода, нельзя резать ленту в местах, не предназначенных для разделения).
Пластиковый корпус по ширине подходил ровно для двух рядов светодиодной полоски, поэтому я решил клеить ленту, пока она не закончится. Я начал клеить ленту по одной стороне, оставляя достаточно места для второй параллельной дорожки.
Посмотрите приложенные изображения и следуйте инструкции:
- Начните снимать защитную плёнку и клеить ленту по наружной стороне рамки, начиная с середины длинной её стороны.
- Продолжайте понемногу снимать защитную плёнку и клеить ленту пока не дойдёте до начальной точки.
- Немного согните ленту и начните клеить второй ряд.
- Продолжайте понемногу снимать защитную плёнку и клейте ленту, пока она не закончится.
Шаг 5: Соединяем провода
Показать еще 3 изображения
При покупке светодиодная полоска, адаптер и провода для розетки продаются по отдельности. Для того чтобы всё заработало, нужно соединить все компоненты в единую цепь.
Посмотрите изображения и следуйте инструкции:
- Осмотрите адаптер, у него есть черный и красный провод с одной стороны, а также два красных провода с другой стороны. Также обратите внимание на то, что светодиодная полоска оснащена черным и красным проводом.
- Скрутите красные провода ленты и адаптера. То же самое сделайте с черными проводами.
- Обмотайте открытые соединения изолентой.
- Возьмите провод для розетки и соедините каждую его жилу с одним из двух оставшихся красных проводов, а затем изолируйте соединение.
Система подсветки готова. Подключите её и убедитесь, что светодиоды горят. В моём случае всё получилось превосходно. Теперь осталось самое лёгкое — установить подсветку на ТВ.
Шаг 6: Установка
После проверки самое время установить подсветку за телевизором.
Это очень просто:
- Снимите ТВ с настенного крепления и поставьте его в безопасное место.
- При необходимости, снимите проводку, находящуюся за ТВ.
- Повесьте рамку на настенное крепление, отрегулируйте ее посередине.
- Поместите адаптер светодиодной ленты поверх внутренней рамки. Если хотите, можете закрепить адаптер на рамке при помощи двустороннего скотча.
- Установите телевизор поверх рамки.
- Подключите подсветку в ближайшую розетку
Наполните бокал вина или чашу ароматного чая и смотрите ваши любимые передачи в красивой обстановке.
- Можно использовать многоцветную ленту с пультом управления
- Установите диммер, чтобы контролировать яркость ленты
Олег Самоделов
Рассказываю как сделать какую-либо вещь с пошаговыми фото и видео инструкциями.
Источник: masterclub.online
Ambilight своими руками. Часть 1 – Боль
Полгода назад я открыл для себя мир боли и унижения волшебный мир микроконтроллеров и одноплатных компьютеров. Теперь у меня аж целых 6(7) Raspberry Pi, 3 Arduino и 2 девайса от ODROID. И, хотя большинство из них пойдёт в мой автомобильный проект или на подарки друзьям, один из них решено было пустить в какой-нить домашний проект.
Одним из первых таких проектов, который попался мне на глаза в интернете был проект по добавлению фоновой подсветки к телевизору наподобие той, что делает Philips.
Естественно, как и всё, что связано со “сделай сам” , оно не могло просто взять и заработать.
Сначала я купил “неправильную” RGB ленту. Которая работает шикарно, но на ней нельзя задать цвет для отдельного светодиода, а только для всей ленты целиком. Правда эта лента пригодилась в другом проекте, о котором обязательно напишу позже.
Осознав ошибку я начал искать “правильную” ленту с управлением каждым светодиодом отдельно (Так называемый бегущий огонь). Таких оказалось много разных и я взял первую попавшуюся – на базе ws2812, не подозревая, что могут быть какие-то проблемы.
Как оказалось, это тоже “неправильная” лента и проекты, которые существуют в интернете либо не поддерживают её, либо требуется дополнительно Arduino… или я просто не умею пользоваться google-ом.
- Всемирно любимый Hyperion, например, при настройке не имеет поддержки ws2812 лент, но может управлять ей через Arduino (нафига?). С наскока разобраться не получилось, да и сама идея использовать связку RaspberryPi с Arduino мне как-то не нравится
- ambi-tv вообще поддерживает только один тип лент: LPD8806, хотя имеет возможность расширения
- “мертвый” boblight тоже может работать с такой лентой только через Arduino.
В дополнение ко всему этому, рабочие примеры в интернете были для Raspberry Pi A или B, а для Raspberry Pi 2 часто можно было встретить оговорку, что “не поддерживается” или “не работает”, что вселяло дополнительный оптимизм.
Ну да ладно, подумал я, говно вопрос – запилю всё сам. Тогда я ещё не знал, что помимо Software проблем меня ждут ещё и Hardware.
Зарядка от телефона Samsung 5v/2a
Как оказалось большинство (или все?) производителей телефонов кладут в комплекте с их устройством говённую зарядку, напряжение которой не хватает для Raspberry Pi, к тому же сам Raspberry Pi имеет ограничение на выходной ток на USB портах. О том что это может вызывать какие-то проблемы с подключенными устройствами я тоже узнал гораздо позже.
Кроме того это кажется очевидным, когда читаешь, но не очевидным, когда делаешь. Светодиодную ленту нужно СНАЧАЛА примерить к телевизору, ЗАТЕМ нарезать. ПОСЛЕ припаять, и ТОЛЬКО ПОТОМ приклеивать к телевизору.
В дополнение ко всему этому мой вариант расположения ленты за телевизором, отличается от классического – светить в стену. Вместо этого мои светодиоды светят в бок. Когда я это делал – мне казалось, что, поскольку край рамку у моего телевизора прозрачный, то возможность видеть подсвеченный светодиод придаст некую изюминку. На деле это отвлекает от картинки и не дает нужного эффекта. Короче НЕ НАДО ТАК ДЕЛАТЬ.
О том можно ли сделать из Raspberry Pi фоновую подсветку для телевизора и как всё это работает – читайте в следующих частях.
Related
2 thoughts on “ Ambilight своими руками. Часть 1 – Боль ”
- Pingback: Ambilight своими руками. Часть 2 – Железо | В поисках счастья
- Pingback: Цветомузыка в машину: Част 1 – прототип | В поисках счастья
Источник: www.ironharvy.com