Так как на просторах этих_ваших_интернетов я не нагуглил нормальных русскоязычных гайдов по адресным светодиодным матрицам WS281x и о том, как выводить на них картинку с ПК с помощью Jinx, то я, пожалуй, напишу свой исчерпывающий гайд по этой теме.
Еще нам понадобится микроконтроллер с Wi-Fi на борту.
Подойдет любое исполнение контроллеров ESP8266 и ESP32. В конкретном случае модель контроллера роли не играет, ресурсов обеих моделей с головой хватит, чтобы рулить адресными матрицами. Процесс прошивки и настройки тоже аналогичен.
Я буду использовать ESP32, который купил по хорошей скидке на озоне.
У китайцев есть еще такие удобные модули для работы с адресными светодиодами, но для того, чтобы их прошить, нужен отдельный программатор.
Еще нам понадобятся три провода для макетных плат, парочка зажимных клемм и блок питания на 5В (чем мощнее, тем лучше).
Вот такой набор получился у меня
Подключаем матрицы
Подключаем микроконтроллер к питанию 5В проводами для макетных плат (пин VCC или 5V и GND).
Подключаем матрицу к блоку питания с помощью отдельно выведенных проводов питания. Затем ищем на трех-пиновом коннекторе “мама” зеленый провод – это будет вход данных (DIN). Соединяем его проводом с цифровым пином на микроконтроллере (у меня это D16).
Между собой матрицы соединяются через трех-пиновые коннекторы от DOUT к DIN.
Т.к. одна матрица может потреблять около 2А тока, то лучше каждую матрицу подключать к блоку питания через выведенные провода питания.
Устанавливаем WLED
Подключаем наш микроконтроллер к ПК, устанавливаем драйвера CP210x или CH340/CH341. Чтобы понять какой драйвер нужен, читаем описание микроконтроллера на странице товара, там указан тип USB-UART преобразователя. Иногда продавец сам оставляет ссылку на драйвера.
Далее идем на сайт install.wled.me, нажимаем большую кнопку INSTALL, разрешаем браузеру доступ к COM-порту, указываем порт, к которому подключен наш МК и ждем 2-3 минуты заливки прошивки. Веб-установщик сам определит модель МК и зальет нужную сборку.
После того, как прошивка будет залита в МК, настраиваем данные для подключения к Wi-Fi сети, получаем IP адрес МК и заходим в веб-интерфейс.
Далее идем “Config” → “LED Preferences” → “Hardware setup”.
В поле “Length” вписываем суммарное количество светодиодов на матрице(цах). В поле “GPIO” пишем номер пина, к которому подключена матрица (у меня это D16, значит будет 16).
Не забываем сохранить настройки.
После данных манипуляций матрица должна засветиться.
Работаем с Jinx
Теперь настало время скачать программу Jinx
Качаем последнюю версию и распаковываем архив в любое удобное место. Программа не требует установки.
Запускаем с разу же идем в настройки.
В “Matrix Dimension” выставляем суммарный размер матрицы (не одной матрицы, а всех матриц вместе!)
Далее идем в “Output Devices”, добавляем новое устройство.
В “Device Type” указываем, что это “tpm2.net“, вводим IP адрес контроллера. П поле “Data” значение “Channels” считается автоматически, в зависимости от размера матрицы, а вот значение “Chain/Block” нужно поменять на 384. Можно указать 512, но на матрице могут появиться артефакты, со значением блока больше 512 WLED вообще отказывается работать.
Если суммарное количество светодиодов меньше 128, то можно выбрать “Device Type” протокол E1.31 (sACN). С большим количеством светодиодов корректно работает только tpm2.net.
Далее нам нужно сделать карту нашего экрана.
Для этого идем в “Output Patch”, видим поле из красных сегментов. Это виртуальный светодиодный экран, задача состоит в том, чтобы к каждому виртуальному пикселю привязать светодиод на матрице.
Привязка делается с помощью инструмента “FastPatch“.
Здесь стоит изучить, как именно выстраивается цепочка светодиодов на матрице, а так же, где находится первый светодиод на каждой из матриц в цепочке.
В моей сборке сейчас участвуют две матрицы 32х8, причем первая лежит верх ногами.
Поэтому для первой матрицы “Patch Area” у меня будет 32х8, а “Patch Mode” будет “Snakecolumns startng Botton-Right”, а стартовый канал 0.
Для второй матрицы “Patch Area” аналогичен, а вот “Patch Mode” будет “Snakecolumns startng Top-Left”, т.к. она лежит правильно, стартовый канал будет 768.
Важный момент! Каждый пиксель использует 3 виртуальных канала, поэтому при разметке важно следить какой канал был последним и какой идет первым.
На этом настройка завершена. Нажимаем “Start Output”.
Если устройство настроено правильно и правильно сделана разметка экрана, то на матрицах мы получим красивую картинку.
Теперь можно устраивать тусу-джусу не выходя их дома