Оглавление:

Система Ambilight для каждого входа, подключенного к телевизору. WS2812B Arduino UNO Raspberry Pi HDMI (обновлено 12.2019): 12 шагов (с изображениями)
Система Ambilight для каждого входа, подключенного к телевизору. WS2812B Arduino UNO Raspberry Pi HDMI (обновлено 12.2019): 12 шагов (с изображениями)

Видео: Система Ambilight для каждого входа, подключенного к телевизору. WS2812B Arduino UNO Raspberry Pi HDMI (обновлено 12.2019): 12 шагов (с изображениями)

Видео: Система Ambilight для каждого входа, подключенного к телевизору. WS2812B Arduino UNO Raspberry Pi HDMI (обновлено 12.2019): 12 шагов (с изображениями)
Видео: Ambilight Hyperion sur Raspberry 2024, Июль
Anonim
Image
Image
Система Ambilight для каждого входа, подключенного к телевизору. WS2812B Arduino UNO Raspberry Pi HDMI (Обновлено 12.12.2019)
Система Ambilight для каждого входа, подключенного к телевизору. WS2812B Arduino UNO Raspberry Pi HDMI (Обновлено 12.12.2019)
Система Ambilight для каждого входа, подключенного к телевизору. WS2812B Arduino UNO Raspberry Pi HDMI (Обновлено 12.12.2019)
Система Ambilight для каждого входа, подключенного к телевизору. WS2812B Arduino UNO Raspberry Pi HDMI (Обновлено 12.12.2019)
Система Ambilight для каждого входа, подключенного к телевизору. WS2812B Arduino UNO Raspberry Pi HDMI (Обновлено 12.12.2019)
Система Ambilight для каждого входа, подключенного к телевизору. WS2812B Arduino UNO Raspberry Pi HDMI (Обновлено 12.12.2019)

Я всегда хотел добавить в свой телевизор подсветку. Выглядит так круто! Наконец-то я это сделал, и я не был разочарован!

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

Дело в том, сделана ли система только для одного источника (PS4, Xbox, TV и т. Д.) Или в ней не используются те же светодиоды, которые я хотел использовать, поэтому я решил создать инструкции и собрать всю информацию и опыт, который я собрал в одном месте во время работы над этим проектом.

Система, которую я сделал, может быть подключена к 5 различным источникам. У меня он настроен здесь для работы с моей системой PS4, домашним кинотеатром / проигрывателем Blu-ray, Foxtel (австралийская приставка для кабельного телевидения) или компьютером, и у меня есть запасной вход для чего-то еще. И все это одним нажатием кнопки.

Я добавил ЖК-экран для отображения текущего источника, подключенного к Ambilight, и кнопку ВКЛ / ВЫКЛ для системы.

Если вы хотите, чтобы подсветка Ambilight была доступна для всех входов, подключенных к вашему телевизору, вы хотите использовать светодиодные ленты типа WS2812, не смотрите дальше, это руководство для вас

Я ввел эту инструкцию в конкурс Raspberry PI 2016, поэтому, если вам это нравится, пожалуйста, оставьте мне быстрый голос! Заранее благодарен.

Шаг 1: Материал, необходимый для создания этой системы

Материал, необходимый для создания этой системы
Материал, необходимый для создания этой системы
Материал, необходимый для создания этой системы
Материал, необходимый для создания этой системы
Материал, необходимый для создания этой системы
Материал, необходимый для создания этой системы
Материал, необходимый для создания этой системы
Материал, необходимый для создания этой системы

Не все источники имеют выход HDMI, например, мой компьютер все еще подключен через старый разъем VGA, а мой блок Foxtel все еще подключен через AV-кабели. Мне пришлось купить довольно много разных адаптеров, чтобы все заработало, но в итоге результат оказался потрясающим и того стоил !!

