// Definisikan pin LED untuk masing-masing lampu lalu lintas
const int lampuMerah1 = 2;
const int lampuKuning1 = 3;
const int lampuHijau1 = 4;
const int lampuMerah2 = 5;
const int lampuKuning2 = 6;
const int lampuHijau2 = 7;
const int lampuMerah3 = 8;
const int lampuKuning3 = 9;
const int lampuHijau3 = 10;
const int lampuMerah4 = 11;
const int lampuKuning4 = 12;
const int lampuHijau4 = 13;
// Waktu (dalam milidetik) untuk setiap fase lampu lalu lintas
const unsigned long waktuMerah = 3000; // 5 detik
const unsigned long waktuKuning = 3000; // 2 detik
const unsigned long waktuHijau = 3000; // 5 detik
void setup() {
// Set pin sebagai OUTPUT
pinMode(lampuMerah1, OUTPUT);
pinMode(lampuKuning1, OUTPUT);
pinMode(lampuHijau1, OUTPUT);
pinMode(lampuMerah2, OUTPUT);
pinMode(lampuKuning2, OUTPUT);
pinMode(lampuHijau2, OUTPUT);
pinMode(lampuMerah3, OUTPUT);
pinMode(lampuKuning3, OUTPUT);
pinMode(lampuHijau3, OUTPUT);
pinMode(lampuMerah4, OUTPUT);
pinMode(lampuKuning4, OUTPUT);
pinMode(lampuHijau4, OUTPUT);
}
void loop() {
//(1) - Lampu merah, lampu hijau lainnya
digitalWrite(lampuMerah1, LOW);
digitalWrite(lampuKuning1, LOW);
digitalWrite(lampuHijau1, HIGH);
digitalWrite(lampuMerah2,HIGH);
digitalWrite(lampuKuning2, LOW);
digitalWrite(lampuHijau2,LOW);
digitalWrite(lampuMerah3, HIGH);
digitalWrite(lampuKuning3, LOW);
digitalWrite(lampuHijau3, LOW);
digitalWrite(lampuMerah4, HIGH);
digitalWrite(lampuKuning4, LOW);
digitalWrite(lampuHijau4, LOW);
delay(3000);
// (2) - Lampu kuning, lampu merah lainnya
digitalWrite(lampuMerah1, LOW);
digitalWrite(lampuKuning1, HIGH);
digitalWrite(lampuHijau1, LOW);
digitalWrite(lampuMerah2, HIGH);
digitalWrite(lampuKuning2,HIGH);
digitalWrite(lampuHijau2, LOW);
digitalWrite(lampuMerah3,HIGH);
digitalWrite(lampuKuning3, LOW);
digitalWrite(lampuHijau3,LOW);
digitalWrite(lampuMerah4, HIGH);
digitalWrite(lampuKuning4, LOW);
digitalWrite(lampuHijau4, LOW);
delay(3000);
// (3) - Lampu hijau, lampu merah lainnya
digitalWrite(lampuMerah1, HIGH);
digitalWrite(lampuKuning1, LOW);
digitalWrite(lampuHijau1, LOW);
digitalWrite(lampuMerah2, LOW);
digitalWrite(lampuKuning2,LOW);
digitalWrite(lampuHijau2, HIGH);
digitalWrite(lampuMerah3, HIGH);
digitalWrite(lampuKuning3, LOW);
digitalWrite(lampuHijau3, LOW);
digitalWrite(lampuMerah4,HIGH);
digitalWrite(lampuKuning4, LOW);
digitalWrite(lampuHijau4, LOW);
delay(3000);
// (4) - Lampu hijau, lampu merah lainnya
digitalWrite(lampuMerah1, HIGH);
digitalWrite(lampuKuning1, LOW);
digitalWrite(lampuHijau1, LOW);
digitalWrite(lampuMerah2, LOW);
digitalWrite(lampuKuning2,HIGH);
digitalWrite(lampuHijau2, LOW);
digitalWrite(lampuMerah3, HIGH);
digitalWrite(lampuKuning3, HIGH);
digitalWrite(lampuHijau3, LOW);
digitalWrite(lampuMerah4,HIGH);
digitalWrite(lampuKuning4, LOW);
digitalWrite(lampuHijau4, LOW);
delay(3000);
// (5) - Lampu hijau, lampu merah lainnya
digitalWrite(lampuMerah1, HIGH);
digitalWrite(lampuKuning1, LOW);
digitalWrite(lampuHijau1, LOW);
digitalWrite(lampuMerah2, HIGH);
digitalWrite(lampuKuning2,LOW);
digitalWrite(lampuHijau2, LOW);
digitalWrite(lampuMerah3,LOW);
digitalWrite(lampuKuning3, LOW);
digitalWrite(lampuHijau3, HIGH);
digitalWrite(lampuMerah4,HIGH);
digitalWrite(lampuKuning4, LOW);
digitalWrite(lampuHijau4, LOW);
delay(3000);
// (6) - Lampu hijau, lampu merah lainnya
digitalWrite(lampuMerah1, HIGH);
digitalWrite(lampuKuning1, LOW);
digitalWrite(lampuHijau1, LOW);
digitalWrite(lampuMerah2,HIGH);
digitalWrite(lampuKuning2,LOW);
digitalWrite(lampuHijau2, LOW);
digitalWrite(lampuMerah3,LOW);
digitalWrite(lampuKuning3, HIGH);
digitalWrite(lampuHijau3, LOW);
digitalWrite(lampuMerah4,HIGH);
digitalWrite(lampuKuning4, HIGH);
digitalWrite(lampuHijau4, LOW);
delay(3000);
// (7) - Lampu hijau, lampu merah lainnya
digitalWrite(lampuMerah1, HIGH);
digitalWrite(lampuKuning1, LOW);
digitalWrite(lampuHijau1, LOW);
digitalWrite(lampuMerah2, HIGH);
digitalWrite(lampuKuning2,LOW);
digitalWrite(lampuHijau2, LOW);
digitalWrite(lampuMerah3, HIGH);
digitalWrite(lampuKuning3, LOW);
digitalWrite(lampuHijau3, LOW);
digitalWrite(lampuMerah4,LOW);
digitalWrite(lampuKuning4, LOW);
digitalWrite(lampuHijau4, HIGH);
delay(3000);
// (8) - Lampu hijau, lampu merah lainnya
digitalWrite(lampuMerah1, HIGH);
digitalWrite(lampuKuning1, HIGH);
digitalWrite(lampuHijau1, LOW);
digitalWrite(lampuMerah2, LOW);
digitalWrite(lampuKuning2,LOW);
digitalWrite(lampuHijau2, HIGH);
digitalWrite(lampuMerah3, HIGH);
digitalWrite(lampuKuning3, LOW);
digitalWrite(lampuHijau3, LOW);
digitalWrite(lampuMerah4,LOW);
digitalWrite(lampuKuning4, HIGH);
digitalWrite(lampuHijau4, LOW);
delay(3000);
}