Войти на сайт
Имя пользователя :
Пароль :

Восстановление пароля
Регистрация
Главная Правила сайта Статьи
» » Гирлянда на диодах WS2812B с управлением по LAN, Wi-Fi, SD card
Рекомендуем
Google Chrome
Mozilla Firefox 3.6
Opera 10
Друзья
Реклама
29-11-2020, 17:52 - (Программирование)

 

Jinx – бесплатная программа для создания эффектов для светодиодных матриц.

Скоро Новый 2021 год и пора начинать готовиться его встречать.  В интернете уже много проектов создания новогодних гирлянд на адресных светодиодных диодах. Первый проект, который я повторил – это гирлянда на окно от AlexGyver Такую гирлянду не купить в магазине! с матрицей 10 на 10 светодиодов. Круто - спасибо Алекс. Но время не стоит на месте, стали появляться и более крутые проекты – например этот от SA NY - Светодиодное украшение на окно или как создать новогоднее праздничное настроение. Стал осваивать программу Jinx. Матрицу собрал из метровых светодиодных лент с 30 светодиодами WS2812 на один метр . Такие ленты на Aliexpress стоят порядка 80-90 рублей за штуку и обходятся дешевле если покупать пятиметровую и резать её на куски по метру. Плюс каждая лента снабжена разъемами и соединить их в матрицу получается очень просто. Единственное, что нужно сделать – это подвести дополнительно шины питания к каждой 4-5 ленте. При количестве лент – 20 (в моем случае матрица 20х30) четыре точки подключения питания. Иначе свечение светодиодов будет неравномерным, что особенно заметно на белом фоне.

 

Итак, первый вариант и самый простой – это Jinx + Glediator. Гайд по настройке матрицы WS2812 в программе Jinx! – прошивается в Arduino с процессором AT Mega328 (в AT Mega168 не влезет). Самым дешевым данный вариант сейчас уже не назовешь, так как платы на ESP8266 уже стоят дешевле плат ардуино, а возможностей у ESP8266 больше и характеристики на много лучше. Все заработало, крутые эффекты, но есть недостаток – компьютер должен быть включен и к тому же привязан проводом к светодиодной матрице, что не очень удобно, особенно если гирлянда и компьютер в разных комнатах.

 

Второй вариант – это записать эффекты из Jinx на SD карту. Преимущество перед первым способом – независимость от компьютера. Недостатки тоже есть: эффекты точь в точь повторяются, нельзя без дополнительного модуля времени показывать эффекты во временем. Схема и скрипт.

 

Третий вариант – передавать сигнал от Jinx по Wi-Fi. Для этого способа, как и для всех, лучше использовать ESP8266. Я использовал макетную плату Node MCU или Wemos D1 mini (удобны тем, что имеют свой стабилизатор напряжения на плате и стоят от 130 до 150 рублей на Алиэкспресс). Ссылка на страницу скетча и программы. В данном варианте создается точка доступа Wi-Fi на ESP8266, а компьютер (Jinx) подключается к данной точке доступа. Недостатки такого способа очевидны: необходимом наличие Wi-Fi адаптера на компьютере, а если он один – то нужно отключаться от интернета. Но если гирлянда мобильная, то такой способ вполне подойдет.

 

Попробовав все три варианта, захотелось объединить достоинства первых трех способов. И так, четвертый вариант – управление светодиодной матрицей с компьютера из локальной сети по Wi-Fi, при отключенном компьютере самостоятельная работа с SD карты, и плюс возможность подключаться к гирлянде как к точке доступа Wi-Fi.

 

Теперь про четвертый вариант поподробнее.

 

1.      Прошиваем ESP8266 (Node MCU, Wemos D1 mini или др.) данным скетчем ESP_Node_MCU.zip [1,32 Kb] (cкачиваний: 11). Скетч поднимает точку доступа Wi-Fi с именем ESP)Node_MCU и адресом 192.168.4.1 к которой можно подключиться с ноутбука или компьютера с Wi-Fi адаптером. SSID, IP адрес и пароль при желании можно поменять в скетче в строках:

 

char ESPControllerWifiAP_SSID[40] = "ESP)Node_MCU";

char ESPControllerWifiAP_password[40] = "12345678";

bool ESPControllerWifiAP_IsNeedReconect = 0;

bool ESPControllerWifiAP_workStatus = 1;

IPAddress ESPControllerWifiAP_ip(192, 198, 4, 1);

IPAddress  ESPControllerWifiAP_dns (192, 198, 4, 1);

IPAddress  ESPControllerWifiAP_gateway (192, 198, 4, 1);

 

В результате в списке доступных сетей должна появиться точка доступа ESP)Node_MCU

 

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

 

2.      Скетч для управления из вашей домашней сети и с SD карты можно скачать по ссылке wemosneopixelcontrol_SD.zip [3,78 Kb] (cкачиваний: 17). Перед заливкой в ESP8266 Node MCU скетч нужно настроить под вашу матрицу: в скетче нужно изменить количество светодиодов, количество светодиодов по горизонтали и массив с данными расположения светодиодов в матрице. В исходном скетче настройки для матрицы из 600 светодиодов (20 лент по 30 светодиодов в каждой ленте), соединенных вертикальной змейкой с началом в левом нижнем углу (если смотреть на светодиоды).

 

#definePIN            D3  // вывод на матрицу

#defineNUMPIXELS      600  // Количество светодиодов

#defineLED_PIN 3    // вывод на матрицу для SD

unsigned char x = 20; // количество светодиодов по X

 

PIND3 и LED_PIN 3 – один и тот же вывод ESP8266 Node MCU, просто для разных библиотек обозначается по разному.

 

В строках

const char* ssid     = "..........";  //Имя вашей сети Wi-Fi

const char* password = ".........."; //парольвашейсети Wi-Fi

меняем SSID и пароль вашей сети

 

Массив XYTable[] находится в конце скетча. Под вашу матрицу его можно сформировать, скопировать и вставить в скетч на странице FastLED XY Map Generator. Для моего варианта настроки выглядят так:

 

 

 

Выделяем, копируем и вставляем в скетч вместо исходного (желтого на картинке) массива.

 

 Сохраняем скетч, заливаем.

 

Описание работы

 При наличии SD карты в картридере и наличии на карте файла 01.out с эффектами, созданного в программе Jinx гирлянда воспроизводит эффекты с SD карты. Если SD карта отсутствует ESP8266 пытается подключиться к вашей сети (примерно 2 раза в секунду моргает светодиод на плате ESP8266, все светодиоды на матрице горят серым цветом). При успешном подключении светодиод на плате ESP8266 горит постоянно. В программе Jinx: Setup – Matrix Options выставляем размеры матрицы, далее -  OutputDevices настраиваем следующим образом:

 

 

В полях блока DataChannels, Chan/Block вводим Число светодиодов в матрице умноженное на 3 (в моем случае 600 * 3 = 1800) это важно.

 

 Далее настройка Setup-Output Patch для моего варианта

 

 

 Создаем эффекты, жмем Setup – Start Output и радуемся!

 

При подключении к гирлянде как к точке доступа ESP)Node_MCU (если не пропускали первый пункт) в программе Jinx OutputDevices настраиваем следующим образом:

 

Всех с наступающим Новым 2021 годом! Создаем друг другу хорошее, праздничное настроение!



Похожие материалы

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

Рейтинг@Mail.ru