//Simulasi Lampu Lalu Lintas 4 Simpang Sederhana
int pb1 = A1;//jalan 1
int G1 = 1;
int Y1 = 2;
int R1 = 3;
int pb2 = A2;//jalan 2
int G2 = 4;
int Y2 = 5;
int R2 = 6;
int pb3 = A3;//jalan 3
int G3 = 7;
int Y3 = 8;
int R3 = 9;
int pb4 = A4;//jalan 4
int G4 = 10;
int Y4 = 11;
int R4 = 12;
void setup()
{
pinMode(pb1, INPUT);
pinMode(G1,OUTPUT);
pinMode(Y1,OUTPUT);
pinMode(R1,OUTPUT);
pinMode(pb2, INPUT);
pinMode(G2,OUTPUT);
pinMode(Y2,OUTPUT);
pinMode(R2,OUTPUT);
pinMode(pb3, INPUT);
pinMode(G3,OUTPUT);
pinMode(Y3,OUTPUT);
pinMode(R3,OUTPUT);
pinMode(pb4, INPUT);
pinMode(G4,OUTPUT);
pinMode(Y4,OUTPUT);
pinMode(R4,OUTPUT);
digitalWrite(R1, HIGH);
digitalWrite(R2, HIGH);
digitalWrite(R3, HIGH);
digitalWrite(R4, HIGH);
}
void loop()
{
if (pb1 == HIGH)
{
//jalan 1
digitalWrite(R1, LOW);
digitalWrite(Y1, HIGH);
delay(500);
digitalWrite(Y1, LOW);
digitalWrite(G1, HIGH);
delay(2500);
digitalWrite(G1, LOW);
digitalWrite(Y1, HIGH);
delay(500);
digitalWrite(Y1, LOW);
digitalWrite(R1, HIGH);
}
if (pb2 == HIGH)
{
digitalWrite(R2, LOW);
digitalWrite(Y2, HIGH);
delay(500);
digitalWrite(Y2, LOW);
digitalWrite(G2, HIGH);
delay(2500);
digitalWrite(G2, LOW);
digitalWrite(Y2, HIGH);
delay(500);
digitalWrite(Y2, LOW);
digitalWrite(R2, HIGH);
}
if (pb3 == HIGH)
{
digitalWrite(R3, LOW);
digitalWrite(Y3, HIGH);
delay(500);
digitalWrite(Y3, LOW);
digitalWrite(G3, HIGH);
delay(2500);
digitalWrite(G3, LOW);
digitalWrite(Y3, HIGH);
delay(500);
digitalWrite(Y3, LOW);
digitalWrite(R3, HIGH);
}
if (pb4 == HIGH)
{
digitalWrite(R4, LOW);
digitalWrite(Y4, HIGH);
delay(500);
digitalWrite(Y4, LOW);
digitalWrite(G4, HIGH);
delay(2500);
digitalWrite(G4, LOW);
digitalWrite(Y4, HIGH);
delay(500);
digitalWrite(Y4, LOW);
digitalWrite(R4, HIGH);
}
}