// Program Simulasi Simpang APILL
void setup() {
pinMode(2, OUTPUT); // simpang satu, lampu hijau
pinMode(3, OUTPUT); // simpang satu, lampu kuning
pinMode(4, OUTPUT); // simpang satu, lampu merah
pinMode(5, OUTPUT); // simpang dua, lampu hijau
pinMode(6, OUTPUT); // simpang dua, lampu kuning
pinMode(7, OUTPUT); // simpang dua, lampu merah
pinMode(8, OUTPUT); // simpang tiga, lampu hijau
pinMode(9, OUTPUT); // simpang tiga, lampu kuning
pinMode(10, OUTPUT); // simpang tiga, lampu merah
pinMode(11, OUTPUT); // simpang empat, lampu hijau
pinMode(12, OUTPUT); // simpang empat, lampu kuning
pinMode(13, OUTPUT); // simpang empat, lampu merah
}
void loop() {
// put your main code here, to run repeatedly:
simpang_satu(); // setting simpang 1
simpang_dua(); // setting simpang 2
simpang_tiga(); // setting simpang 3
simpang_empat(); // setting simpang 4
}
void simpang_satu() {
digitalWrite(4, HIGH); // lampu merah hidup
delay(3000); // selama 3 detik
digitalWrite(4, LOW); // lampu merah mati
digitalWrite(3, HIGH); // lampu kuning hidup
delay(1000); // selama 1 detik
digitalWrite(3, LOW); // lampu kunng mati
digitalWrite(2, HIGH); // lampu hijau hidup
delay(2500); // selama 2,5 detik
digitalWrite(2, LOW); // lampu hijau mati
digitalWrite(4, HIGH); // lampu merah hidup
}
void simpang_dua() {
digitalWrite(7, HIGH); // lampu merah hidup
delay(3000); // selama 3 detik
digitalWrite(7, LOW); // lampu merah mati
digitalWrite(6, HIGH); // lampu kuning hidup
delay(1000); // selama 1 detik
digitalWrite(6, LOW); // lampu kunng mati
digitalWrite(5, HIGH); // lampu hijau hidup
delay(2500); // selama 2,5 detik
digitalWrite(5, LOW); // lampu hijau mati
digitalWrite(7, HIGH); // lampu merah hidup
}
void simpang_tiga() {
digitalWrite(10, HIGH); // lampu merah hidup
delay(3000); // selama 3 detik
digitalWrite(10, LOW); // lampu merah mati
digitalWrite(9, HIGH); // lampu kuning hidup
delay(1000); // selama 1 detik
digitalWrite(9, LOW); // lampu kunng mati
digitalWrite(8, HIGH); // lampu hijau hidup
delay(2500); // selama 2,5 detik
digitalWrite(8, LOW); // lampu hijau mati
digitalWrite(10, HIGH); // lampu merah hidup
}
void simpang_empat() {
digitalWrite(13, HIGH); // lampu merah hidup
delay(3000); // selama 3 detik
digitalWrite(13, LOW); // lampu merah mati
digitalWrite(12, HIGH); // lampu kuning hidup
delay(1000); // selama 1 detik
digitalWrite(12, LOW); // lampu kunng mati
digitalWrite(11, HIGH); // lampu hijau hidup
delay(2500); // selama 2,5 detik
digitalWrite(11, LOW); // lampu hijau mati
digitalWrite(13, HIGH); // lampu merah hidup
}