WS2811+FastLed.lib

Нет ответов
roman_rv
Offline
Зарегистрирован: 13.06.2014

Добрый день. Экспериментирую с сабжем с целью создания многоканального контроллера для 20 метровых отрезков простых rgb лент.

Макет пока с одним чипом и 3 светодиодами + ардуино нано. Подключил почти как в даташите, только без резисторов, посчитав, что просадки питания и "отражения" сигналов при подключении одного чипа не страшны. 

 

Вот код: читает из порта три значения (0-255) и запускает шим на ws2811 посредством библиотеки FastLed.

#include "FastLED.h"
// Number of RGB LEDs in the strand
#define NUM_LEDS 1

// Define the array of leds
CRGB leds[NUM_LEDS];
// Arduino pin used for Data
#define PIN 6

void setup()
{
    Serial.begin(9600);
  FastLED.addLeds<NEOPIXEL, PIN>(leds, NUM_LEDS);
}

void loop() {
while (Serial.available() > 0) {
    int red = Serial.parseInt();
    int green = Serial.parseInt();
    int blue = Serial.parseInt();
        if (Serial.read() == '\n') {
            Serial.print(red, DEC);Serial.print("/");
            Serial.print(green, DEC);Serial.print("/");
            Serial.println(blue, DEC);Serial.println ("---");

                leds[0].r = red; 
                leds[0].g = green; 
                leds[0].b = blue; 
                  FastLED.show();}
  }
}

Вроде работает, но если двум или  трем каналам задать одинаковые (любые) значения, все светодиоды коротко мигают и гаснут. Запитано все от юсб, чип и диоды - через 5v ардуины. Мог бы грешить на питание, но, например, команда 223,224,225 отрабатывает нормально, а 50,50,50 вызывает сбой... 

Что это? Глюк библиотеки при работе с одним чипом или я где-то что-то упустил? Спасибо.