75 lines
1.6 KiB
Arduino
75 lines
1.6 KiB
Arduino
|
#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() {
|
||
|
CylonBounce(0xff, 0, 0, 4, 10, 50);
|
||
|
}
|
||
|
|
||
|
void CylonBounce(byte red, byte green, byte blue, int EyeSize, int SpeedDelay, int ReturnDelay){
|
||
|
|
||
|
for(int i = 0; i < NUM_LEDS-EyeSize-2; i++) {
|
||
|
setAll(0,0,0);
|
||
|
setPixel(i, red/10, green/10, blue/10);
|
||
|
for(int j = 1; j <= EyeSize; j++) {
|
||
|
setPixel(i+j, red, green, blue);
|
||
|
}
|
||
|
setPixel(i+EyeSize+1, red/10, green/10, blue/10);
|
||
|
showStrip();
|
||
|
delay(SpeedDelay);
|
||
|
}
|
||
|
|
||
|
delay(ReturnDelay);
|
||
|
|
||
|
for(int i = NUM_LEDS-EyeSize-2; i > 0; i--) {
|
||
|
setAll(0,0,0);
|
||
|
setPixel(i, red/10, green/10, blue/10);
|
||
|
for(int j = 1; j <= EyeSize; j++) {
|
||
|
setPixel(i+j, red, green, blue);
|
||
|
}
|
||
|
setPixel(i+EyeSize+1, red/10, green/10, blue/10);
|
||
|
showStrip();
|
||
|
delay(SpeedDelay);
|
||
|
}
|
||
|
|
||
|
delay(ReturnDelay);
|
||
|
}
|
||
|
// *** 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();
|
||
|
}
|