/// ========== IGNORE ========== ///
#include "FastLED.h"
#include <SPI.h>
#define NUM_LEDS    100
CRGB leds[NUM_LEDS]; void setup() { FastLED.addLeds<WS2811, 5, GRB>(leds, NUM_LEDS); }
/// ========== IGNORE ========== ///

float STEP = 0.02;

float t = STEP;

void loop() {
  FastLED.clear();

  for (int i = 0; i < 30; i++) {
    int pos =  (NUM_LEDS / 2) * sin(t - i * STEP) + (NUM_LEDS / 2 - 1);
    leds[pos] = CHSV(100 + i * 2, 255, 200 - i * 5);
  }

  delay(10);

  t = fmod(t + STEP, PI * 2);

  FastLED.show();
}