Содержание
- 1 Шаг 1: Демо
- 2 Шаг 2: Вам понадобится
- 3 Шаг 3: проводка
- 4 Шаг 4: Загрузите код Arduino и протестируйте
- 5 Шаг 5: Измерьте и обрежьте по размеру
- 6 Шаг 6: обрежьте пластик
- 7 Шаг 7: подключитесь к телевизору и присоединитесь
- 8 Шаг 8: Тестируй снова
- 9 Шаг 9: Настройте Adalight
- 10 Шаг 10 Сядьте назад, посмотрите фильм!
Окружающее освещение, которое реагирует на изображение на вашем телевизоре, проще и дешевле, чем вы думаете, — и это делает ваш домашний кинотеатр великолепным.
Первоначально разработанная для телевизоров Филиппа в 2002 году, эта функция по-прежнему доступна только в ограниченном количестве моделей, и в результате многие люди пытались создать собственную Ambilight, которая не предполагала покупку нового телевизора. До сих пор они были относительно дорогими или с низким разрешением (всего несколько пикселей на каждом краю) — я даже сделал однопиксельную версию
пару лет назад. Теперь появилось новое поколение доступных программируемых светодиодов — и вы тоже можете создать клон Ambilight с высоким разрешением всего за 60 долларов. Заинтересовались?
Шаг 1: Демо
Во-первых, демонстрация того, что мы делаем. Если вам интересно, вы можете посмотреть видео «Electric Sheep», трехчасовую поездку по псих-трансу — это идеальная пара для демонстрации Ambilight. Конечно, не все видео будут давать одинаковые приятные результаты — многие фильмы слишком мутные или представлены в формате кино, что приводит к появлению черных полос (и, следовательно, отсутствию цветных данных). Я нашел лучшие результаты с яркими, яркими цветами в большинстве анимаций, а также в боевиках со сложными эффектами компьютерной графики.
В настоящее время он работает только с некоторой обработкой сигналов на стороне компьютера — поэтому он отлично подходит для таких вещей, как VLC, Popcorn Time, Kodi (ранее известный как XBMC) или игр для ПК. К сожалению, обработка стандартного входа HDMI сложнее — по крайней мере, нам понадобится разветвитель HDMI и какой-то преобразователь в более читаемый аналоговый формат. Я оставлю это для будущего проекта — пока это работает только с компьютером.
Шаг 2: Вам понадобится
Список деталей короткий — здесь нет сложной электроники:
- Arduino Uno
- 10А 5В блок питания
- WS2812B 5-метровая светодиодная лента
- Двухсторонний скотч (не делайте ту же ошибку, что я сделал — используйте качественные материалы 3M)
- Обработка установлена
Основная часть этого клона Ambilight представляет собой цепочку индивидуально адресуемых светодиодов WS2812B. Каждый светодиод имеет свой собственный чипсет, и для связи используется одна линия. Я купил свой у Aliexpress за 52 $, включая доставку — это было для 5-метровой катушки (150 светодиодов), что более чем достаточно для самых больших телевизоров — и намного дешевле на светодиод, чем 50-долларовая нить, которую продает Adafruit. Автономный блок питания 5 В / 10 А можно купить примерно за 10 долларов, но я использовал старый блок питания ATX, который ранее преобразовал в настольный блок питания.
, Если у вас огромный телевизор и вы планируете соединить несколько полос, потому что 5 метров недостаточно, обязательно определите свои точные требования к мощности при 60 мА на светодиод.
Шаг 3: проводка
Давайте сначала проверим свет, чтобы убедиться, что источник питания достаточен и основная связь работает. Подсоедините контакт 6 от Arduino к DIN на светодиодной полосе — у вашей полоски должен быть отводной конец на одном конце, поэтому используйте перемычку типа «мужчина-женщина». Также подключите вывод GND от Arduino к GND на полосе. Не пытайтесь подавать питание на полоску с помощью 5-контактного штыря на Arduino. Вы будете жарить Arduino, очень быстро. Вместо этого используйте внешний источник питания 5 В. Настольный блок питания с радостью запитает всю 5-метровую полосу для тестирования (при условии, что вы следовали нашему руководству по преобразованию расходных материалов)
). Рассчитать при 60 мА на светодиод; так что в моем случае 114 светодиодов при 60мА чуть меньше 7А. Если вы думаете: «7 ампер звучат как ужасно много!», Это потому, что это работает при 5 вольт — 7 ампер при 240 вольт было бы намного больше!
Обратите внимание, что эти полосы имеют определенное направление, в котором должен проходить сигнал, обозначенный стрелками. Если вы подключаете несколько полосок, вам также может потребоваться повторно подать питание на полпути, чтобы избежать падения напряжения — я обнаружил, что в этом нет необходимости, хотя всего 5 метров.
Шаг 4: Загрузите код Arduino и протестируйте
В проекте есть как Arduino, так и Processing. Сначала убедитесь, что вы добавили FastLED в каталог библиотек Arduino, а затем загрузите этот код. Измените строку 7 для количества светодиодов, которые у вас есть; и если вы обнаружите, что цветовой профиль нарушен, измените строку 47. Для приобретенной мной полосы используется чипсет WS2812B и порядок цветов «GRB». См. Документацию FastLED о том, как выполнить калибровку на полосу, но по умолчанию все должно быть в порядке, если вы купили те же светодиоды.
Наконец, вам нужны компоненты обработки из кода проекта Adafruit. Для тестирования откройте Colorswirl.pde. Опять же, измените количество светодиодов в строке 29; и последовательное устройство на линии 44. Если Arduino является единственным подключенным устройством COM, Serial.list () [0] Это хорошо. Если нет, попробуйте Serial.list () [1]. Запустите приложение и, если повезет, ваши полоски покажут красивый вихрь цветов.
Обратите внимание, что вы не ограничены обработкой — все, что совместимо с Adalight (например, Prismatik), также может быть настроено для работы с этим — но в этом учебном пособии мы рассмотрим только процедуру настройки Adalight.
Шаг 5: Измерьте и обрежьте по размеру
Снимите телевизор со стены или поверните его и измерьте. Я предполагаю, что вы будете прикреплять полосы прямо к телевизору, но если это не так, вам нужно будет создать рамку. Постарайтесь убедиться, что вы получаете пиксель непосредственно в каждом углу, но в противном случае этот шаг должен быть легким. Идите вперед и нарежьте полосу на более короткие отрезки — разрезайте только между медными накладками, где указана пунктирная линия; и нанесите 3М двухстороннюю клейкую ленту на каждую длину. Не используйте дешевую универсальную ленту, как я, — она просто не приклеится.
Если вам нужно оставить зазор внизу из-за подставки для телевизора, сделайте это, но убедитесь, что ваша полоса начинается с любой стороны, а не в углу — вы можете настроить эти недостающие пиксели позже на стороне программного обеспечения.
Шаг 6: обрежьте пластик
Если ваша полоска находится внутри внешнего водонепроницаемого пластикового корпуса, обрежьте его.
Осторожно нанесите немного припоя на каждую медную прокладку, прежде чем прикрепить ее к телевизору — это облегчит соединение деталей позже.
Шаг 7: подключитесь к телевизору и присоединитесь
Идите вперед и прикрепите полоски к задней части телевизора, помня, что каждая полоска имеет направление что сигнал должен следовать. Неважно, с какого угла или с какой стороны подставки телевизора вы начинаете.
Чтобы соединить углы, просто подключите каждую из 3 площадок к их аналогу на следующей полосе. Опять же, нанести немного припоя на провода, прежде чем пытаться соединить его с контактными площадками, намного проще. Оставьте последнюю полосу как есть — не подключайте ее к началу!
Шаг 8: Тестируй снова
Давайте удостоверимся, что мы не испортили там пайку — снова загрузите приложение color swirl и проверьте. Когда вы будете довольны, верните телевизор в правильное положение и приведите в порядок провода. Давайте перейдем к настройке программного обеспечения.
Шаг 9: Настройте Adalight
Это самая утомительная часть проекта — каждый отдельный светодиод должен быть определен в программном обеспечении. Загрузите Adalight.pde в разделе Обработка и сначала измените переменную, которая определяет количество пикселей по бокам и сверху (пока игнорируйте все недостающие) — это на строке 87. В моем случае я использовал 35 пикселей сверху и снизу и 22 в стороны, так что это было определено как {0,35,22}.
Прямо под этим вы найдете «информацию для каждого светодиода» — длинный список, который определяет каждый светодиод вокруг телевизора. Каждый светодиод определяется как набор из 3 цифр:
- Номер монитора (я предполагаю 0, но ваш может быть иначе)
- Координата X — 0 слева (лицом к экрану телевизора)
- Координата Y — 0 сверху (лицом к экрану телевизора)
К счастью, один из наших невероятных читателей — Джеймс Ранкин — разработал полезную онлайн-утилиту, которая сделает за вас тяжелую работу. Просто введите размер вашей матрицы и начальную позицию, затем скопируйте / вставьте сгенерированное определение матрицы в приложение Adalight Processing. Он также опубликовал быстрое исправление для работы с широкоэкранными фильмами, где код Обработки обычно оценивает черные полосы вверху и внизу экрана, чтобы означать отсутствие эффекта освещения. Спасибо Джеймс!
Если вы получаете ошибки при компиляции, это означает, что вы пропустили где-то запятую или у вас слишком много фигурных скобок — дважды проверьте код.
Шаг 10 Сядьте назад, посмотрите фильм!
Запустите код и запустите фильм с вашим любимым программным обеспечением — консоль отладки Processing сообщает мне, что мой компьютер управляет хорошими 15 кадрами в секунду (это частота обновления светодиодов, а не воспроизведения видео) — любой современный компьютер должен иметь возможность справиться с этим. Есть еще несколько переменных, которые вы можете настроить, например, минимальная яркость и задержка затухания между обновлениями — как всегда, вам предлагается прочитать код, понять его и изменить.
Поздравляю, теперь у вас есть замечательная система DIY Ambilight за 60 долларов (и некоторые светодиоды остались, вероятно). Вопросы или проблемы — свяжитесь с нами в комментариях, и я сделаю все возможное, чтобы помочь. Также скажите нам — что бы вы хотели сделать с оставшимися светодиодами?