int REDpins[] = {2, 3, 4};
int GREENpins[] = {5, 6, 7};
int BLUEpins[] = {8, 9, 10};
int YELLOWpins[] = {11, 12, 13};
int switchPin = 0;
//volatile boolean power = false;
void setup() {
// put your setup code here, to run once:
int index;
for (index = 0; index <= 2; index++) {
pinMode(REDpins[index], OUTPUT);
pinMode(GREENpins[index], OUTPUT);
pinMode(BLUEpins[index], OUTPUT);
pinMode(YELLOWpins[index], OUTPUT);
}
pinMode(switchPin, INPUT);
//attachInterrupt(switchPin, powercontrol, CHANGE);
}
void loop() {
// put your main code here, to run repeatedly:
if (digitalRead(switchPin) == LOW) {
wave();
wave();
steppingstone();
steppingstone();
colors();
colors();
}
else if (digitalRead(switchPin) == HIGH) {
delay(5);
}
// if (power == true) {
// wave();
// wave();
// steppingstone();
// steppingstone();
// colors();
// colors();
// }
//
// else if (power == false) {
// delayMicroseconds(5);
// }
}
//void powercontrol() {
// if (digitalRead(switchPin) == LOW) {
// power = true;
// }
//
// else if (digitalRead(switchPin) == HIGH) {
// power = false;
// }
//}
void wave() {
int index;
int delayTime = 100;
//turn RED pins on
for (index = 0; index <= 2; index++) {
digitalWrite(REDpins[index], HIGH);
delay(delayTime);
}
//turn GREEN pins on
for (index = 0; index <= 2; index++) {
digitalWrite(GREENpins[index], HIGH);
delay(delayTime);
}
//turn BLUE pins on
for (index = 0; index <= 2; index++) {
digitalWrite(BLUEpins[index], HIGH);
delay(delayTime);
}
//turn YELLOW pins on
for (index = 0; index <= 2; index++) {
digitalWrite(YELLOWpins[index], HIGH);
delay(delayTime);
}
//turn RED pins off
for (index = 0; index <= 2; index++) {
digitalWrite(REDpins[index], LOW);
delay(delayTime);
}
//turn GREEN pins off
for (index = 0; index <= 2; index++) {
digitalWrite(GREENpins[index], LOW);
delay(delayTime);
}
//turn BLUE pins off
for (index = 0; index <= 2; index++) {
digitalWrite(BLUEpins[index], LOW);
delay(delayTime);
}
//turn YELLOW pins off
for (index = 0; index <= 2; index++) {
digitalWrite(YELLOWpins[index], LOW);
delay(delayTime);
}
//turn YELLOW pins on
for (index = 2; index >= 0; index--) {
digitalWrite(YELLOWpins[index], HIGH);
delay(delayTime);
}
//turn BLUE pins on
for (index = 2; index >= 0; index--) {
digitalWrite(BLUEpins[index], HIGH);
delay(delayTime);
}
//turn GREEN pins on
for (index = 2; index >= 0; index--) {
digitalWrite(GREENpins[index], HIGH);
delay(delayTime);
}
//turn RED pins on
for (index = 2; index >= 0; index--) {
digitalWrite(REDpins[index], HIGH);
delay(delayTime);
}
//turn YELLOW pins off
for (index = 2; index >= 0; index--) {
digitalWrite(YELLOWpins[index], LOW);
delay(delayTime);
}
//turn BLUE pins off
for (index = 2; index >= 0; index--) {
digitalWrite(BLUEpins[index], LOW);
delay(delayTime);
}
//turn GREEN pins off
for (index = 2; index >= 0; index--) {
digitalWrite(GREENpins[index], LOW);
delay(delayTime);
}
//turn RED pins off
for (index = 2; index >= 0; index--) {
digitalWrite(REDpins[index], LOW);
delay(delayTime);
}
}
void steppingstone() {
int index;
int delayTime(100);
//turn RED pins on then off
for (index = 0; index <= 2; index++) {
digitalWrite(REDpins[index], HIGH);
delay(delayTime);
digitalWrite(REDpins[index], LOW);
}
//turn GREEN pins on then off
for (index = 0; index <= 2; index++) {
digitalWrite(GREENpins[index], HIGH);
delay(delayTime);
digitalWrite(GREENpins[index], LOW);
}
//turn BLUE pins on then off
for (index = 0; index <= 2; index++) {
digitalWrite(BLUEpins[index], HIGH);
delay(delayTime);
digitalWrite(BLUEpins[index], LOW);
}
//turn YELLOW pins on then off
for (index = 0; index <= 2; index++) {
digitalWrite(YELLOWpins[index], HIGH);
delay(delayTime);
digitalWrite(YELLOWpins[index], LOW);
}
//turn YELLOW pins on then off
for (index = 2; index >= 0; index--) {
digitalWrite(YELLOWpins[index], HIGH);
delay(delayTime);
digitalWrite(YELLOWpins[index], LOW);
}
//turn BLUE pins on then off
for (index = 2; index >= 0; index--) {
digitalWrite(BLUEpins[index], HIGH);
delay(delayTime);
digitalWrite(BLUEpins[index], LOW);
}
//turn GREEN pins on then off
for (index = 2; index >= 0; index--) {
digitalWrite(GREENpins[index], HIGH);
delay(delayTime);
digitalWrite(GREENpins[index], LOW);
}
//turn RED pins on then off
for (index = 2; index >= 0; index--) {
digitalWrite(REDpins[index], HIGH);
delay(delayTime);
digitalWrite(REDpins[index], LOW);
}
}
void colors() {
int index;
int delayTime(500);
for (index = 0; index <= 2; index++) {
digitalWrite(REDpins[index], HIGH);
}
delay(delayTime / 2);
for (index = 0; index <= 2; index++) {
digitalWrite(REDpins[index], LOW);
}
for (index = 0; index <= 2; index++) {
digitalWrite(GREENpins[index], HIGH);
}
delay(delayTime);
for (index = 0; index <= 2; index++) {
digitalWrite(GREENpins[index], LOW);
}
for (index = 0; index <= 2; index++) {
digitalWrite(BLUEpins[index], HIGH);
}
delay(delayTime);
for (index = 0; index <= 2; index++) {
digitalWrite(BLUEpins[index], LOW);
}
for (index = 0; index <= 2; index++) {
digitalWrite(YELLOWpins[index], HIGH);
}
delay(delayTime / 2);
for (index = 0; index <= 2; index++) {
digitalWrite(YELLOWpins[index], LOW);
}
for (index = 0; index <= 2; index++) {
digitalWrite(YELLOWpins[index], HIGH);
}
delay(delayTime / 2);
for (index = 0; index <= 2; index++) {
digitalWrite(YELLOWpins[index], LOW);
}
for (index = 0; index <= 2; index++) {
digitalWrite(BLUEpins[index], HIGH);
}
delay(delayTime);
for (index = 0; index <= 2; index++) {
digitalWrite(BLUEpins[index], LOW);
}
for (index = 0; index <= 2; index++) {
digitalWrite(GREENpins[index], HIGH);
}
delay(delayTime);
for (index = 0; index <= 2; index++) {
digitalWrite(GREENpins[index], LOW);
}
for (index = 0; index <= 2; index++) {
digitalWrite(REDpins[index], HIGH);
}
delay(delayTime);
for (index = 0; index <= 2; index++) {
digitalWrite(REDpins[index], LOW);
}
}