#define REDCARS 22
#define YELLOWCARS 26
#define GREENCARS 30
#define GREENPEDESTRIANS 38
#define REDPEDESTRIANS 40
#define SIGNAL 48
#define BUTTON 52
void setup()
{
pinMode(REDCARS,OUTPUT);
pinMode(YELLOWCARS,OUTPUT);
pinMode(GREENCARS,OUTPUT);
pinMode(REDPEDESTRIANS,OUTPUT);
pinMode(GREENPEDESTRIANS,OUTPUT);
pinMode(SIGNAL,OUTPUT);
pinMode(BUTTON,INPUT_PULLUP);
digitalWrite(REDCARS,LOW);
digitalWrite(YELLOWCARS,LOW);
digitalWrite(GREENCARS,HIGH);
digitalWrite(REDPEDESTRIANS,HIGH);
digitalWrite(GREENPEDESTRIANS,LOW);
digitalWrite(SIGNAL,LOW);
}
void loop()
{
if(digitalRead(BUTTON)==LOW)
{
digitalWrite(SIGNAL,HIGH);
delay(5000);
digitalWrite(YELLOWCARS,HIGH);
digitalWrite(GREENCARS,LOW);
delay(2000);
digitalWrite(YELLOWCARS,LOW);
digitalWrite(REDCARS, HIGH);
digitalWrite(SIGNAL,LOW);
digitalWrite(REDPEDESTRIANS,LOW);
digitalWrite(GREENPEDESTRIANS,HIGH);
delay(10000);
for(int i = 0;i<3;i++)
{
digitalWrite(GREENPEDESTRIANS,LOW);
delay(1000);
digitalWrite(GREENPEDESTRIANS,HIGH);
delay(1000);
}
digitalWrite(GREENPEDESTRIANS,LOW);
digitalWrite(REDPEDESTRIANS,HIGH);
digitalWrite(REDCARS, LOW);
digitalWrite(GREENCARS,HIGH);
}
}