Не все здесь понадобится, в зависимости от вашей системы и от того, хотите вы ЖК-дисплей или нет. Необязательные элементы отделю.

  1. 1x 4-метровая полоска WS2812B 30 светодиодов / м. (этого было достаточно для моего 55-дюймового телевизора) Я купил свой на Aliexpress. Светодиодная полоса
  2. Плата 1xArduino UNO.
  3. 1x Raspberry Pi модель 2 или 3.
  4. 1x SD-карта. (8Гб хорошо)
  5. 1x видеозахват типа STK1160. (будьте осторожны при выборе граббера, некоторые модели не будут работать !!) Это тот, который у меня есть, и он работает правильно. Видео граббер
  6. 1x 5В 10А блок питания. Получил опять свой с Алиэкспресс и работает нормально. Источник питания
  7. 1x разветвитель HDMI 1 x 2. разветвитель
  8. 1x HDMI-переключатель 5 в 1. Коммутатор
  9. 1x конвертер HDMI в AV. конвертер
  10. 1x 10 мкФ электролитический конденсатор

кабели и оборудование:

  1. Кабель HDMI 4x25 см. кабель
  2. 2x разъема HDMI «мама-мама» на корпусе. соединитель
  3. 1x входной разъем 220В (с предохранителем).
  4. 1x проектный корпус (может быть разным, на ваше усмотрение, у меня 424мм x 203мм x 86мм) коробка
  5. Одножильный провод для подключения 5 В к различным преобразователям и т. Д.
  6. Ленточные кабели или удлинители для подключения входов к примеру Arduino

дополнительные опции:

  1. 1x конвертер AV в HDMI. конвертер
  2. 1x конвертер VGA в HDMI. конвертер
  3. 2x 25 см HDMI-кабель. кабель
  4. 1x ЖК-дисплей, 16 символов, 2 строки. ЖК-дисплей
  5. 1x интерфейс I2C для ЖК-дисплея. интерфейс
  6. 1x охлаждающий вентилятор для корпуса.

Шаг 2. Какие компьютерные программы потребуются

Какие компьютерные программы потребуются
Какие компьютерные программы потребуются
Какие компьютерные программы потребуются
Какие компьютерные программы потребуются
Какие компьютерные программы потребуются
Какие компьютерные программы потребуются

Для этого проекта потребуется несколько разных программ.

Вам необходимо скачать и установить их (если у вас их еще нет)

  • WinSCP можно скачать здесь
  • Putty можно скачать здесь (нажмите в списке ссылку putty.exe)
  • SDFormatter можно скачать здесь
  • Win32DiskImager можно скачать здесь
  • Arduino IDE можно скачать здесь (в то время я использовал версию 1.8.10)
  • HyperCon можно скачать здесь
  • Блокнот ++ (необязательно) можно скачать здесь

Вам также нужно будет загрузить образ диска Raspberry Pi. Выберите файл с именем «OpenELEC 8.0.3 для RPI2 / RPI3», который вы можете скачать внизу страницы здесь.

Шаг 3. Подготовка и запуск Raspberry Pi

Подготовка и запуск Raspberry Pi
Подготовка и запуск Raspberry Pi
Подготовка и запуск Raspberry Pi
Подготовка и запуск Raspberry Pi
Подготовка и запуск Raspberry Pi
Подготовка и запуск Raspberry Pi

Мы собираемся начать с того, чтобы запустить Raspberry Pi

1) Мы собираемся записать openELEC на SD-карту.

  1. Разархивируйте образ диска Raspberry Pi.
  2. Вставьте SD-карту в свой компьютер.
  3. Запустите программу SDFormatter.
  4. Выберите букву диска SD-карты.
  5. Нажмите на опцию и выберите «Регулировка размера» в положение ВКЛ.
  6. Щелкните ОК.
  7. Щелкните Форматировать.
  8. Запустите программу Win32DiskImager.
  9. Выберите образ Raspberry Pi и букву диска вашей SD-карты.
  10. Выберите "Написать".

2) Извлеките SD-карту из компьютера и подключите ее к Raspberry Pi.

Подключения к Pi:

  • Подключите кабель Ethernet к вашему Pi из вашей сети.
  • Подключите порт HDMI вашего Pi к телевизору или экрану.
  • Подключите клавиатуру и мышь к USB-портам. (Я использую комбинацию беспроводной мыши и клавиатуры, и я оставил ключ подключенным к Pi, таким образом, теперь, когда Pi упакован, мне не нужно открывать все это, если я хочу получить доступ к своему Pi.)
  • Подключите USB-конец видеозахвата к вашему Pi.

