Официальный сайт компании Arduino по адресу arduino.cc
Помогите разобраться с цветами в FastLed.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Пнд, 02/11/2020 - 17:55
#include <FastLED.h> #define DATA_PIN 3 //пин данных #define NUM_LEDS 256 //количество светодиодов #define MATRIX_WIDTH 16 //ширина матрицы #define MATRIX_HEIGHT 16 //высота матрицы #define BRIGHTNESS 1 //яркость //CRGB leds[NUM_LEDS]; CRGBArray<NUM_LEDS> leds; void setup() { FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS); FastLED.setBrightness(BRIGHTNESS);//0-255 Serial.begin (9600); } void loop() { RadugaV(10); } void RadugaV(int CurSpeed){ for (int cc=NUM_LEDS-(MATRIX_WIDTH-1);cc>=0;cc--){ FastLED.clear(); leds.fadeToBlackBy(40); for (int i=0;i<MATRIX_WIDTH;i++){ for (int j=0;j<MATRIX_HEIGHT;j++){ //Serial.print(cc+i);Serial.print(";");Serial.print(i);Serial.print(";");Serial.println(j); CHSV color = CHSV((uint8_t)(cc+i),255,255); setPixel(i,j,color); } } FastLED.show(); delay(CurSpeed); } } void setPixel(int X, int Y, CHSV color){ int curLed; if (X%2 == 0){ curLed = MATRIX_HEIGHT*X+Y; } else { curLed = (MATRIX_HEIGHT*(X+1)-1)-Y; } leds[curLed] = color; }
Вот такой код. Задумка:
Должны по матрице бежать цветные волны по одному цвету на столбик.
И они бегут, но всего 4 цвета: красный, синий зеленый желтый. Подскажите почему промежуточные цвета не показываются?
Сам разобрался. Яркость у меня всего 1 стояла.
Видимо HUE неверно генерируется? Упрощайте скетч, локализуйте проблему.