int signals[4][3] = {{13, 9, 5} , {12, 8, 4} , {11, 7, 3}, {10, 6, 2}};
unsigned long previousMillis1 = 0;
unsigned long num = 0;
int interval = 1000;
void setup() {
Serial.begin(9600);
for (int j = 0; j < 4; j++) {
for (int i = 0; i < 3; i++) {
pinMode(signals[j][i], OUTPUT);
}
}
pinMode(A1, INPUT_PULLUP);
}
void loop() {
int on = !digitalRead(A1);
Serial.println(on);
unsigned long currentMillis = millis();
if(currentMillis - previousMillis1 > interval){
previousMillis1 = currentMillis;
num++;
}
if(num == 0){
off();
green(1);
red(2);
red(3);
red(4);
}
if(num == 2){
off();
yellow(1);
red(2);
red(3);
red(4);
}
if(num == 4){
off();
red(1);
green(2);
red(3);
red(4);
}
if(num == 6){
off();
red(1);
yellow(2);
red(3);
red(4);
}
if(num == 8){
off();
red(1);
red(2);
green(3);
red(4);
}
if(num == 10){
off();
red(1);
red(2);
yellow(3);
red(4);
}
if(num == 12){
off();
red(1);
red(2);
red(3);
green(4);
}
if(num == 14){
off();
red(1);
red(2);
red(3);
yellow(4);
}
if(num == 16){
num = 0;
}
}
void off(){
for (int j = 0; j < 4; j++) {
for (int i = 0; i < 3; i++) {
digitalWrite(signals[j][i], LOW);
}
}
}
void red(int num) {
digitalWrite(signals[num - 1][0], HIGH);
}
void yellow(int num) {
digitalWrite(signals[num - 1][1], HIGH);
}
void green(int num) {
digitalWrite(signals[num - 1][2], HIGH);
}