// Definisikan pin untuk lampu lalu lintas 4 ruas
int ledMerah[4] = {2, 5, 8, 11}; // LED merah terhubung ke pin 2, 5, 8, 11
int ledKuning[4] = {3, 6, 9, 12}; // LED kuning terhubung ke pin 3, 6, 9, 12
int ledHijau[4] = {4, 7, 10, 13}; // LED hijau terhubung ke pin 4, 7, 10, 13
void setup() {
// Atur semua pin LED sebagai output
for (int i = 0; i < 4; i++) {
pinMode(ledMerah[i], OUTPUT);
pinMode(ledKuning[i], OUTPUT);
pinMode(ledHijau[i], OUTPUT);
}
}
void loop() {
// Simulasikan lampu untuk setiap ruas
for (int i = 0; i < 4; i++) {
// Ruas ini akan mendapatkan lampu hijau selama 5 detik
digitalWrite(ledHijau[i], HIGH);
digitalWrite(ledMerah[i], LOW);
digitalWrite(ledKuning[i], LOW);
// Ruas lainnya merah
for (int j = 0; j < 4; j++) {
if (j != i) {
digitalWrite(ledMerah[j], HIGH);
digitalWrite(ledKuning[j], LOW);
digitalWrite(ledHijau[j], LOW);
}
}
delay(5000); // Hijau selama 5 detik
// Ganti ke kuning di ruas ini selama 2 detik
digitalWrite(ledHijau[i], LOW);
digitalWrite(ledKuning[i], HIGH);
delay(2000); // Kuning selama 2 detik
// Setelah kuning, ruas ini berubah menjadi merah
digitalWrite(ledKuning[i], LOW);
digitalWrite(ledMerah[i], HIGH);
}
}