Подключение ленты WS2812B к ESP32

Адресная светодиодная лента

WS2812B подключается к ESP32 тремя проводами: питание 5 В, земля и провод данных DIN на любой GPIO. Библиотека Adafruit NeoPixel формирует нужный сигнал с точностью до долей микросекунды.

Схема подключения ленты WS2812B к ESP32

WS2812B (NeoPixel)ESP32
DINGPIO5
VCC3V3
GNDGND

Схема из примера «NeoPixel: адресные светодиоды».

⚡ В примере «WS2812B (NeoPixel)» питается от 3V3 — в симуляторе так проще, и модель это допускает. Настоящий модуль рассчитан на 5 В: подключайте VCC к VIN (5 В от USB) или к отдельному источнику 5 В с общей землёй.

NeoPixel: адресные светодиоды

Открыть пример целиком

Выводы WS2812B (NeoPixel)

ВыводНазначение
DINвход данных
VCCпитание 5 В
GNDобщий провод — общий с контроллером

Код для ESP32

#include <Adafruit_NeoPixel.h>

const int PIN = 5, COUNT = 8;
Adafruit_NeoPixel strip(COUNT, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  strip.begin();
  strip.setBrightness(40);   // на полной яркости лента ест много тока
  strip.show();
}

void loop() {
  for (int i = 0; i < COUNT; i++) {
    strip.clear();
    strip.setPixelColor(i, strip.Color(0, 120, 255));
    strip.show();
    delay(80);
  }
}

Скетч можно править и запускать в симуляторе без платы и установки среды.

Что учесть на ESP32

В железе

В железе: резистор 300–500 Ом в линию данных у ленты, конденсатор 1000 мкФ на питание ленты, земля ленты и контроллера — общая. Уровень 3,3 В от ESP32 для ленты на 5 В — на границе, надёжнее через преобразователь уровней (например, 74AHCT125).

Частые ошибки при подключении к ESP32

Другие детали для ESP32