FastLED на Arduino с массивом int [] - PullRequest
0 голосов
/ 23 февраля 2020

Я построил светодиодную матрицу со светодиодами ws2812b. Он управляется Arduino Nano. Я использую библиотеку CLED в сочетании с FastLED. Это работает отлично!

Теперь у меня есть очень простая процедура, которая не будет работать, хотя нет ошибок или предупреждений.

Проблема, похоже, в массиве, который представляет собой путь светодиодов, который я хочу активировать. Так чего мне не хватает? Когда я активирую это на Arduino, он зависает. Функция getRandomColorValue() просто возвращает значение цвета 0-255. тот работает как шарм.

int outlinePath[] = {30, 31, 29, 28, 27, 26, 26, 42, 43, 44, 45, 46, 25, 9, 8, 0, 1, 2, 4, 3, 16, 17, 56, 57, 91, 92, 101, 102, 111, 112, 121, 122, 162, 192, 193, 229, 230, 262, 263, 274, 275, 276,   277, 270, 269, 254, 239, 240, 241, 242, 243, 244, 253, 252, 251, 250, 249, 211, 210, 176, 177, 178, 179, 175, 161, 152, 151, 142, 141, 132, 131, 77, 72, 73, 74, 75, 76, 37, 31};
FastLED.clear();

for (int i = 0; i < 70; i++) {
    int test = outlinePath[i];
    leds.m_LED[test] = CRGB(getRandomColorValue(), getRandomColorValue(), getRandomColorValue());
}

FastLED.show();
delay(1000);

И этот работает очень хорошо:

void progFastBlingBling() {
    FastLED.clear();
    leds.m_LED[random(0, anz_LEDs)] = CRGB(getRandomColorValue(), getRandomColorValue(), getRandomColorValue());
    FastLED.show();
}
...