====== Светодиодная панель с Raspberry Pi ====== Рассмотрим примеры использования [[amp>product/rgb-led-matrix-64x32?utm_source=man&utm_campaign=rgb-led-matrix&utm_medium=wiki|светодиодной RGB-матрицы]] с одноплатным компьютером [[amp>collection/raspberry-pi?utm_source=man&utm_campaign=rgb-led-matrix&utm_medium=wiki|Raspberry Pi.]] {{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_overview.jpg?nolink |}} ===== Видеообзор ===== {{youtube>oggOUJt_Ihc?large}} ===== Что понадобится ===== * [[amp>collection/raspberry-pi?utm_source=man&utm_campaign=rgb-led-matrix&utm_medium=wiki|Одноплатный компьютер Raspberry Pi]] * [[amp>product/rgb-led-matrix-64x32?utm_source=man&utm_campaign=rgb-led-matrix&utm_medium=wiki|Светодиодная LED панель]] * [[amp>product/rgb-led-matrix-driver-cap?utm_source=man&utm_campaign=rgb-led-matrix-driver-cap&utm_medium=wiki|Драйвер светодиодной матрицы]] * [[amp>product/ac-dc-rs-25-5?utm_source=man&utm_campaign=rgb-led-matrix&utm_medium=wiki|Блок питания (5 вольт, 5 ампер)]] * [[amp>product/21mm-screw-jack?utm_source=man&utm_campaign=rgb-led-matrix&utm_medium=wiki|Штекером питания 2,1 мм с клеммником]] ===== Подключение и настройка ===== ==== Железная часть ==== Перед подключением советуем [[:продукты:rgb-led-matrix-64x32#сигнальные_разъёмы_на_матрице|ознакомиться с распиновкой разъёма «HUB-75» и ответного шлейфа.]] - Установите драйвер светодиодной ленты сверху на Raspberry Pi методом бутерброда.{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_scheme.1.png?nolink |}} - Скоммутируйте сигнальные линии между собой драйвером и светодиодной матрицей через шлейф. Один контакт шлейфа в выходной разъём на контроллере, а другой — в разъём входящих данных на матрице ''DATA IN''.{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_scheme.2.png?nolink |}} - Подключите питание от драйвера на светодиодную матрицу силовым проводом. Один конец провода в клеммник ''PWR OUT'' на контроллере, а второй — в разъём ''POWER'' на матрице.{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_scheme.3.png?nolink |}} - Подключите питание на модуль через внешний разъём «DC Barrel jack». Каждая LED панель питается строго от 5 вольт. Потребление тока зависит от вида матрицы. Рекомендуем использовать блок питания с выходным напряжением 5 вольт и током не менее 4 ампер. Идеально подойдёт [[amp>product/ac-dc-rs-25-5?utm_source=man&utm_campaign=rgb-led-matrix&utm_medium=wiki|блок питания с выходным напряжением 5 вольт и током 5 ампер]]. При подключении удобно воспользоватся [[amp>product/21mm-screw-jack?utm_source=man&utm_campaign=rgb-led-matrix&utm_medium=wiki|штекером питания 2,1 мм с клеммником]] При подключении нескольких светодиодных панелей, соответственно увеличивайте запас по току в N-раз, где N — количество матриц в цепочке. На схеме матрицы и контроллера нет встроенного регулятора напряжения. При подаче напряжения более 5 вольт — вы убьёте LED панель и драйвер. {{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_scheme.4.png?nolink |}} - Железо собрано. Теперь можно переходить к [[#программная_часть|программной части.]] ==== Цепочка из матриц ==== Матрицы легко соединять в цепочку (гирлянду). А потом программным методом выводить информацию на дисплей из матриц. - Соедините сигнальным шлейфом выход первой матрицы ''DATA IN'' ко входу второй матрицы ''DATA IN''. - Подключите питание от драйвера на светодиодную матрицу силовым проводом. Один конец провода в клеммник ''PWR OUT'' на контроллере, а второй — в разъём ''POWER'' на второй матрице.{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_scheme.5.png?nolink |}} Максимальное количество матриц в цепочке 12. ==== Программная часть ==== Программная часть данной инструкции не подходит для raspberry pi 4. Если у вас raspberry pi 4 используйте [[http://wiki.amperka.ru/projects:rgb-led-matrix-raspberry-pi-4|эту инструкцию.]] - [[articles:rpi-guide|Подготовь Raspberry Pi]].{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_soft.1.png?nolink |}} - Скачайте скрипт для настройки одноплатника с LED панелями.wget https://raw.githubusercontent.com/amperka/scriptsRPI/master/amperka-rpi-rgb-matrix.sh{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_soft.2.png?nolink |}} - Запустите скрипт конфигурации платформы.sudo bash amperka-rpi-rgb-matrix.sh{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_soft.3.png?nolink |}}Откроется меню установки с предложением продолжить/отменить установку.{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_soft.4.png?nolink |}} - Жмите смело «Y».{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_soft.5x.png?nolink |}} - Программа предложит вам выбор вывода изображения:{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_soft.6.png?nolink |}} - **Режим «High Quality»**. На матрице выводиться изображение без мерцаний и бликов. Но за качество необходимо платить — необходимо отключить аудио драйвер на вашем одноплатнике. Для активации режима выбирайте «1». {{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_soft.7x.png?nolink |}}Установите джампер на драйвер.{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-driver-cap_jumper_on.png?nolink |}}Жмите «Y» на продолжения.{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_soft.8x.png?nolink |}} - **Режим «Convenience»**. При выводе изображений возможны появления мерцаний. Но никаких дополнительных манипуляций делать не нужно и звук останется включенным. Для активации режима выбирайте «2». {{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_soft.9x.png?nolink |}}Снимите джампер с драйвера, если он там был.{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-driver-cap_jumper_off.png?nolink |}}Жмите «Y» на продолжения.{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_soft.10x.png?nolink |}} - Начнётся процесс установки и компиляции.{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_soft.11x.png?nolink |}} - Дождитесь окончания процесса и нажмите кнопку «Y».{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_soft.12x.png?nolink |}}После чего система перезагрузится.{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_soft.13.png?nolink |}} - Залогинтесь в Raspberry Pi.{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_soft.1.png?nolink |}}{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_soft.1.png?nolink |}} - Проверим наличие скаченной библиотеки. Для этого в домашней директории выполните командуls{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_soft.14x.png?nolink |}}В итоге вы должны увидеть папку «rpi-rgb-led-matrix».{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_soft.15x.png?nolink |}} ===== Примеры работы ===== Для запуска примеров выполните [[#железная_часть|железную]] и [[#программная_часть|программную]] настройку платформы. ==== Демонстрационные ==== В библиотеку входят скомпилированные примеры для демонстрации работы матрицы. Запустим их. - Перейдите в категорию с установленной библиотекой.cd rpi-rgb-led-matrix{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_examples.1.png?nolink |}} - Далее зайдите в директорию скомпилированными примерами.cd examples-api-use{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_examples.2.png?nolink |}} - Запустим один из тестовых примеров. sudo ./clock -f --led-cols=64 --led-rows=32 ../fonts/7x13.bdf -d "%H:%M:%S"{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_examples.3.png?nolink |}}В итоге на матрице отобразится текущее время.{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_clock.gif?nolink |}} Больше примеров и подробную информацию [[https://github.com/hzeller/rpi-rgb-led-matrix|читайте в технической документации от разработчика]]. ==== Вывод изображений и анимаций ==== Библиотека также позволяет выводить статические и анимированные изображения. - Перейдите в категорию с установленной библиотекой.cd rpi-rgb-led-matrix{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_examples.1.png?nolink |}} - Далее зайдите в директорию «utils».cd utils{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_examples.4.png?nolink |}} - Установите по очереди необходимые пакеты.sudo apt-get update sudo apt-get install libgraphicsmagick++-dev libwebp-dev -y make led-image-viewer Пакеты установлены. Переходим к выводу картинок. === Вывод изображения === - Найдите изображение которое хотите вывести на матрице и переместите его в рабочую папку программы ''rpi-rgb-led-matrix/utils'' на Raspberry Pi. В качестве примера мы выбрали изображение {{:projects:rgb-led-matrix-raspberry:chrome.jpg?linkonly|chrome.jpg}} Для переноса файлов с ПК на Raspberry Pi можно воспользоватся утилитой [[https://winscp.net/eng/download.php|WinSCP]] - Запустите скрипт запуска изображения.sudo ./led-image-viewer --led-cols=64 --led-rows=32 --led-gpio-mapping="adafruit-hat" chrome.jpg {{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_chrome.jpg?nolink |}} === Вывод анимации === Усложним задачу. Что бы было интереснее увеличим дисплей — подключим вторую матрицу и выведем анимацию. - [[#цепочка_из_матриц|Сделайте цепочку из двух матриц]]. - Найдите анимацию которую хотите вывести на матрице и переместите её в рабочую папку программы ''rpi-rgb-led-matrix/utils'' на Raspberry Pi. В качестве примера мы выбрали изображение {{:projects:rgb-led-matrix-raspberry:animation.gif?linkonly|animation.gif}} Для переноса файлов с ПК на Raspberry Pi можно воспользоватся утилитой [[https://winscp.net/eng/download.php|WinSCP]] - Запустите скрипт запуска анимации sudo ./led-image-viewer -f --led-cols=64 --led-rows=32 --led-chain=2 --led-pixel-mapper=snake:2 --led-gpio-mapping="adafruit-hat" animation.gif {{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_hypnosis.gif?nolink |}} Больше примеров и подробную информацию [[https://github.com/arduino12/rpi-rgb-led-matrix/tree/master/utils|читайте в технической документации от разработчика]]. ==== Вывод видео ==== Методы библиотеки позволяет выводить видео на две LED панели. Вывод видео на RGB-матрицы сильно загружает процессор и декодирование может привести бликам и мерцанием. Метод библиотеки позволяет выводить только видео дорожку, к сожалению без звука. - [[#цепочка_из_матриц|Сделайте цепочку из двух матриц]]. - Перейдите в категорию с установленной библиотекой.cd rpi-rgb-led-matrix{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_examples.1.png?nolink |}} - Далее зайдите в директорию «utils».cd utils{{ :projects:rgb-led-matrix-raspberry:rgb-led-matrix-raspberry_examples.4.png?nolink |}} - Установите по очереди необходимые пакеты.sudo apt-get update sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev make video-viewer - Найдите видео которое хотите вывести на матрице и переместите его в рабочую папку программы ''rpi-rgb-led-matrix/utils'' на Raspberry Pi. В качестве примера мы выбрали видео {{:projects:rgb-led-matrix-raspberry:video.mp4?linkonly|«Мифы и легенды о Raspberry Pi»}} Для переноса файлов с ПК на Raspberry Pi можно воспользоватся утилитой [[https://winscp.net/eng/download.php|WinSCP]] - Запустите скрипт запуска видео. sudo ./video-viewer --led-cols=64 --led-rows=32 --led-chain=2 --led-pixel-mapper=snake:2 --led-gpio-mapping="adafruit-hat" video.mp4 Больше примеров и подробную информацию [[https://github.com/arduino12/rpi-rgb-led-matrix/tree/master/utils|читайте в технической документации от разработчика]]. ===== Ресурсы ===== * [[amp>product/rgb-led-matrix-64x32?utm_source=man&utm_campaign=rgb-led-matrix&utm_medium=wiki|Светодиодная RGB Матрица 64×32]] в магазине. * [[amp>product/rgb-led-matrix-driver-cap?utm_source=man&utm_campaign=rgb-led-matrix&utm_medium=wiki|Драйвер светодиодной матрицы для Raspberry Pi]] * [[:projects:rgb-led-matrix-arduino|Примеры работы для Arduino.]] * [[:продукты:rgb-led-matrix-64x32|Техническая документация на светодиодную RGB матрицу 64×32]] * [[:продукты:rgb-led-matrix-driver-cap|Техническая документация на драйвер матрицы]]