#include "FastLED.h"
#include <EEPROM.h>
#define NUM_LEDS 32
CRGB leds[NUM_LEDS];
#define PIN 6
#define BUTTON 2
void setup()
{
FastLED.addLeds<WS2812B, PIN, GRB>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
}
// Apply LED color changes
void showStrip() {
// FastLED
FastLED.show();
}
// Set a LED color (not yet visible)
void setPixel(int Pixel, byte red, byte green, byte blue) {
// FastLED
leds[Pixel].r = red;
leds[Pixel].g = green;
leds[Pixel].b = blue;
}
void RunningLights(byte red, byte green, byte blue, int Wavelength, int WaveDelay) {
int Position = 0;
float angle = (float)2 * PI / Wavelength ;
for (int i = 0; i < NUM_LEDS; i++)
{
Position++; // = 0; //Position + Rate;
for (int i = 0; i < NUM_LEDS; i++) {
// sine wave, 3 offset waves make a rainbow!
//float level = sin(i+Position) * 127 + 128;
//setPixel(i,level,0,0);
//float level = sin(i+Position) * 127 + 128;
setPixel(i, ((sin(i * angle + Position) * 127 + 128) / 255)*red,
((sin(i * angle + Position) * 127 + 128) / 255)*green,
((sin(i * angle + Position) * 127 + 128) / 255)*blue);
}
showStrip();
delay(WaveDelay);
}
}
// *** REPLACE FROM HERE ***
void loop() {
// Running Lights - Color (red, green, blue), wave dealy
RunningLights(0xff, 0x00, 0x00, 32, 200); // red
RunningLights(0xff, 0x00, 0x00, 16, 100); // white
RunningLights(0xff, 0x00, 0x00, 8, 50); // blue
}