3) Подключите источник питания 5 В к Pi и следите за информацией на экране, пока он не загрузится. Вам должен быть представлен экран, как на моем фото.

Теперь нам нужно проверить ваше интернет-соединение. Следуйте по пути Настройки (зубчатое колесо) - системная информация - сводка и запишите свой IP-адрес, он понадобится в будущем.

Убедитесь, что SSH включен, пройдите по пути Настройки (зубчатое колесо) - openELEC - services и убедитесь, что опция «Включить SSH» активирована.

Теперь мы собираемся установить HyperCon и проверить подключение видеограббера к Pi

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

  • Введите IP-адрес, который вы записали непосредственно перед своим Pi. в соответствии с прилагаемым изображением и нажмите кнопку «Открыть».
  • Затем вам должно быть предложено окно с запросом имени пользователя, как показано на прикрепленном изображении. введите root и нажмите Enter.
  • вам будет предложено ввести пароль. (обратите внимание, что символы не будут отображаться при вводе пароля, это нормально). Введите openelec и нажмите Enter.
  • Чтобы проверить все порты USB, введите lsusb и нажмите Enter. Вы должны найти свой видео граббер в списке, как показано на прикрепленном изображении.
  • Теперь вы можете закрыть соединение.

На этом настройка Raspberry PI завершена. Мы вернемся к нему позже, чтобы загрузить файл конфигурации нашего светодиода.

Шаг 4: Hyperion и файл конфигурации

Гиперион и файл конфигурации
Гиперион и файл конфигурации
Гиперион и файл конфигурации
Гиперион и файл конфигурации
Гиперион и файл конфигурации
Гиперион и файл конфигурации

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

Одна очень важная вещь - убедиться, что вход видеозахвата на Pi не связан ни с чем другим, у меня были ошибки размера кадра и много других странных вещей, которые происходили, когда у меня было что-то еще, подключенное к другому USB-порту. Он должен достичь предела пропускной способности или что-то в этом роде, но это не сработает, когда я попробую подключить ключ Wi-Fi к этому USB или даже выходной кабель, идущий к Arduino

Я рекомендую разместить все преобразователи и т. Д. И сначала подать питание на все из них. Большинство этих преобразователей поставлялись с блоком питания с розеткой. Я отрезал кабель и использовал только разъем на стороне преобразователя и решил построить небольшую плату с множеством соединений + 5V и GND, чтобы питать их все. Это сэкономило много места.

Я приклеил разные конвертеры двухкомпонентным клеем и использовал пластиковые стойки, чтобы прикрутить Arduino. Я добавил немного клея на заднюю часть разъема IEC, чтобы немного повысить жесткость. В моем разъеме IEC есть встроенный переключатель ВКЛ / ВЫКЛ, который я могу использовать для отключения всего устройства. У него также есть предохранитель, куда я поставил предохранитель на 1,6 А / 250 В для защиты на случай, если что-нибудь выйдет из строя с моим дешевым блоком питания.

Я использовал свой инструмент dremel и несколько файлов, чтобы проделать отверстия в корпусе и сделать его красивым. Я также вырезал отверстие для ИК-датчика в передней части корпуса над ЖК-дисплеем.

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

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

Шаг 9: взлом HDMI-коммутатора (необязательно)

Взлом HDMI-коммутатора (опционально)
Взлом HDMI-коммутатора (опционально)
Взлом HDMI-коммутатора (опционально)
Взлом HDMI-коммутатора (опционально)
Взлом HDMI-коммутатора (опционально)
Взлом HDMI-коммутатора (опционально)

Чтобы наш Arduino мог сказать, какой источник на самом деле отображает коммутатор HDMI, нам нужен способ отправить эту информацию от коммутатора на Arduino. К счастью, переключатель имеет 5 светодиодов для отображения источников с 1 по 5 при выборе, и мы собираемся использовать эти сигналы для Arduino.

Я получил сигнал от 5 светодиодов, но позже, когда я написал код Arduino, я понял, что мне не нужен сигнал от светодиода номер 1, если вы внимательно посмотрите на соединение ленточного кабеля с Arduino, вы можете увидеть, что коричневый провод справа фактически не подключен. У нас только LED2 подключен к A0, LED3 - к A1, LED4 - к A2 и LED5 - к A3.

