#include <FastLED.h>
const int numLeds = 30;
const int ledStripPin = 6;
CRGB leds[numLeds];
void setup() {
FastLED.addLeds<NEOPIXEL, ledStripPin>(leds, numLeds);
FastLED.setMaxPowerInVoltsAndMilliamps(5, 400);
FastLED.setBrightness(8);
pinMode(2, INPUT_PULLUP);
}
void loop() {
if(digitalRead(2) == LOW) {
firstPattern();
turnAllCyan();
delay(46);
turnAllBlack();
delay(1348);
secondPattern();
delay(93);
turnAllBlack();
delay(277);
thirdPattern();
}
}
void firstPattern () {
leds[29] = CRGB::Red;
FastLED.show();
delay(46);
leds[29] = CRGB::Black;
spamAtTheStart();
FastLED.show();
delay(46);
leds[29] = CRGB::Blue;
leds[28] = CRGB::Red;
FastLED.show();
delay(46);
leds[29] = CRGB::Black;
leds[28] = CRGB::Black;
spamAtTheStart();
FastLED.show();
delay(46);
leds[29] = CRGB::Green;
leds[28] = CRGB::Blue;
leds[27] = CRGB::Red;
FastLED.show();
delay(46);
leds[29] = CRGB::Black;
leds[28] = CRGB::Black;
leds[27] = CRGB::Black;
spamAtTheStart();
FastLED.show();
delay(46);
leds[29] = CRGB::Yellow;
leds[28] = CRGB::Green;
leds[27] = CRGB::Blue;
leds[26] = CRGB::Red;
FastLED.show();
delay(46);
leds[29] = CRGB::Black;
leds[28] = CRGB::Black;
leds[27] = CRGB::Black;
leds[26] = CRGB::Black;
FastLED.show();
delay(46);
endBarFour();
endBarFour();
endBarFour();
endBarFour();
endBarFour();
endBarFour();
endBarFour();
endBarFour();
for(int light=0; light<30; light++) {
leds[light] = CRGB::Black;
}
FastLED.show();
}
void spamAtTheStart () {
leds[0] = CRGB::Black;
FastLED.show();
delay(46);
leds[0] = CRGB::Red;
FastLED.show();
delay(46);
leds[0] = CRGB::Black;
FastLED.show();
delay(46);
leds[0] = CRGB::Red;
FastLED.show();
delay(46);
leds[0] = CRGB::Black;
FastLED.show();
delay(46);
leds[0] = CRGB::Red;
FastLED.show();
delay(46);
leds[0] = CRGB::Black;
FastLED.show();
delay(46);
leds[0] = CRGB::Red;
FastLED.show();
delay(46);
leds[0] = CRGB::Black;
FastLED.show();
delay(46);
leds[0] = CRGB::Red;
FastLED.show();
delay(46);
leds[0] = CRGB::Black;
FastLED.show();
delay(46);
leds[0] = CRGB::Red;
FastLED.show();
delay(46);
leds[0] = CRGB::Black;
FastLED.show();
delay(46);
leds[0] = CRGB::Red;
FastLED.show();
delay(46);
leds[0] = CRGB::Black;
FastLED.show();
delay(46);
leds[0] = CRGB::Red;
FastLED.show();
delay(46);
leds[0] = CRGB::Black;
FastLED.show();
delay(46);
leds[0] = CRGB::Red;
FastLED.show();
delay(46);
leds[0] = CRGB::Black;
FastLED.show();
delay(46);
leds[0] = CRGB::Red;
FastLED.show();
delay(46);
leds[0] = CRGB::Black;
FastLED.show();
delay(46);
}
void endBarFour() {
for (int light=0; light<10; light+=2) {
leds[light] = CRGB::Red;
}
for (int light=1; light<10; light+=2) {
leds[light] = CRGB::Black;
}
FastLED.show();
delay(46);
for (int light=1; light<10; light+=2) {
leds[light] = CRGB::Red;
}
for (int light=0; light<10; light+=2) {
leds[light] = CRGB::Black;
}
FastLED.show();
delay(46);
}
void secondPattern () {
turnAllGreen();
delay(93);
miniPattern();
miniPattern();
miniPattern();
miniPattern();
miniPattern();
miniPattern();
miniPattern();
miniPattern();
miniPattern();
miniPattern();
miniPattern();
turnAllGreen();
delay(93);
miniPattern1();
miniPattern1();
miniPattern1();
miniPattern1();
miniPattern1();
miniPattern1();
miniPattern1();
miniPattern1();
miniPattern1();
miniPattern1();
miniPattern1();
turnAllGreen();
delay(93);
miniPattern2();
miniPattern2();
miniPattern2();
miniPattern2();
miniPattern2();
miniPattern2();
miniPattern2();
miniPattern2();
miniPattern2();
miniPattern2();
miniPattern2();
turnAllGreen();
delay(93);
turnAllBlack();
endOfBar8();
endOfBar8();
endOfBar8();
endOfBar8();
turnAllCyan();
}
void turnAllCyan () {
for (int light=0; light<30; light++) {
leds[light] = CRGB::Aqua;
}
FastLED.show();
}
void turnAllRed () {
for (int light=0; light<30; light++) {
leds[light] = CRGB::Red;
}
FastLED.show();
}
void turnAllBlack () {
for (int light=0; light<30; light++) {
leds[light] = CRGB::Black;
}
FastLED.show();
}
void turnAllGreen () {
for (int light=0; light<30; light++) {
leds[light] = CRGB::Green;
}
FastLED.show();
}
void miniPattern() {
for (int light=0; light<30; light+=2) {
leds[light] = CRGB::Purple;
}
for (int light=1; light<30; light+=2) {
leds[light] = CRGB::Yellow;
}
FastLED.show();
delay(46);
for (int light=1; light<30; light+=2) {
leds[light] = CRGB::Purple;
}
for (int light=0; light<30; light+=2) {
leds[light] = CRGB::Yellow;
}
FastLED.show();
delay(46);
}
void miniPattern1() {
for (int light=0; light<30; light+=2) {
leds[light] = CRGB::Purple;
}
for (int light=1; light<30; light+=2) {
leds[light] = CRGB::Black;
}
FastLED.show();
delay(46);
for (int light=1; light<30; light+=2) {
leds[light] = CRGB::Purple;
}
for (int light=0; light<30; light+=2) {
leds[light] = CRGB::Black;
}
FastLED.show();
delay(46);
}
void miniPattern2() {
for (int light=0; light<30; light+=2) {
leds[light] = CRGB::Yellow;
}
for (int light=1; light<30; light+=2) {
leds[light] = CRGB::Black;
}
FastLED.show();
delay(46);
for (int light=1; light<30; light+=2) {
leds[light] = CRGB::Yellow;
}
for (int light=0; light<30; light+=2) {
leds[light] = CRGB::Black;
}
FastLED.show();
delay(46);
}
void endOfBar8() {
for (int light = 0; light <30; light++) {
if (light == 9 || light == 19) {
leds[light] = CRGB::Red;
} else {
leds[light] = CRGB::Black;
}
}
FastLED.show();
delay(93);
turnAllBlack();
for (int light = 0; light<30; light++) {
if (light == 10 || light == 18) {
leds[light] = CRGB::Red;
} else {
leds[light] = CRGB::Black;
}
}
FastLED.show();
delay(93);
turnAllBlack();
}
void thirdPattern() {
turnAllGreen();
delay(93);
turnAllBlack();
miniPattern3();
turnAllGreen();
delay(93);
turnAllBlack();
randomthing();
randomthing();
randomthing();
randomthing();
randomthing();
randomthing();
randomthing();
randomthing();
randomthing();
randomthing();
randomthing();
turnAllGreen();
delay(93);
turnAllBlack();
up();
turnAllGreen();
delay(93);
turnAllBlack();
up2();
turnAllGreen();
delay(93);
turnAllBlack();
goingOut();
goingIn();
turnAllGreen();
delay(93);
turnAllBlack();
allOnAndOff();
turnAllGreen();
delay(93);
}
void miniPattern3() {
for (int light=0; light<11; light++) {
leds[light] = CRGB::Red;
leds[29-light] = CRGB::Yellow;
FastLED.show();
delay(93);
}
}
void randomthing () {
int randomNumberTimes = 0;
int randomNumber = random(0, 30);
leds[randomNumber] = CRGB::Red;
leds[randomNumber+1] = CRGB::Blue;
leds[randomNumber+2] = CRGB::Red;
FastLED.show();
delay(46);
for (int light=0; light<30; light++) {
leds[light] = CRGB::Black;
}
FastLED.show();
delay(46);
}
void up() {
for (int light=4; light<26; light+=2) {
leds[light] = CRGB::Red;
FastLED.show();
delay(93);
}
}
void up2() {
for (int light=4; light<26; light+=2) {
leds[light] = CRGB::Yellow;
FastLED.show();
delay(93);
}
}
void goingOut() {
for (int light=0; light<15; light+=2) {
leds[14-light] = CRGB::Red;
leds[15+light] = CRGB::Yellow;
FastLED.show();
delay(93);
}
}
void goingIn() {
leds[2] = CRGB::Blue;
leds[28] = CRGB::Blue;
FastLED.show();
delay(93);
leds[2] = CRGB::Black;
leds[28] = CRGB::Black;
FastLED.show();
delay(93);
leds[2] = CRGB::Blue;
leds[28] = CRGB::Blue;
FastLED.show();
delay(46);
leds[2] = CRGB::Black;
leds[28] = CRGB::Black;
FastLED.show();
delay(46);
}
void allOnAndOff() {
turnAllGreen();
delay(93);
turnAllBlack();
delay(93);
turnAllCyan();
delay(93);
turnAllBlack();
delay(93);
turnAllRed();
delay(93);
turnAllBlack();
delay(93);
turnAllGreen();
delay(93);
turnAllBlack();
delay(93);
turnAllCyan();
delay(93);
turnAllBlack();
delay(93);
turnAllRed();
delay(93);
turnAllBlack();
delay(93);
}