int merah1 = 1;
int merah2 = 4;
int merah3 = 7;
int merah4 = 10;
int kuning1 = 2;
int kuning2 = 5;
int kuning3 = 8;
int kuning4 = 11;
int hijau1 = 3;
int hijau2 = 6;
int hijau3 = 9;
int hijau4 = 12;
void setup() {
// put your setup code here, to run once:
pinMode(merah1, OUTPUT);
pinMode(merah2, OUTPUT);
pinMode(merah3, OUTPUT);
pinMode(merah4, OUTPUT);
pinMode(kuning1, OUTPUT);
pinMode(kuning2, OUTPUT);
pinMode(kuning3, OUTPUT);
pinMode(kuning4, OUTPUT);
pinMode(hijau1, OUTPUT);
pinMode(hijau2, OUTPUT);
pinMode(hijau3, OUTPUT);
pinMode(hijau4, OUTPUT);
}
// Fungsi untuk mengubah 1 rangkaian lampu merah dari hijau ke merah
void keMerah(int merah, int kuning, int hijau) {
digitalWrite(kuning, HIGH);
digitalWrite(hijau, LOW);
delay(1000);
digitalWrite(kuning, LOW);
digitalWrite(merah, HIGH);
}
// Fungsi untuk mengubah 1 rangkaian lampu merah dari merah ke hijau
void keHijau(int merah, int kuning, int hijau) {
digitalWrite(kuning, HIGH);
delay(1000);
digitalWrite(merah, LOW);
digitalWrite(kuning, LOW);
digitalWrite(hijau, HIGH);
delay(3000);
}
void loop() {
// Init
digitalWrite(merah1, HIGH);
digitalWrite(merah2, HIGH);
digitalWrite(merah3, HIGH);
digitalWrite(hijau3, LOW);
digitalWrite(hijau4, HIGH);
delay(3000);
// Merubah-ubah warna lampu secara berurutan menggunakan fungsi
keMerah(merah4, kuning4, hijau4);
keHijau(merah3, kuning3, hijau3);
keMerah(merah3, kuning3, hijau3);
keHijau(merah2, kuning2, hijau2);
keMerah(merah2, kuning2, hijau2);
keHijau(merah1, kuning1, hijau1);
keMerah(merah1, kuning1, hijau1);
keHijau(merah4, kuning4, hijau4);
}