67 lines
1.5 KiB
C++
67 lines
1.5 KiB
C++
#include "FastLED.h"
|
|
#define NUM_LEDS 60
|
|
CRGB leds[NUM_LEDS];
|
|
#define PIN 6
|
|
|
|
void setup()
|
|
{
|
|
FastLED.addLeds<WS2811, PIN, GRB>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
|
|
}
|
|
|
|
// *** REPLACE FROM HERE ***
|
|
void loop() {
|
|
RunningLights(0xff,0xff,0x00, 50);
|
|
}
|
|
|
|
void RunningLights(byte red, byte green, byte blue, int WaveDelay) {
|
|
int Position=0;
|
|
|
|
for(int i=0; i<NUM_LEDS*2; 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+Position) * 127 + 128)/255)*red,
|
|
((sin(i+Position) * 127 + 128)/255)*green,
|
|
((sin(i+Position) * 127 + 128)/255)*blue);
|
|
}
|
|
|
|
showStrip();
|
|
delay(WaveDelay);
|
|
}
|
|
}
|
|
// *** REPLACE TO HERE ***
|
|
|
|
void showStrip() {
|
|
#ifdef ADAFRUIT_NEOPIXEL_H
|
|
// NeoPixel
|
|
strip.show();
|
|
#endif
|
|
#ifndef ADAFRUIT_NEOPIXEL_H
|
|
// FastLED
|
|
FastLED.show();
|
|
#endif
|
|
}
|
|
|
|
void setPixel(int Pixel, byte red, byte green, byte blue) {
|
|
#ifdef ADAFRUIT_NEOPIXEL_H
|
|
// NeoPixel
|
|
strip.setPixelColor(Pixel, strip.Color(red, green, blue));
|
|
#endif
|
|
#ifndef ADAFRUIT_NEOPIXEL_H
|
|
// FastLED
|
|
leds[Pixel].r = red;
|
|
leds[Pixel].g = green;
|
|
leds[Pixel].b = blue;
|
|
#endif
|
|
}
|
|
|
|
void setAll(byte red, byte green, byte blue) {
|
|
for(int i = 0; i < NUM_LEDS; i++ ) {
|
|
setPixel(i, red, green, blue);
|
|
}
|
|
showStrip();
|
|
} |