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

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

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

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

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

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

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

  1. Первый шаг — загрузить инструмент ESPHome-Flasher. Откройте браузер на странице ESPHome-Flasher на GitHub и найдите установщик для вашей операционной системы, затем загрузите его.

Страница загрузки инструмента ESPHome-Flasher
  1. Вам также нужно скачать скомпилированный бинарный файл WLED. Перейдите на страницу WLED на GitHub и скачайте файл WLED_0.x.x_ESP8266.bin.

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

ESP8266, подключенный к компьютеру с помощью USB-кабеля
  1. Запустите инструмент ESPHome-Flasher.

Инструмент ESPHome-Flasher
  1. Выберите COM-порт, к которому подключен ваш ESP8266. Если в выпадающем списке последовательного порта ничего не отображается, возможно, вам нужно обновить драйверы USB-to-serial, или вы используете USB-кабель, который не поддерживает передачу данных.

COM-порт в инструменте ESPHome-Flasher
  1. Нажмите кнопку «Browse» и выберите бинарный файл WLED, который вы только что скачали.

Выбран бинарный файл WLED в инструменте ESPHome-Flasher
  1. Нажмите «Flash ESP», чтобы прошить прошивку на плату. Это не должно занять больше нескольких минут.

Прошивка ESP8266 с помощью инструмента ESPHome-Flasher
  1. Как только появится надпись «Done! Flashing is complete!», вы можете закрыть программу.

Прошивка завершена в инструменте ESPHome-Flasher
  1. Нажмите на значок сети на панели задач. Вы должны увидеть новую беспроводную точку доступа с именем WLED-AP.

Сеть WLED-AP
  1. Подключитесь к ней и введите wled1234, когда будет запрошен пароль.

Подключение к сети WLED-AP
  1. Когда вы подключитесь к сети, ваш браузер по умолчанию автоматически запустится и загрузит домашнюю страницу WLED. Если по какой-то причине он не запустится, откройте новый браузер и перейдите по адресу http://4.3.2.1, который должен привести вас к той же странице.

Домашняя страница точки доступа WLED
  1. Выберите WIFI Settings. Откроется раздел настройки WIFI.

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

Обновленные настройки WiFi в WLED
  1. Нажмите Save and Connect. Ваш ESP8266 перезагрузится и подключится к вашей WiFi-сети. Тем не менее, рекомендуется сбросить ESP8266, нажав кнопку RST.

Сохранение и подключение к WiFi в WLED
  1. Наконец, убедитесь, что вы переподключились к домашней сети.

  2. Теперь перейдите по вашему mDNS-адресу (в моем случае это http://mylights.local/), чтобы получить доступ к пользовательскому интерфейсу (UI) WLED.

WLED, доступный по новому адресу

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

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

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

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

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

Приложение WLED

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

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

  3. Effects/Animation (Эффекты/Анимация): Здесь вы найдете библиотеку готовых анимаций для ваших огней. Хотя каждый эффект имеет свою собственную цветовую схему, вы можете легко настроить её в разделе Color Picker.

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

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

Настройка WLED

После завершения установки рекомендуется перейти на экран LED Preferences и настроить параметры LED-подсветки.

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

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

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

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

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

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

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

Подключение адресной LED-ленты WS2812x к ESP8266

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

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

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

Наконец, подключите зелёный провод (DIN) LED-ленты к GPIO2 (D4) ESP8266 через резистор 330 Ом. Этот последовательный резистор предназначен для защиты пина данных. Подойдет резистор от 220 до 470 Ом. Постарайтесь разместить резистор как можно ближе к вашим адресным светодиодам.

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

Подключение адресной LED-ленты WS2812B к ESP8266 с питанием от USB 5V

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

Подключение адресной LED-ленты WS2812B к ESP8266 с внешним питанием 5V

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

Отсюда всё остальное можно делать через приложение 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. Каждый эффект имеет свою собственную цветовую схему, которую вы можете легко изменить в разделе Color Picker. Это сохранит анимационный эффект, но заменит цвета.

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

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

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

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

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

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

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

  • Настоятельно рекомендуется использовать два LED-пина, GPIO1 (TX) и GPIO2 (D4), так как они поддерживают аппаратное управление.

  • Когда используется GPIO1, последовательная отладка отключается. Если она вам не нужна, вы можете использовать ленту на этом пине.

  • GPIO3 — это третий пин на ESP8266, который поддерживает аппаратное управление. Однако он потребляет в 5 раз больше памяти на один светодиод по сравнению с GPIO 1 и 2, поэтому его следует использовать только при небольшом количестве светодиодов (рекомендуется <50).

  • Можно использовать любой другой пин, но для него будет использоваться метод bitbang, что не рекомендуется с точки зрения надёжности. Лучше всего придерживаться GPIO 1, 2 и, при необходимости, 3.

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

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

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

  • ESP8266 способен обрабатывать примерно 15 000 светодиодов в секунду (это 250 светодиодов при ~60 кадрах/с, 500 светодиодов при ~30 кадрах/с, 1000 светодиодов при ~15 кадрах/с).