#include <FastLED.h>
#define LED_PIN 13
#define NUM_LEDS 432
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
FastLED.clear();
FastLED.show();
}
void loop() {
// Turn lights from green to blue from left to right R G B
for (int i=0; i<NUM_LEDS; i++){
leds[i] = CRGB::White;
FastLED.setBrightness(255);
FastLED.show();
delay(1);
}
// Turn lights from green to blue from left to right R G B
for (int i=0; i<NUM_LEDS; i++){
leds[i] = CRGB::Black;
FastLED.setBrightness(255);
FastLED.show();
delay(1);
}
}
Ok. So let's pick that apart a bit. Since you don't know what to modify to make it work, I'll presume you didn't write any of it, so I'll take it slow.
Each loop is setting a new state for exactly 1 LED, then calling .show, then pausing, then doing the next one. Do you think maybe setting a new state for 2 LEDs, then calling .show, would do what you want? Maybe, try this: (I haven't tried this, but don't see what could be wrong with it).
I'm skeptical of that. Did you notice the extra increment of i in the middle? Did you try it, or just look at it and not see a difference? Not being snarky, but every element in the array will get updated with the loop structured that way, so I don't see how it could skip them. I don't have any WS2812 to try this with.
C