Hello guys… i want to set some LED strips for Christmas to put them on house outside… i will have 5 strips of different numbers of leds… for now i have 2 strips to use… and want to set different patterns for each strip…
i will really appreciate if u guys can help me out with this…
not sure how to set a different pattern list in there… but this sketch is doing same pattern for both strips…
and this will be the code for it…
#include <FastLED.h>
#define NUM_LEDS 60
#define NUM_STRIPS 2
CRGB leds[NUM_LEDS];
CLEDController *controllers[NUM_STRIPS];
#define BRIGHTNESS 96
#define FRAMES_PER_SECOND 120
// For mirroring strips, all the “special” stuff happens just in setup. We
// just addLeds multiple times, once for each strip
void setup() {
delay(3000); // 3 second delay for recovery
controllers[0] = &FastLED.addLeds<WS2812B,5>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
controllers[1] = &FastLED.addLeds<WS2812B,7>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
// set master brightness control
FastLED.setBrightness(BRIGHTNESS);
}
// List of patterns to cycle through. Each is defined as a separate function below.
typedef void (*SimplePatternList[])();
SimplePatternList gPatterns = { rainbow, rainbowWithGlitter, confetti, sinelon, juggle, bpm };
SimplePatternList gPatterns2 = { sinelon, juggle };
uint8_t gCurrentPatternNumber = 0; // Index number of which pattern is current
uint8_t gHue = 0; // rotating “base color” used by many of the patterns
void loop()
{
// Call the current pattern function once, updating the ‘leds’ array
gPatternsgCurrentPatternNumber;
FastLED[0].showLeds();
gPatterns2gCurrentPatternNumber;
FastLED[1].showLeds();
// send the ‘leds’ array out to the actual LED strip
// insert a delay to keep the framerate modest
FastLED.delay(1000/FRAMES_PER_SECOND);
// do some periodic updates
EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the “base color” through the rainbow
EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically
}