This is an old revision of the document!
IN PROGRESS
#include <Adafruit_NeoPixel.h> #define PIN 15 #define NUM_LEDS 75 Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); strip.show(); // Initialize all pixels to 'off' } void loop() { Main(0x50, 0, 0x50, 4, 60, 0); Party(0x50, 0x50, 0, 2, 100, 100); Interrupt(0x50, 0, 0x50, 25, 100); Main1(0x50, 0x50, 0, 4, 60, 0); Party(0x50, 0, 0x50, 2, 100, 100); Interrupt(0x50, 0x50, 0, 25, 100); } void Main(byte red, byte green, byte blue, int EyeSize, int SpeedDelay, int ReturnDelay){ CenterToOutside(red, green, blue, EyeSize, SpeedDelay, ReturnDelay); OutsideToCenter(red, green, blue, EyeSize, SpeedDelay, ReturnDelay); CenterToOutside(red, green, blue, EyeSize, SpeedDelay, ReturnDelay); OutsideToCenter(red, green, blue, EyeSize, SpeedDelay, ReturnDelay); } void CenterToOutside(byte red, byte green, byte blue, int EyeSize, int SpeedDelay, int ReturnDelay) { for(int i =((NUM_LEDS-EyeSize)/2); i>=0; i--) { setAll(0,0,0); setPixel(i, 0x50, 0x50, 0); for(int j = 1; j <= EyeSize; j++) { setPixel(i+j, red, green, blue); } setPixel(i+EyeSize+1, 0x50, 0x50, 0); setPixel(NUM_LEDS-i, 0x50, 0x50, 0); for(int j = 1; j <= EyeSize; j++) { setPixel(NUM_LEDS-i-j, red, green, blue); } setPixel(NUM_LEDS-i-EyeSize-1, 0x50, 0x50, 0); showStrip(); delay(SpeedDelay); } delay(ReturnDelay); } void OutsideToCenter(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, 0x50, 0x50, 0); for(int j = 1; j <= EyeSize; j++) { setPixel(i+j, red, green, blue); } setPixel(i+EyeSize+1, 0x50, 0x50, 0); setPixel(NUM_LEDS-i, 0x50, 0x50, 0); for(int j = 1; j <= EyeSize; j++) { setPixel(NUM_LEDS-i-j, red, green, blue); } setPixel(NUM_LEDS-i-EyeSize-1, 0x50, 0x50, 0); showStrip(); delay(SpeedDelay); } delay(ReturnDelay); } void Main1(byte red, byte green, byte blue, int EyeSize, int SpeedDelay, int ReturnDelay){ CenterToOutside1(red, green, blue, EyeSize, SpeedDelay, ReturnDelay); OutsideToCenter1(red, green, blue, EyeSize, SpeedDelay, ReturnDelay); CenterToOutside1(red, green, blue, EyeSize, SpeedDelay, ReturnDelay); OutsideToCenter1(red, green, blue, EyeSize, SpeedDelay, ReturnDelay); } void CenterToOutside1(byte red, byte green, byte blue, int EyeSize, int SpeedDelay, int ReturnDelay) { for(int i =((NUM_LEDS-EyeSize)/2); i>=0; i--) { setAll(0,0,0); setPixel(i, 0x50, 0, 0x50); for(int j = 1; j <= EyeSize; j++) { setPixel(i+j, red, green, blue); } setPixel(i+EyeSize+1, 0x50, 0, 0x50); setPixel(NUM_LEDS-i, 0x50, 0, 0x50); for(int j = 1; j <= EyeSize; j++) { setPixel(NUM_LEDS-i-j, red, green, blue); } setPixel(NUM_LEDS-i-EyeSize-1, 0x50, 0, 0x50); showStrip(); delay(SpeedDelay); } delay(ReturnDelay); } void OutsideToCenter1(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, 0x50, 0, 0x50); for(int j = 1; j <= EyeSize; j++) { setPixel(i+j, red, green, blue); } setPixel(i+EyeSize+1, 0x50, 0, 0x50); setPixel(NUM_LEDS-i, 0x50, 0, 0x50); for(int j = 1; j <= EyeSize; j++) { setPixel(NUM_LEDS-i-j, red, green, blue); } setPixel(NUM_LEDS-i-EyeSize-1, 0x50, 0, 0x50); showStrip(); delay(SpeedDelay); } delay(ReturnDelay); } void Interrupt(byte red, byte green, byte blue, int Count, int SpeedDelay) { setAll(0,0,0); for (int i=0; i<Count; i++) { setPixel(random(NUM_LEDS),red,green,blue); showStrip(); delay(SpeedDelay); } delay(SpeedDelay); } void Party(byte red, byte green, byte blue, int EyeSize, int SpeedDelay, int ReturnDelay){ for(int i =((NUM_LEDS-EyeSize)/2); i>=0; i--) { for(int j = 1; j <= EyeSize; j++) { setPixel(i+j, red, green, blue); } setPixel(i+EyeSize+1, red, blue, green); for(int j = 1; j <= EyeSize; j++) { setPixel(NUM_LEDS-i-j, red, green, blue); } setPixel(NUM_LEDS-i-EyeSize-1, red, blue, green); showStrip(); delay(SpeedDelay); } delay(ReturnDelay); } void showStrip() { strip.show(); } void setPixel(int Pixel, byte red, byte green, byte blue) { strip.setPixelColor(Pixel, strip.Color(red, green, blue)); } void setAll(byte red, byte green, byte blue) { for(int i = 0; i < NUM_LEDS; i++ ) { setPixel(i, red, green, blue); } showStrip(); }