//Nasser Saad Amer Al-Bishee || 441015535
//iteration 1:
int buttonPin=2;
int stopRedPin=12;
int stopYellowPin=11;
int stopGreenPin=10;
int pedRedPin=9;
int pedGreenPin=8;
long pedLightTimer;
bool buttonState=LOW;
int timeout=5000;
void setup()
{
pinMode(stopRedPin,OUTPUT);
pinMode(stopYellowPin,OUTPUT);
pinMode(stopGreenPin,OUTPUT);
pinMode(pedRedPin,OUTPUT);
pinMode(pedGreenPin,OUTPUT);
pinMode(buttonPin,INPUT);
digitalWrite(stopGreenPin,HIGH);
digitalWrite(pedRedPin,HIGH);
}
void loop()
{
//delay(5000);
//stoplight();
buttonState=digitalRead(buttonPin);
if(buttonState==HIGH && (millis()-pedLightTimer)>timeout)
{
stoplight();
}
}
void stoplight()
{
digitalWrite(stopGreenPin,LOW);
digitalWrite(stopYellowPin,HIGH);
delay(2000);
digitalWrite(stopYellowPin,LOW);
digitalWrite(stopRedPin,HIGH);
pedestrion();
}
void pedestrion()
{
digitalWrite(pedRedPin,LOW);
digitalWrite(pedGreenPin,HIGH);
delay(5000);
digitalWrite(pedGreenPin,LOW);
for(int x=0;x<10;x++)
{
digitalWrite(pedGreenPin,HIGH);
digitalWrite(stopRedPin,HIGH);
delay(250);
digitalWrite(pedGreenPin,LOW);
digitalWrite(stopRedPin,LOW);
delay(250);
}
digitalWrite(pedRedPin,HIGH);
digitalWrite(stopGreenPin,HIGH);
digitalWrite(stopRedPin,LOW);
pedLightTimer=millis();
}