enum {WHITE, RED, BLUE, GREEN, YELLOW};
int onOff = 1000;
enum {BLUE_WIRE = 10, ORANGE_WIRE, GREEN_WIRE};
void setup() {
Serial.begin(115200);
}
void loop() {
lights(WHITE);
delay(onOff);
lights(RED);
delay(onOff);
lights(BLUE);
delay(onOff);
lights(GREEN);
delay(onOff);
lights(YELLOW);
delay(onOff);
}
void lights(int light) {
switch (light) {
case WHITE:
Serial.println("WHITE");
flash(BLUE_WIRE, GREEN_WIRE);
break;
case RED:
Serial.println("RED");
flash(BLUE_WIRE, ORANGE_WIRE);
break;
case BLUE:
Serial.println("BLUE");
flash(ORANGE_WIRE, BLUE_WIRE);
break;
case GREEN:
Serial.println("GREEN");
flash(ORANGE_WIRE, GREEN_WIRE);
break;
case YELLOW:
Serial.println("YELLOW");
flash(GREEN_WIRE, ORANGE_WIRE);
break;
default:
Serial.println("Missed it");
}
}
void flash(int pos, int neg) {
for (int i = BLUE_WIRE; i <= GREEN_WIRE; i++) {
pinMode(i, INPUT);
}
for (int i = BLUE_WIRE; i <= GREEN_WIRE; i++) {
if (i == pos) {
pinMode(i, OUTPUT);
digitalWrite(i, HIGH);
Serial.print(i); Serial.println(" HIGH");
} else if (i == neg) {
pinMode(i, OUTPUT);
digitalWrite(i, LOW);
Serial.print(i); Serial.println( " LOW");
}
else {
pinMode(i, INPUT);
Serial.print(i); Serial.println( " INPUT");
}
}
Serial.flush();
delay(onOff);
for (int i = 10; i < 13; i++) {
pinMode(i, INPUT);
}
Serial.println("");
}