// Arah A
const int ledMe1 = 25;
const int ledKu1 = 26;
const int ledHi1 = 27;
// Arah B
const int ledMe2 = 23;
const int ledKu2 = 22;
const int ledHi2 = 21;
// Arah C
const int ledMe3 = 19;
const int ledKu3 = 18;
const int ledHi3 = 5;
const int durasiMe = 5000;
const int durasiKu = 2000;
const int durasiHi = 5000;
void setup()
{
pinMode(ledMe1, OUTPUT);
pinMode(ledKu1, OUTPUT);
pinMode(ledHi1, OUTPUT);
pinMode(ledMe2, OUTPUT);
pinMode(ledKu2, OUTPUT);
pinMode(ledHi2, OUTPUT);
pinMode(ledMe3, OUTPUT);
pinMode(ledKu3, OUTPUT);
pinMode(ledHi3, OUTPUT);
}
void loop(){
kontrolLaluLintas(ledMe1, ledKu1, ledHi1, ledMe2, ledKu2, ledHi2, ledMe3, ledKu3, ledHi3);
}
void kontrolLaluLintas(int merah1, int kuning1, int hijau1, int merah2, int kuning2, int hijau2, int merah3, int kuning3, int hijau3) {
// Arah A Hijau, Arah B dan C Merah
digitalWrite(hijau1, HIGH);
digitalWrite(kuning1, LOW);
digitalWrite(merah1, LOW);
digitalWrite(hijau2, LOW);
digitalWrite(kuning2, LOW);
digitalWrite(merah2, HIGH);
digitalWrite(hijau3, LOW);
digitalWrite(kuning3, LOW);
digitalWrite(merah3, HIGH);
delay(durasiHi);
// Arah A Kuning, Arah B dan C Merah
digitalWrite(hijau1, LOW);
digitalWrite(kuning1, HIGH);
digitalWrite(merah1, LOW);
digitalWrite(hijau2, LOW);
digitalWrite(kuning2, LOW);
digitalWrite(merah2, HIGH);
digitalWrite(hijau3, LOW);
digitalWrite(kuning3, LOW);
digitalWrite(merah3, HIGH);
delay(durasiKu);
// Arah A Merah, Arah B Hijau, Arah C Merah
digitalWrite(hijau1, LOW);
digitalWrite(kuning1, LOW);
digitalWrite(merah1, HIGH);
digitalWrite(hijau2, HIGH);
digitalWrite(kuning2, LOW);
digitalWrite(merah2, LOW);
digitalWrite(hijau3, LOW);
digitalWrite(kuning3, LOW);
digitalWrite(merah3, HIGH);
delay(durasiHi);
// Arah A Merah, Arah B Kuning, Arah C Merah
digitalWrite(hijau1, LOW);
digitalWrite(kuning1, LOW);
digitalWrite(merah1, HIGH);
digitalWrite(hijau2, LOW);
digitalWrite(kuning2, HIGH);
digitalWrite(merah2, LOW);
digitalWrite(hijau3, LOW);
digitalWrite(kuning3, LOW);
digitalWrite(merah3, HIGH);
delay(durasiKu);
// Arah A Merah, Arah B Merah, Arah C Hijau
digitalWrite(hijau1, LOW);
digitalWrite(kuning1, LOW);
digitalWrite(merah1, HIGH);
digitalWrite(hijau2, LOW);
digitalWrite(kuning2, LOW);
digitalWrite(merah2, HIGH);
digitalWrite(hijau3, HIGH);
digitalWrite(kuning3, LOW);
digitalWrite(merah3, LOW);
delay(durasiHi);
// Arah A Merah, Arah B Merah, Arah C Kuning
digitalWrite(hijau1, LOW);
digitalWrite(kuning1, LOW);
digitalWrite(merah1, HIGH);
digitalWrite(hijau2, LOW);
digitalWrite(kuning2, LOW);
digitalWrite(merah2, HIGH);
digitalWrite(hijau3, LOW);
digitalWrite(kuning3, HIGH);
digitalWrite(merah3, LOW);
delay(durasiKu);
}