Я подключил их к аналоговым входам ни по какой другой причине, кроме удобства подключения к моей проектной коробке.

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

Шаг 10: Код Arduino и Arduino

Код Arduino и Arduino
Код Arduino и Arduino
Код Arduino и Arduino
Код Arduino и Arduino
Код Arduino и Arduino
Код Arduino и Arduino

Скачайте скетч по следующей ссылке. здесь

Для правильной компиляции скетча Arduino вам потребуются 2 библиотеки:

Adafruit_NeoPixel.h, который вы можете скачать здесь

LiquidCrystal_I2C.h, который вы можете скачать здесь (версия 2.0)

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

Просматривая код, который я прикрепил к этому шагу.

Datapin - это выбранный вывод, к которому будет подключаться Din нашей светодиодной ленты.

#define DATAPIN 5

Количество светодиодов - это фактическое количество светодиодов в вашей системе.

#define LEDCOUNT 113

Скорость передачи не должна изменяться, или ее также нужно будет изменить в файле конфигурации Hyperion.

#define BAUDRATE 500000

Это уровень яркости, при котором должна работать светодиодная лента. Требуется тестирование в вашей среде. От 0 до 100 выбор

#define ЯРКОСТЬ 100

Вам нужно будет изменить строку 24 с вашим собственным префиксом.

Используя прикрепленный файл префикса, найдите свой номер светодиода и скопируйте значения из файла в строку префикса. Вам нужно открыть файл чем-то вроде Notepad ++, чтобы он отображался правильно.

За исключением 113 светодиодов: префикс const char = {0x41, 0x64, 0x61, 0x00, 0x70, 0x25};

Пример для 278 светодиодов: префикс const char = {0x41, 0x64, 0x61, 0x01, 0x15, 0x41};

В конце кода, в подпрограмме check_source (), здесь вы можете изменить для каждого источника информацию, которая будет отображаться на ЖК-дисплее, когда источник выбран, например, телевизор, PS4, компьютер и т. Д. И т. Д.

Вы также можете установить курсор ЖК-дисплея, чтобы напечатанное имя было напечатано в центре ЖК-дисплея.

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

После того, как ваш Arduino запрограммирован, добавьте конденсатор 10 мкФ между контактами GND и RESET. (Сброс вывода является плюсом конденсатора).

Это предотвратит перезагрузку Arduino, когда последовательные данные поступают от Pi при запуске системы.

Если вам нужно перепрограммировать Arduino, сначала удалите конденсатор и замените его, как только это будет сделано.

Шаг 11: Собираем все вместе и тестируем

Raspberry Pi и Arduino теперь можно связать с помощью USB-кабеля.

Светодиодная лента была подключена к корпусу и к Arduino.

Arduino и Raspberry запрограммированы.

Питание 5 В от блока питания идет на все разные преобразователи Arduino и Raspberry.

При подаче питания на коробку проекта загорается светодиодный индикатор HDMI-переключателя. Канал источника можно изменить с помощью пульта дистанционного управления или кнопки на переключателе.

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

Через несколько секунд светодиодная лента должна постепенно загореться и выключиться. Это означает, что Arduino запустился и соединение со светодиодной лентой хорошее.

Вскоре после этого светодиодная лента должна начать отображать цвета в соответствии с информацией, передаваемой Raspberry.

Успехов !! Вы завершили свой проект и можете начать развлекательное световое телешоу

Шаг 12: Управляйте своей светодиодной лентой с телефона

Управляйте своей светодиодной лентой с телефона
Управляйте своей светодиодной лентой с телефона
Управляйте своей светодиодной лентой с телефона
Управляйте своей светодиодной лентой с телефона
Управляйте своей светодиодной лентой с телефона
Управляйте своей светодиодной лентой с телефона
Управляйте своей светодиодной лентой с телефона
Управляйте своей светодиодной лентой с телефона

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

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

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

Конкурс Raspberry Pi 2016
Конкурс Raspberry Pi 2016
Конкурс Raspberry Pi 2016
Конкурс Raspberry Pi 2016

Второй приз в конкурсе Raspberry Pi Contest 2016

Рекомендуемые: