|
|
@@ -52,21 +52,22 @@ double hue = 0.0;
|
|
|
|
|
|
// the loop routine runs over and over again forever:
|
|
|
void loop() {
|
|
|
-
|
|
|
+ static double power = 1.5;
|
|
|
+ static double fac = 0.5/pow(0.5,power);
|
|
|
for(int i=0;i<NUMPIXELS;i++){
|
|
|
int r,g,b;
|
|
|
int hueOffset = (abs(CENTER-i)/(float)CENTER) * 150;
|
|
|
double h = (hue + hueOffset)/360.,y;
|
|
|
if(h>1) h -= (int)h;
|
|
|
if(h<=0.5)
|
|
|
- y = pow(h,2)*2;
|
|
|
+ y = pow(h,power)*fac;
|
|
|
else
|
|
|
- y = 1-pow(1-h,2)*2;
|
|
|
+ y = 1-pow(1-h,power)*fac;
|
|
|
|
|
|
HSVtoRGB(y*360, 100, 15,r,g,b);
|
|
|
pixels.setPixelColor(i, pixels.Color(r,g,b)); // Moderately bright green color.
|
|
|
}
|
|
|
- hue -= 0.25;
|
|
|
+ hue -= 0.2;
|
|
|
if(hue>=360) {
|
|
|
hue -= 360;
|
|
|
}
|