#include "FastLED.h"
#define NUM_LEDS 16
#define LED_TYPE WS2812
#define LED_PIN 2
#define BRIGHTNESS 255
#define DX 1
CRGB leds[NUM_LEDS];
int j;
int k=0;
unsigned long tempTime;
void setup() {
FastLED.addLeds<LED_TYPE, LED_PIN, GRB>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
FastLED.setBrightness(BRIGHTNESS);
}
void loop() {
if (millis() - tempTime >= 200){
tempTime = millis();
rainbow();
}
}
void rainbow(){
for (int i = 0; i < NUM_LEDS; i++ ) {
j = i + k;
if (j >= NUM_LEDS) j = j - NUM_LEDS;
leds[j] = CHSV(i * 255 / NUM_LEDS, 255, 255);
}
FastLED.show();
k+=DX;
if (k >= NUM_LEDS) k = k - NUM_LEDS;
}