NodeMCU NeoPixel

Я пытаюсь управлять одним NeoPixel с помощью NodeMCU, но безуспешно. Даже простая загрузка эскиза библиотеки Adafruit NeoPixel по умолчанию дает неудачные результаты. Я успешно протестировал тот же эскиз на обычном Arduino. У меня есть линия передачи данных, подключенная к D5 на плате NodeMCU, и вот моя конфигурация пикселя в эскизе.

Adafruit_NeoPixel strip = Adafruit_NeoPixel(1, D5, NEO_GRB + NEO_KHZ800);

Есть предложения??

, 👍2


3 ответа


1

Узел mcu представляет собой esp8xxx с выходами 3,3 В.

Неопиксель — это светодиодный контроллер ws2812, который обычно использует логику 5 В.

Они не могут общаться. Вот почему он терпит неудачу.

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

,

Схема пожалуйста., @cde

http://imgur.com/a/QTG1a, @Owen


0

У меня была такая же проблема на плате LoLin NodeMCU, пока она работала с платой Amica NodeMCU.

При питании через USB плата Amica подавала 5 В на контакт Vin, а плата LoLin — нет. Вместо этого мне пришлось использовать контакт VU, и это сработало.

Мне не нужен был логический переключатель. Для данных я использовал контакт D2 с резистором 220 Ом.

,

1

У меня была такая же проблема. Проблема была решена путем инициализации вывода как OUTPUT:

  pinMode(PIN, OUTPUT);
  pixels.begin(); // Это инициализирует библиотеку NeoPixel.

Насколько я понимаю, загрузчик Arduino делает это сам, а загрузчик ESP8266 — нет.

,