#include <FastLED.h>

// Define the number of LEDs and the data pin connected to the matrix
#define NUM_LEDS 64
#define DATA_PIN 3  // Change this to your actual data pin

CRGB leds[NUM_LEDS];

void setup() {
  FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
}

void loop() {
  // Create an array of CRGB colors for each design

 CRGBPalette16 design1Palette = CRGB(10, 255, 124);
CRGBPalette16 design2Palette = CRGB(255, 10, 215);
CRGBPalette16 design3Palette = CRGB(165, 255, 10);
CRGBPalette16 design4Palette = CRGB(161, 10, 255);
CRGBPalette16 design5Palette = CRGB(164, 156, 163);
CRGBPalette16 design6Palette = CRGB(12, 114, 11);
CRGBPalette16 design7Palette = CRGB(255, 100, 215);
CRGBPalette16 design8Palette = CRGB(255, 10, 15);
CRGBPalette16 design9Palette = CRGB(255, 110, 215);
CRGBPalette16 design10Palette = CRGB(255, 10, 115);
CRGBPalette16 design11Palette = CRGB(128, 10, 255);
CRGBPalette16 design12Palette = CRGB(214, 210, 213);
CRGBPalette16 design13Palette = CRGB(255, 2, 215);
CRGBPalette16 design14Palette = CRGB(255, 100, 80);


CRGBPalette16 design15Palette = CRGB(100, 255, 124);
CRGBPalette16 design16Palette = CRGB(155, 10, 215);
CRGBPalette16 design17alette = CRGB(5, 55, 100);
CRGBPalette16 design18Palette = CRGB(161, 10, 255);
CRGBPalette16 design19Palette = CRGB(11, 8, 11);
CRGBPalette16 design20Palette = CRGB(12, 114, 11);
CRGBPalette16 design21Palette = CRGB(164, 151, 219);
CRGBPalette16 design22Palette = CRGB(30, 63, 69);
CRGBPalette16 design23Palette = CRGB(26, 138, 112);
CRGBPalette16 design24Palette = CRGB(255, 10, 115);
CRGBPalette16 design25Palette = CRGB(73, 10, 140);
CRGBPalette16 design26Palette = CRGB(214, 210, 213);
CRGBPalette16 design27Palette = CRGB(255, 2, 215);
CRGBPalette16 design28Palette = CRGB(85, 100, 180);


  for (int i = 0; i < 28; i++) {
    switch (i) {
      case 0:
        fill_palette(leds, NUM_LEDS, 48, design1Palette, 255, LINEARBLEND);
        break;
      case 1:
        fill_palette(leds, NUM_LEDS, 24, design2Palette, 255, LINEARBLEND);
        break;
      case 2:
        fill_palette(leds, NUM_LEDS, 48, design3Palette, 255, LINEARBLEND);
        break;
      case 3:
        fill_palette(leds, NUM_LEDS, 24, design4Palette, 255, LINEARBLEND);
        break;
      case 4:
        fill_palette(leds, NUM_LEDS, 48, design5Palette, 255, LINEARBLEND);
        break;
      case 5:
        fill_palette(leds, NUM_LEDS, 24, design6Palette, 255, LINEARBLEND);
        break;
      case 6:
        fill_palette(leds, NUM_LEDS, 48, design7Palette, 255, LINEARBLEND);
        break;
    
    case 7:
        fill_palette(leds, NUM_LEDS, 8, design2Palette, 255, LINEARBLEND);
        break;
      case 8:
        fill_palette(leds, NUM_LEDS, 16, design3Palette, 255, LINEARBLEND);
        break;
      case 9:
        fill_palette(leds, NUM_LEDS, 24, design4Palette, 255, LINEARBLEND);
        break;
      case 10:
        fill_palette(leds, NUM_LEDS, 32, design5Palette, 255, LINEARBLEND);
        break;
      case 11:
        fill_palette(leds, NUM_LEDS, 40, design6Palette, 255, LINEARBLEND);
        break;
      case 12:
        fill_palette(leds, NUM_LEDS, 48, design7Palette, 255, LINEARBLEND);
        break;
    
       
    
    
    
    }

    FastLED.show();
    delay(2000);
  }
}

void fill_palette(CRGB *leds, uint16_t numLeds, uint8_t colorIndex, CRGBPalette16 palette, uint8_t brightness, TBlendType blendType) {
  for (int i = 0; i < numLeds; i++) {
    leds[i] = ColorFromPalette(palette, colorIndex, brightness, blendType);
    colorIndex++;
  }
}
FPS: 0
Power: 0.00W