не работает скетч

medved1977
Offline
Зарегистрирован: 19.04.2020
добрый день.
прошу помочь новичку в небольшой проблеме связанной с неработоспособностью скетча. есть небольшой скет для проверки 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, и и этот скетч так же не работает (но он компилируется и заггружается в плату).
b707
Offline
Зарегистрирован: 26.05.2017

вставьте код как положено, с таким кодом с вами никто и разговаривать не будет

Alexander
Offline
Зарегистрирован: 25.04.2010
medved1977
Offline
Зарегистрирован: 19.04.2020

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

#define PIN 14// пин 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);
  }
 }

 

sadman41
Offline
Зарегистрирован: 19.10.2016

ATtiny88: SRAM 512 bytes
ATmega328: SRAM 2048 bytes

256 pixels * 3 byte = ??? bytes 

medved1977
Offline
Зарегистрирован: 19.04.2020

все, разобрался, все заработало. нужно было в скетче PIN 5, а PIN 14 указать, поскольку он по даташиту  идет как 14, а на  плате D5

единственное, это MH-Tiny live так и не заработала

b707
Offline
Зарегистрирован: 26.05.2017

medved1977 пишет:

 MH-Tiny live так и не заработала

нафига спрашивать, если вы не читаете ответов?

Прочитайте #4 еще раз