bool red_on1;
bool yellow_on;
bool green_on1;
bool red_on2;
bool green_on2;
bool button_val;
int button_pin = 0;
bool button_on = 0;
long currentTime, lastTime;
void setup() {
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(0, INPUT_PULLUP);
}
void loop() {
currentTime = millis();
long diff = currentTime - lastTime;
button_val = digitalRead(button_pin);
if(button_val == LOW){
button_on = 1;
}
if(button_on == 1 && diff > 15000){
lastTime = currentTime;
button_on = 0;
}
if((diff > 0 && diff < 300)||
(diff > 600 && diff < 900)||
(diff > 1200 && diff < 1500)||
(diff > 10000)){
red_on1 = LOW;
green_on1 = HIGH;
red_on2 = HIGH;
}
else {
green_on1 = LOW;
red_on2 = LOW;
}
if(diff > 2000 && diff < 10000){
red_on1 = HIGH;
green_on2 = HIGH;
red_on2 = LOW;
}
else {
red_on1 = LOW;
}
if((diff > 1500 && diff < 2000)||
(diff > 10000 && diff < 10500)){
yellow_on = HIGH;
green_on1 = LOW;
}
else {
yellow_on = LOW;
}
digitalWrite(13, red_on1);
digitalWrite(12, yellow_on);
digitalWrite(11, green_on1);
digitalWrite(10, red_on2);
digitalWrite(9, green_on2);
}