WS2811+FastLed.lib
- Войдите на сайт для отправки комментариев
Добрый день. Экспериментирую с сабжем с целью создания многоканального контроллера для 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 вызывает сбой...
Что это? Глюк библиотеки при работе с одним чипом или я где-то что-то упустил? Спасибо.