Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Particles create particle trails of varyin colors on an LED strip.

` #include "particles.h"

ParticleEmitter emitter = ParticleEmitter(PIXEL_COUNT);

void particles() {
  emitter.stripPosition = random(100) / 100.0;

  for (int j=0; j < emitter.numParticles * 10; j++) {  
    
    for (int i=0; i < emitter.numParticles; i++) {
      
      particle prt = emitter.updateParticle(i);
      uint16_t pixel = leds.numPixels() * prt.currentStripPosition;
  
      // High velocity particles have longer tails
      uint8_t tailLength = abs(prt.velocity * 5);
      uint8_t slot = pixel;
      
      for (int z=0; z < tailLength; z++) { 
        
        float colorScale = ( (tailLength-z*0.999) / tailLength );
        if (z == 0 && prt.dimmed) {
          colorScale *= 0.25;
        }

        strip.setPixelColor(slot, strip.Color(prt.redColor*colorScale, 
                                              prt.blueColor*colorScale, 
                                              prt.greenColor*colorScale));

        slot = pixel + ((z+1) * (prt.velocity > 0 ? -1 : 1));
      }
      strip.setPixelCoor(slot, strip.Color(0,0,0));
    }
    leds.show();
    delay(50);
  }
}

About

Particle emission library for use on LED strips

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages