// Pin untuk setiap LED
const int red1 = 2, yellow1 = 3, green1 = 4; // Arah Utara
const int red2 = 5, yellow2 = 6, green2 = 7; // Arah Timur
const int red3 = 8, yellow3 = 9, green3 = 10; // Arah Selatan
const int red4 = 11, yellow4 = 12, green4 = 13; // Arah Barat
void setup() {
// Mengatur semua pin sebagai output
pinMode(red1, OUTPUT);
pinMode(yellow1, OUTPUT);
pinMode(green1, OUTPUT);
pinMode(red2, OUTPUT);
pinMode(yellow2, OUTPUT);
pinMode(green2, OUTPUT);
pinMode(red3, OUTPUT);
pinMode(yellow3, OUTPUT);
pinMode(green3, OUTPUT);
pinMode(red4, OUTPUT);
pinMode(yellow4, OUTPUT);
pinMode(green4, OUTPUT);
}
void loop() {
// Fase 1: Utara dan Selatan Hijau, Timur dan Barat Merah
digitalWrite(green1, HIGH);
digitalWrite(green3, HIGH);
digitalWrite(red2, HIGH);
digitalWrite(red4, HIGH);
delay(5000); // 5 detik hijau
// Fase Kuning: Utara dan Selatan Kuning
digitalWrite(green1, LOW);
digitalWrite(green3, LOW);
digitalWrite(yellow1, HIGH);
digitalWrite(yellow3, HIGH);
delay(2000); // 2 detik kuning
// Matikan Kuning Utara dan Selatan, nyalakan Merah
digitalWrite(yellow1, LOW);
digitalWrite(yellow3, LOW);
digitalWrite(red1, HIGH);
digitalWrite(red3, HIGH);
// Fase 2: Timur dan Barat Hijau, Utara dan Selatan Merah
digitalWrite(green2, HIGH);
digitalWrite(green4, HIGH);
delay(5000); // 5 detik hijau
// Fase Kuning: Timur dan Barat Kuning
digitalWrite(green2, LOW);
digitalWrite(green4, LOW);
digitalWrite(yellow2, HIGH);
digitalWrite(yellow4, HIGH);
delay(2000); // 2 detik kuning
// Matikan Kuning Timur dan Barat, nyalakan Merah
digitalWrite(yellow2, LOW);
digitalWrite(yellow4, LOW);
digitalWrite(red2, LOW);
digitalWrite(red4, LOW);
}