//16
//96
#include <FastLED.h>;
CRGB leds[16];
void setup() {
// put your setup code here, to run once:
FastLED.addLeds<WS2812, 7, GRB>(leds, 16);
Serial.begin(9600);
}
void clearleds(bool draw = true) {
for (int i = 0;i<=16;i++) {
leds[i] = CRGB(0,0,0);
}
if (draw) {FastLED.show();}
}
void LEDRGBit() {
int R;
int B;
int G;
for (int it=0;it<=1536;it++) {
for (int L=0;L<=15;L++) {
int rgb_val = (it+(L*96))%1530;
switch (rgb_val/255) {
case 0:{R=255;G=rgb_val%255;B=0;break;};
case 1:{R=255-(rgb_val%255);G=255;B=0;break;};
case 2:{R=0;G=255;B=rgb_val%255;break;};
case 3:{R=0;G=255-(rgb_val%255);B=255;break;};
case 4:{R=rgb_val%255;G=0;B=255;break;};
case 5:{R=255;G=0;B=255-(rgb_val%255);break;};
}
//Serial.print("Value: ");
//Serial.print(rgb_val/255);
//Serial.print(" ");
//Serial.print(R);
//Serial.print(" ");
//Serial.print(G);
//Serial.print(" ");
//Serial.print(B);
//Serial.print(" ");
//Serial.println(it);
leds[L] = CRGB(R,G,B);
}
FastLED.show();
}
}
void loop() {
// put your main code here, to run repeatedly:
//leds[0] = CRGB(0,255,0);
//FastLED.show();
//clearleds();
LEDRGBit();
}