287

Ambilight через HDMI. Часть 1.

Всем привет!

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

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

2. Пожалуйста, не стоит писать "Это отвлекает", "Ненужная лабуда" и т.д. и т.п. Те, кто решат сделать подсветку для ТВ, явно представляют что делают.

3. Текст - картинка.

4. Да - это вышло недёшево, но и работает оно не один день.

Закончим с предисловием. Перейдём к DIY =]


*Пост разделю на несколько частей, не потому что кармадрочер, а потому что слишком много текста и картинок. Иначе получится информационная каша (ммм, нямка).

Ambilight через HDMI. Часть 1.

Ambilight через HDMI. Часть 2 - настройка HyperCon.

Ambilight (сокращение от англ. «Ambient Lighting Technology» — рус. «Технология Окружающего Освещения») — технология фоновой подсветки для телевизоров, которая была изобретена и запатентована компанией Philips Electronics.

Спасибо, Википе-тян.

Комплектующие и инструмент.

Вам понадобятся:

- HDMI кабель (поддерживает 4К HDCP 2.2) три штуки (один на вход, два на выход); 1200₽;

- HDMI Splitter (не поддерживает 4К HDCP 2.2); 2200₽;

- HDMI to AV converter; 1450₽;

- USB Video Grabber (с чипом STK1160 либо UTV007 - один создатель знает, почему они раз через раз работают); 350₽;

- Raspberry Pi 3 Model B; 2200₽;

- Arduino UNO; 600₽;

- светодиодная лента WS2812B (каждый кусочек содержит в себе три диода в одном блоке) - ЭТО ОЧЕНЬ ВАЖНО! Ленты другого типа не подойдут, внимательно смотрите описание на али; 1800₽ (за 3 метра);

- Блок питания (показатели зависят от ленты); 580₽;

- Корпусы для ардуино и распберри - по желанию; 100₽;

- Один малюсенький переходничок RCA Male - Male; 10₽;

- Паяльник, флюс и олово; 400₽;

- Немного проводов; 20₽;

- USB-кабель "Тип А - Микро"; 100₽;

- Силовой кабель для БП; 100₽;

- MicroSD на 16Гб (рекомендуется class 10); 500₽.

Чек: ~11500₽


*Если хотите работать с 4К, то обязательно учтите это заранее, так как не все HDMI кабели поддерживают последние протоколы; обратите внимание на сплиттер, который выбираете, он также должен поддерживать 4К.

Дополнительно.

Фото светодиодной ленты WS2812B: четыре ножки, один блок на отрезок, три контакта:

Степень защиты (IP XX).

IP20 - не советую брать, вообще никакой защиты;

IP65 - самый лаконичный вариант, лента покрыта силиконом;

IP68 - лента находится в силиконовой трубке.

Расчёт блока питания.

У нас есть три показателя: сила тока (А), напряжение (В), мощность (Вт).

Напряжение: если лента на 5В, то и БП на 5В; если лента на 12В, то... БП тоже на 12В.

Мощность: на странице продавца (или на самой упаковке от ленты) указывается потребляемая мощность на метр (пример: 60 светодиодов/M - 18 Вт/метр). То есть, потребляемая мощность * кол-во подключаемых метров = итоговая мощность. При выборе блока, мощность берём ~30% больше, на запас.

Сила тока: Суммарную мощность ленты / Напряжение БП (округляем в большую сторону).

Готовы? Ещё не передумали? Ну тогда пошла жара =D

Подготовка Arduino UNO

Для прошивки качаем файл Ambilight_Hyperion.ino. Прежде, чем прошивать, нужно подкорректировать настройки под себя; нас интересуют строки:

#define LEDCOUNT 187

const char prefix[] = {0x41, 0x64, 0x61, 0x00, 0xba, 0xef};


В #define LEDCOUNT 187 выставляем число подключаемых светодиодов (в моём случае 187);

В const char prefix[] = {0x41, 0x64, 0x61, 0x00, 0xba, 0xef} нужно исправить под себя два последних байта.

Предпоследний: Кол-во светодиодов - 1 и переводим в HEX (пример: 187-1=186, 186 в HEX - BA);

Последний: XORим его, используя ЭТОТ калькулятор. Первое число - предпоследний байт, второе число - 55 (пример: BA XOR 55 = EF).


Всё, файлик готов. Во вкладке "Инструменты" выбираем плату Arduino/Genuino UNO и порт с подключенной ардуинкой. Нажимаем загрузка и готово.

БП и Лента

Запитываем БП силовым кабелем (ниже есть картинка со схемой).

Припаиваем провода к ленте. Провод DI подключаем к Arduino.

Запитываем светодиодную ленту и заземляем ардуино.

Включаем блок питания, втыкаем USB кабель (идёт в комплекте) в ардуино и ПК. Если всё правильно, то лента засветится циановым цветом, затем погаснет.

Ось для Raspberry Pi3 model B

Качаем с диска OpenElec и Win32DiskImager.

Вставляем microSD в компуктер, запускаем Win32DiskImager (под админом), выбираем образ OpenElec и записываем всё это дело.

Внимание! Warning! 警告! Если по какой-то причине вам нужно перезаписать карточку, то предварительно её нужно форматнуть, и тут возникает гемор. Дело в том, что при записи она делится на несколько кусков, при форматировании винда может начать ныть "карта защищена от записи", "не удалось форматировать" и т.д. и т.п. Самый легкий, быстрый и удобный вариант: втыкаете карту в любой цифровой фотик и форматируете её там.

После записи втыкаем карту в Малинку.

Далее Raspberry подключаем к ТВ: питаем через микро-USB, подключаем HDMI, подключаем USB клаву и мышь. Чекаем что всё работает.

Сбор схемы

Первый блок

- с HDMI устройства идёт картинка и попадает в сплиттер;

- первая картинка уходит на ТВ;

- вторая картинка уходит на конвертер HDMI в AV;

- с конвертора уходит в граббер (только видео);

- с граббера в Малинку (через USB);

- Малина запитывается через микро-USB, подключённый к ТВ;

- Малина получает картинку.

Второй блок

- HyperCon обрабатывает картинку и отправляет инфу на ардуино (через USB);

- Ардуино питается через этот же USB;

- Ардуино посылает данные на светодиодную ленту;

- светодиодная лента делает своё дело - светит;

- светодиодная лента питается от БП.

Итоговая схема следующая:

Не так сложно, как кажется. =]

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

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

Arduino & Pi

1.5K пост20.9K подписчиков

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества