Управление адресными светодиодами WS2812B с помощью ESP32 и WLED

Руководство по управлению адресными светодиодами WS2812B с помощью ESP32 и WLED

Независимо от того, называете ли вы их индивидуально адресуемыми RGB-светодиодами, WS2812B или NeoPixels, нельзя отрицать, что они чрезвычайно популярны и являются обязательным компонентом для любого светящегося и мигающего проекта.

Написание кода для управления адресными светодиодами не является сложной задачей, но что если вы просто хотите добавить немного фоновой подсветки в гостиную или офис и управлять всем этим со смартфона? В настоящее время лучший вариант, без сомнения, — это WLED — бесплатное, многофункциональное мобильное приложение с открытым исходным кодом, которое даёт нам полный контроль над широким спектром RGB-светодиодов.

Приложение WLED делает управление индивидуально адресуемыми светодиодами гораздо проще, удобнее и, что самое важное, веселее. Это приложение слишком крутое, чтобы не попробовать.

В этом руководстве мы узнаем, как установить WLED на плату ESP32 и использовать его для управления цепочкой адресных светодиодов.

Установка WLED на плату ESP32

WLED сделал установку этой пользовательской прошивки на плату ESP32 невероятно простой. Мы просто подключаем ESP32 и нажимаем несколько кнопок, а установщик делает всё остальное.

  1. Подключите плату ESP32 к компьютеру с помощью USB-кабеля. Убедитесь, что используемый USB-кабель поддерживает передачу данных.

ESP32 подключён к компьютеру с помощью USB-кабеля
  1. Откройте веб-браузер и перейдите на install.wled.me. Этот URL приведёт вас на веб-сайт, показанный ниже.

Страница установки WLED

Примечание

Убедитесь, что браузер поддерживает Web Serial. На момент написания это означает «настольные» браузеры, такие как Google Chrome, Microsoft Edge или Opera. Другие браузеры (Safari, Firefox, Explorer и мобильные) работать не будут.

  1. Нажмите Install.

  2. Выберите COM-порт, к которому подключён ваш ESP32, и нажмите Connect. WLED использует Web Serial API для открытия последовательных портов на вашем компьютере.

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

Выбор COM-порта WLED
  1. Нажмите „Install WLED“, чтобы начать процесс.

Кнопка установки WLED
  1. Подтвердите установку для прошивки платы. Этот дополнительный шаг служит последним предупреждением, после которого все данные на устройстве будут стёрты.

Важно отметить, что некоторые платы ESP32 требуют нажатия кнопки BOOT перед нажатием финальной кнопки установки.

Финальное подтверждение установки WLED
  1. Процесс установки должен начаться. Теперь вы можете отпустить кнопку BOOT, так как подключение было установлено. Установка займёт всего несколько минут.

Установка WLED
  1. Нажмите Next для завершения установки.

Установка WLED завершена
  1. Введите учётные данные Wi-Fi и нажмите Connect. Это подключит ваш ESP32 к вашей сети Wi-Fi и сохранит данные для дальнейшего использования.

Настройка WiFi WLED

Примечание

Сеть WiFi должна быть 2,4 ГГц; ESP32 не поддерживает сети 5 ГГц.

  1. Должно появиться сообщение «Device connected to the network!». Нажмите Visit Device, чтобы получить доступ к пользовательскому интерфейсу WLED (UI).

Посещение устройства WLED
  1. Запишите URL-адрес, так как он понадобится вам для доступа к интерфейсу WLED.

URL веб-интерфейса WLED

Краткий обзор интерфейса WLED

Интерфейс WLED прост, но поначалу может показаться перегруженным. Интерфейс можно разделить на пять разделов.

Обзор интерфейса WLED — режим ПК

Веб-интерфейс WLED

Обзор интерфейса приложения WLED

Приложение WLED

  1. Конфигурация: Здесь вы найдёте кнопки: Power (для включения и выключения подсветки), Timer (для настройки расписания включения и выключения подсветки в определённое время суток), Sync (для синхронизации нескольких устройств WLED в вашей сети), Peek (для просмотра анимации подсветки), Config (для настройки количества светодиодов и GPIO-порта) и ползунок Brightness (для управления общей яркостью).

  2. Выбор цвета: Этот раздел позволяет изменять цвет светодиодов, будь то статический или анимированный. Если вы прокрутите этот раздел вниз, вы получите доступ к различным цветовым палитрам для использования в эффектах.

  3. Эффекты/Анимация: Здесь вы найдёте библиотеку готовых анимаций для вашей подсветки. Хотя каждый эффект имеет собственную цветовую схему, вы можете легко настроить её в разделе «Выбор цвета».

  4. Сегменты: Если у вас большой массив или матрица светодиодов, вы можете разделить их на сегменты и назначить каждому сегменту свой цвет, анимацию или цветовую схему.

  5. Пресеты: Здесь вы можете создавать пресеты для вашего пользовательского светового шоу, а также плейлист для циклического воспроизведения множества доступных анимаций.

Настройка WLED

Изменение URL-адреса

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

  1. Нажмите на Config.

Конфигурация WLED
  1. Выберите WiFi Setup.

Настройки WiFi WLED
  1. Прокрутите вниз до mDNS address и задайте адрес по своему усмотрению. Я назвал свой http://mylights.local/ — с этого момента именно это я буду вводить в веб-браузере в моей сети WiFi для подключения к моей подсветке.

mDNS-адрес WLED
  1. Прокрутите страницу вверх или вниз и нажмите Save & Connect.

Сохранение и подключение настройки WiFi WLED
  1. Должно появиться сообщение „WiFi settings saved.“.

Настройки WiFi WLED сохранены
  1. Теперь подключитесь по новому IP-адресу.

WLED доступен через новый адрес

Настройка светодиодов

  1. Нажмите на Config и выберите LED Preferences.

Настройки светодиодов WLED
  1. Прокрутите вниз до Hardware Setup и выберите тип вашей светодиодной ленты.

Выбор типа светодиодов WLED
  1. Установите значение «Length» в соответствии с количеством светодиодов. У нас всего 12 светодиодов, поэтому я изменил длину на 12.

Выбор количества светодиодов WLED
  1. Запишите номер GPIO-пина. Этот пин будет использоваться для передачи данных на светодиоды. По умолчанию используется GPIO16.

Выбор GPIO-пина ESP32 в WLED
  1. Прокрутите вниз и нажмите Save.

Сохранение настроек светодиодов WLED
  1. Нажмите Back, чтобы вернуться на главный экран.

Возврат на главную страницу WLED

Подключение адресной светодиодной ленты WS2812x к ESP32

После завершения настройки WLED отключите ESP32 от USB-порта. Давайте подключим адресную светодиодную ленту к ESP32.

Подключение довольно простое. Нужно соединить всего три провода: два для питания и один для передачи данных.

Подключите красный провод (+5V/VCC) адресной светодиодной ленты к пину VIN на ESP32, а белый/жёлтый провод (GND) — к пину GND на ESP32.

Наконец, подключите зелёный провод (DIN) светодиодной ленты к GPIO16 (RX2) ESP32 через резистор 330 Ом. Этот последовательный резистор предназначен для защиты линии данных. Подойдёт резистор номиналом от 220 до 470 Ом. Старайтесь разместить резистор как можно ближе к адресным светодиодам.

Если у вас немного светодиодов, вы можете подключить ESP32 к компьютеру через USB-кабель и запитать ленту непосредственно через плату.

Подключение адресной светодиодной ленты WS2812B к ESP32 с питанием от USB

Если у вас более крупный проект, требующий больше светодиодов, питания от USB будет недостаточно. Вместо этого следует подавать питание на ленту от внешнего источника. Имейте в виду, что каждый RGB-светодиод потребляет около 60 мА (20 мА на цветовой канал) при максимальной яркости. Это означает, что на каждые 30 светодиодов ваша лента может потреблять до 1,8 ампер.

Подключение адресной светодиодной ленты WS2812B к ESP32 с внешним питанием 5В

После завершения подключения светодиоды должны загореться мягким жёлтым светом. Если этого не произошло, перед продолжением ещё раз проверьте подключение.

С этого момента всё можно делать через приложение WLED.

Использование мобильного приложения WLED

  1. Скачайте приложение WLED из Google Play Store или Apple App Store на ваш смартфон или планшет.

Приложение WLED в Google Play Store
  1. Откройте приложение и нажмите на значок плюса в правом верхнем углу, чтобы открыть страницу обнаружения.

Добавление устройств в приложении WLED
  1. Нажмите Discover Lights. Это запустит поиск всех подключённых плат с программным обеспечением WLED в вашей сети WiFi.

Обнаружение источников света в приложении WLED
  1. Когда появится сообщение Found WLED!, нажмите на значок галочки в правом верхнем углу. Это вернёт вас на домашнюю страницу, где будет список всех устройств WLED в вашей сети.

Добавление обнаруженных устройств WLED в приложении
  1. Нажмите на только что обнаруженное устройство, чтобы открыть панель управления.

Список устройств WLED в приложении
  1. Выберите цвет с помощью цветового колеса. И вуаля, у вас теперь полностью работающие, дистанционно управляемые адресные светодиоды!

Интерфейс приложения WLED

Примечание

Если цвет светодиодов не совпадает с цветом, выбранным в приложении, перейдите в Config > LED Preferences и отрегулируйте параметр Color Order в разделе Hardware Setup, пока цвета не совпадут.

Настройка порядка цветов WLED
  1. Если у вас несколько устройств WLED, вы можете изменить имя, отображаемое в приложении, чтобы различать их. Перейдите в Config > User Interface и назовите устройство как хотите, затем нажмите Save.

Изменение имени устройства WLED

Изменение эффектов

WLED предлагает более 180 различных эффектов. Именно здесь начинается настоящее веселье.

  1. Перейдите на вкладку Effects и выберите эффект. Светодиоды отреагируют немедленно.

Выбор эффекта в приложении WLED
  1. Вы можете изменить скорость и интенсивность эффекта. Чем дальше вы перемещаете ползунок, тем быстрее и интенсивнее эффект.

Скорость и интенсивность эффекта в приложении WLED
  1. Каждый эффект имеет свою собственную цветовую схему, которую вы можете легко изменить в разделе «Выбор цвета». Это сохранит анимационный эффект, но заменит цвета.

Цветовая схема эффекта в приложении WLED

Советы и рекомендации

Вот несколько советов и рекомендаций, которые следует учитывать при проектировании вашей установки с ESP32:

  • ESP32 может обрабатывать до десяти лент одновременно.

  • Хотя большинство типов лент ещё не протестированы, следующие типы точно работают: WS281x, SK6812 RGBW, PWM white.

  • Сразу после завершения установки выберите тип светодиодов, номера пинов, длину и порядок цветов ваших светодиодных лент на странице настроек LED.

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

  • Ограничений по пинам нет; используйте любой свободный пин.

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

    • Для отличной производительности рекомендуется использовать 512 светодиодов/пин с 4 выходами, всего 2048 светодиодов.

    • Для оптимальной производительности рекомендуется использовать 800 светодиодов/пин с 4 выходами, всего 3200 светодиодов.

    • Для хорошей производительности можно использовать 1000 светодиодов/пин с 4 выходами, всего 4000 светодиодов.

    • Для приемлемой производительности можно использовать 1000 светодиодов/пин с 5 выходами, всего 5000 светодиодов.

    • Для приемлемой производительности можно использовать 800 светодиодов/пин с 6 выходами, всего 4800 светодиодов.

  • ESP32 способен обрабатывать приблизительно 65–85 тысяч светодиодов в секунду (это 1000 светодиодов при ~70 кадрах/с, 2000 светодиодов при ~35 кадрах/с, 4000 светодиодов при ~18 кадрах/с).