+2 голосов
добрый день.
прошу помочь новичку в небольшой проблеме связанной с неработоспособностью скетча. есть небольшой скет для проверки WS2812, который компилируется для любой платформы, так же он грузится в плату и  по идее должен работать,НО...
скетч для проверки
            
#define PIN 5                           // пин DI
  
#define NUM_LEDS 256                 // число диодов
#include "Adafruit_NeoPixel.h"

Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
  strip.begin();
  strip.setBrightness(200);            // яркость, от 0 до 255
  strip.clear();                          // очистить
  strip.show();                           // отправить на ленту
}
void loop() {
  // заливаем белым
 strip.setBrightness(250);    
  for (int i = 0; i < NUM_LEDS; i++ ) {   // всю ленту
    strip.setPixelColor(i, 0xFF0000);     // залить белым
    strip.show();                         // отправить на ленту
    delay(10);
  }
   delay(1000);
  // заливаем красным
  for (int i = 0; i < NUM_LEDS; i++ ) {
    strip.setBrightness(200);    // всю ленту
    strip.setPixelColor(i, 0x00FF00);     // залить красным
    strip.show();                         // отправить на ленту
    delay(10);
  }
   delay(1000);
  // заливаем синим
  for (int i = 0; i < NUM_LEDS; i++ ) {   // всю ленту
    strip.setPixelColor(i, 0x0000FF);
    strip.setBrightness(200); // залить синим
    strip.show();                         // отправить на ленту
    delay(10);
  }
   delay(1000);
  // заливаем зеленым
  for (int i = 0; i < NUM_LEDS; i++ ) {   // всю ленту
    strip.setPixelColor(i, 0xFFFF00);     // залить зеленым
    strip.show();         
    strip.setBrightness(200); // отправить на ленту
    delay(10);
  }
 }

далее ситуация следующая. в наличии есть несколько плат arduino nano, wemos D1 R1 mini, attyni88 (MH-Tiny live). В среду arduino ide загружены все библиотеки, установлены все драйвера. данный скетч компилируетя компилируется для любой платы и соответственно грузится без ошибок во все платы. но при подключении платы к тестовой матрице на WS2812, работает только arduino nano, остальные не работают, просто ничего не происходит, пробовал разные порты, эффекта нет.
если в данные платы залить скетч blink, то скетч заливается и светодиод соответственно мигает так как запрограмируешь в скетче.
ВОПРОС, в чем проблема и что я делаю не так?

P.S.
есть проект для WS2812, и он сделан именно для wemos, и и этот скетч так же не работает (но он компилируется и заггружается в плату).
(23 баллов) 3 5 9
Осталось только код научиться вставлять нормально, чтобы читабельным было.

1 Ответ

+2 голосов
 
Лучший ответ
Попробуйте в PIN подставить значение «D5» вместо «5».

На Arduino Nano пины при указании цифрой работают так же, как и на плате, на плате WeMos нужно указывать с «D» вначале. Если без нее, будут работать пины как на распиновке контроллера (ESP8266)
(1.6 тыс. баллов) 3 9 33
выбран
пробовал. код компилируется и с буквой D  и без нее и так же заливается, но не работает
А если вместо D5 указать 14? (подключение не меняем)
век живи, век учись. все заработало. большое спасибо.  по крайней мере заработал wemos, остается надеяться что причина MH-Tiny live то же в этом же. в любом случае спасибо. тема закрыта.
Если сработало, то попробуйте использовать эту распиновка (пины на голубом фоне): https://arduinoplus.ru/wp-content/uploads/2018/03/wemos-d1-mini-pro.jpg

Ну и решением отметьте ;)
wemos , а вот MH-Tiny live не хочет вообще поддаваться никак.
за подсказку большое спасибо, подскажи как отметить тебя? я вроде тебе балл поставил
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.

    За этот месяц ещё никого.

    ...