#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h> // Required for 16 MHz Adafruit Trinket
#endif
#define PIN_NEO_PIXEL 2 // Arduino pin that connects to NeoPixel
#define NUM_PIXELS 9 // The number of LEDs (pixels) on NeoPixel
Adafruit_NeoPixel NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL, NEO_GRB + NEO_KHZ800);
int DELAY_INTERVAL = 500;
int DELAY_1 = 5;
int DELAY_2 = 250;
int DELAY_LINE = 500;
void setup() {
NeoPixel.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
}
void pixel_on(int _neo, int _col) {
switch (_col) {
case 1: NeoPixel.setPixelColor(_neo, NeoPixel.Color(255, 0, 0)); break;
case 2: NeoPixel.setPixelColor(_neo, NeoPixel.Color(0, 255, 0)); break;
case 3: NeoPixel.setPixelColor(_neo, NeoPixel.Color(0, 0, 255)); break;
}
NeoPixel.show();
}
void pixel_off(int _neo_off) {
if (_neo_off == 9) {
for (int _pixel = 0; _pixel <= 8; _pixel++) {
NeoPixel.setPixelColor(_pixel, NeoPixel.Color(0, 0, 0));
NeoPixel.show();
}
}
else {
NeoPixel.setPixelColor(_neo_off, NeoPixel.Color(0, 0, 0));
NeoPixel.show();
}
}
void loop() {
pixel_on(2, 1); delay(DELAY_LINE);
pixel_off(2);
pixel_on(1, 2);
pixel_on(5, 2); delay(DELAY_LINE);
pixel_off(1);
pixel_off(5); //delay(1000);
pixel_on(0, 3);
pixel_on(4, 3);
pixel_on(8, 3); delay(DELAY_LINE);
pixel_off(0);
pixel_off(4);
pixel_off(8); //delay(1000);
pixel_on(3, 3);
pixel_on(7, 3); delay(DELAY_LINE);
pixel_off(3);
pixel_off(7); //delay(1000);
pixel_on(6, 1); delay(DELAY_LINE);
pixel_off(6);
for (int _pixel = 0; _pixel <= 8; _pixel++) {
NeoPixel.setPixelColor(_pixel, NeoPixel.Color(255, 0, 0));
NeoPixel.show();
delay(250); // pause between each pixel
}
for (int _pixel = 8; _pixel >= 0; _pixel--) {
NeoPixel.setPixelColor(_pixel, NeoPixel.Color(0, 255, 0));
NeoPixel.show();
delay(250); // pause between each pixel
}
for (int _pixel = 2; _pixel <= 8; _pixel+=3) {
NeoPixel.setPixelColor(_pixel, NeoPixel.Color(0, 255, 255));
NeoPixel.show();
//delay(250); // pause between each pixel
}
delay(DELAY_LINE);
for (int _pixel = 1; _pixel <= 7; _pixel+=3) {
NeoPixel.setPixelColor(_pixel, NeoPixel.Color(0, 255, 255));
NeoPixel.show();
//delay(250); // pause between each pixel
}
delay(DELAY_LINE);
for (int _pixel = 0; _pixel <= 6; _pixel+=3) {
NeoPixel.setPixelColor(_pixel, NeoPixel.Color(0, 255, 255));
NeoPixel.show();
//delay(250); // pause between each pixel
}
delay(DELAY_LINE);
pixel_off(9);
pixel_on(8, 3); pixel_on(7, 3); pixel_on(6, 3);
delay(DELAY_LINE);
pixel_off(8); pixel_off(7); pixel_off(6);
pixel_on(5, 3); pixel_on(4, 3); pixel_on(3, 3);
delay(DELAY_LINE);
pixel_off(5); pixel_off(4); pixel_off(3);
pixel_on(2, 3); pixel_on(1, 3); pixel_on(0, 3);
delay(DELAY_LINE);
pixel_off(2); pixel_off(1); pixel_off(0);
// pixel_off(1);
// pixel_off(5);
}
// delay(DELAY_INTERVAL);
// for (int fade = 255; fade > 0; fade--) {
// NeoPixel.setPixelColor(0, NeoPixel.Color(fade, 255 - fade, 0));
// NeoPixel.show();
// delay(DELAY_1);
// }
// for (int fade = 255; fade > 0; fade--) {
// NeoPixel.setPixelColor(0, NeoPixel.Color(0, fade, 255 - fade));
// NeoPixel.show();
// delay(DELAY_1);
// }
// for (int fade = 255; fade > 0; fade--) {
// NeoPixel.setPixelColor(0, NeoPixel.Color(255 - fade, 0, fade));
// NeoPixel.show();
// delay(DELAY_1);
// }