Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //The following constant is the delay between each pixel flash
- const int interval = 25;
- unsigned long previousMillis = millis();
- #define NUM_LEDS 38
- CRGB leds[NUM_LEDS];
- uint8_t gHue = 0;
- int idex = 10;
- int TOP_INDEX = int(NUM_LEDS/2);
- int thishue = 0;
- //---FIND INDEX OF ANTIPODAL OPPOSITE LED
- int antipodal_index(int i) {
- int iN = i + TOP_INDEX;
- if (i >= TOP_INDEX) {iN = ( i + TOP_INDEX ) % NUM_LEDS; }
- return iN;
- }
- void sinelon() {
- if(buttonListener()) { return; }
- if(millis() - previousMillis >= interval) {
- previousMillis = millis();
- fadeToBlackBy(leds, NUM_LEDS, 20);
- int pos = beatsin16(13,0,NUM_LEDS);
- leds[pos] += CHSV(gHue, 255, 192);
- }
- }
- void confetti() {
- if(buttonListener()) { return; }
- if(millis() - previousMillis >= interval) {
- previousMillis = millis();
- fadeToBlackBy(leds, NUM_LEDS, 10);
- int pos = random16(NUM_LEDS);
- leds[pos] += CHSV( gHue + random8(64), 200, 255);
- }
- }
- void juggle() {
- if(buttonListener()) { return; }
- if(millis() - previousMillis >= interval) {
- previousMillis = millis();
- fadeToBlackBy(leds, NUM_LEDS, 20);
- byte dothue = 0;
- for(int i = 0; i < 8; i++) {
- leds[beatsin16(i+7,0,NUM_LEDS)] |= CHSV(dothue, 200, 255);
- dothue += 32;
- }
- }
- }
- void bpm() {
- if(buttonListener()) { return; }
- if(millis() - previousMillis >= interval) {
- previousMillis = millis();
- uint8_t BeatsPerMinute = 62;
- CRGBPalette16 palette = PartyColors_p;
- uint8_t beat = beatsin8(BeatsPerMinute, 64, 255);
- for(int i = 0; i < NUM_LEDS; i++) {
- leds[i] = ColorFromPalette(palette, gHue+(i*2), beat-gHue+(i*10));
- }
- }
- }
- void rainbow() {
- if(buttonListener()) { return; }
- if(millis() - previousMillis >= interval) {
- previousMillis = millis();
- fill_rainbow(leds, NUM_LEDS, gHue, 7);
- // FastLED.show();
- }
- }
- void addGlitter( fract8 chanceOfGlitter) {
- if(random8()< chanceOfGlitter){
- leds[random16(NUM_LEDS) ] += CRGB::White;
- }
- }
- void rainbowWithGlitter(){
- if(buttonListener()) { return; }
- rainbow();
- addGlitter(80);
- }
- void random_burst() { //-m4-RANDOM INDEX/COLOR
- if(buttonListener()) { return; }
- if(millis() - previousMillis >= interval) {
- previousMillis = millis();
- idex = random(0, NUM_LEDS);
- gHue = random(0, 255);
- leds[idex] = CHSV(gHue, 255, 255);
- }
- }
- void pride()
- {
- if(buttonListener()) { return; }
- if(millis() - previousMillis >= interval) {
- previousMillis = millis();
- static uint16_t sPseudotime = 0;
- static uint16_t sLastMillis = 0;
- static uint16_t sHue16 = 0;
- uint8_t sat8 = beatsin88( 87, 220, 250);
- uint8_t brightdepth = beatsin88( 341, 96, 224);
- uint16_t brightnessthetainc16 = beatsin88( 203, (25 * 256), (40 * 256));
- uint8_t msmultiplier = beatsin88(147, 23, 60);
- uint16_t hue16 = sHue16;//gHue * 256;
- uint16_t hueinc16 = beatsin88(113, 1, 3000);
- uint16_t ms = millis();
- uint16_t deltams = ms - sLastMillis ;
- sLastMillis = ms;
- sPseudotime += deltams * msmultiplier;
- sHue16 += deltams * beatsin88( 400, 5,9);
- uint16_t brightnesstheta16 = sPseudotime;
- for( uint16_t i = 0 ; i < NUM_LEDS; i++) {
- hue16 += hueinc16;
- uint8_t hue8 = hue16 / 256;
- brightnesstheta16 += brightnessthetainc16;
- uint16_t b16 = sin16( brightnesstheta16 ) + 32768;
- uint16_t bri16 = (uint32_t)((uint32_t)b16 * (uint32_t)b16) / 65536;
- uint8_t bri8 = (uint32_t)(((uint32_t)bri16) * brightdepth) / 65536;
- bri8 += (255 - brightdepth);
- CRGB newcolor = CHSV( hue8, sat8, bri8);
- uint16_t pixelnumber = i;
- pixelnumber = (NUM_LEDS-1) - pixelnumber;
- nblend( leds[pixelnumber], newcolor, 64);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment