Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <FastLED.h>
- #define LED_PIN 7
- #define NUM_LEDS 300
- #define BRIGHTNESS 255
- #define LED_TYPE WS2811
- #define COLOR_ORDER GRB
- CRGB leds[NUM_LEDS];
- #define UPDATES_PER_SECOND 25
- // This example shows several ways to set up and use 'palettes' of colors
- // with FastLED.
- //
- // These compact palettes provide an easy way to re-colorize your
- // animation on the fly, quickly, easily, and with low overhead.
- //
- // USING palettes is MUCH simpler in practice than in theory, so first just
- // run this sketch, and watch the pretty lights as you then read through
- // the code. Although this sketch has eight (or more) different color schemes,
- // the entire sketch compiles down to about 6.5K on AVR.
- //
- // FastLED provides a few pre-configured color palettes, and makes it
- // extremely easy to make up your own color schemes with palettes.
- //
- // Some notes on the more abstract 'theory and practice' of
- // FastLED compact palettes are at the bottom of this file.
- CRGBPalette16 currentPalette;
- TBlendType currentBlending;
- void setup() {
- delay( 3000 ); // power-up safety delay
- FastLED.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
- FastLED.setBrightness( BRIGHTNESS );
- SetupThanksgivingPalette();
- //currentPalette = RainbowColors_p;
- currentBlending = LINEARBLEND;
- }
- void loop()
- {
- // ChangePalettePeriodically();
- static uint8_t startIndex = 0;
- startIndex = startIndex + 1; /* motion speed */
- FillLEDsFromPaletteColors( startIndex);
- FastLED.show();
- FastLED.delay(1000 / UPDATES_PER_SECOND);
- }
- void FillLEDsFromPaletteColors( uint8_t colorIndex)
- {
- uint8_t brightness = 255;
- for( int i = 0; i < NUM_LEDS; i++) {
- leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);
- colorIndex += 3;
- }
- }
- // There are several different palettes of colors demonstrated here.
- //
- // FastLED provides several 'preset' palettes: RainbowColors_p, RainbowStripeColors_p,
- // OceanColors_p, CloudColors_p, LavaColors_p, ForestColors_p, and PartyColors_p.
- //
- // Additionally, you can manually define your own color palettes, or you can write
- // code that creates color palettes on the fly. All are shown here.
- //not currently used
- /*void ChangePalettePeriodically()
- {
- uint8_t secondHand = (millis() / 1000) % 60;
- static uint8_t lastSecond = 99;
- if( lastSecond != secondHand) {
- lastSecond = secondHand;
- if( secondHand == 0) { currentPalette = RainbowColors_p; currentBlending = LINEARBLEND; }
- if( secondHand == 10) { currentPalette = RainbowStripeColors_p; currentBlending = NOBLEND; }
- if( secondHand == 15) { currentPalette = RainbowStripeColors_p; currentBlending = LINEARBLEND; }
- if( secondHand == 20) { SetupPurpleAndGreenPalette(); currentBlending = LINEARBLEND; }
- if( secondHand == 25) { SetupTotallyRandomPalette(); currentBlending = LINEARBLEND; }
- if( secondHand == 30) { SetupBlackAndWhiteStripedPalette(); currentBlending = NOBLEND; }
- if( secondHand == 35) { SetupBlackAndWhiteStripedPalette(); currentBlending = LINEARBLEND; }
- if( secondHand == 40) { currentPalette = CloudColors_p; currentBlending = LINEARBLEND; }
- if( secondHand == 45) { currentPalette = PartyColors_p; currentBlending = LINEARBLEND; }
- if( secondHand == 50) { currentPalette = myRedWhiteBluePalette_p; currentBlending = NOBLEND; }
- if( secondHand == 55) { currentPalette = myRedWhiteBluePalette_p; currentBlending = LINEARBLEND; }
- }
- }*/
- //Candy Cane Stripes
- void SetupCandyCanePalette(){
- CRGB red = CHSV(HUE_RED,255,255);
- CRGB white = CRGB::Gray;
- currentPalette = CRGBPalette16(
- red, red, red, red,
- white, white, white, white,
- red, red, red, red,
- white, white, white, white);
- }
- //Thanksgiving Palette
- void SetupThanksgivingPalette(){
- CRGB brown = CRGB::Orange;
- CRGB golden = CRGB::DarkGoldenrod;
- CRGB darkgreen = CRGB::DarkGreen;
- CRGB darkorange = CRGB::OrangeRed;
- CRGB yellow = CRGB::Yellow;
- currentPalette = CRGBPalette16(
- brown, brown, golden, darkgreen,
- darkorange, darkorange, yellow, yellow,
- brown, brown, golden, darkgreen,
- darkorange, darkorange, yellow, yellow
- );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement