// Definisikan pin untuk Lampu Lalu Lintas Jalan 1
const int MERAH_1 = 8;
const int KUNING_1 = 9;
const int HIJAU_1 = 10;
// Definisikan pin untuk Lampu Lalu Lintas Jalan 2
const int MERAH_2 = 2;
const int KUNING_2 = 3;
const int HIJAU_2 = 4;
// Definisikan pin untuk Lampu Lalu Lintas Jalan 3
const int MERAH_3 = 5;
const int KUNING_3 = 6;
const int HIJAU_3 = 7;
void setup() {
Serial.begin(9600);
Serial.println("Lampu Merah Pertigaan");
Serial.println("Nama : Muhamad Fachri");
Serial.println("Kelas : 12B");
Serial.println("No Absen : 26");
// Set semua pin sebagai OUTPUT
pinMode(MERAH_1, OUTPUT);
pinMode(KUNING_1, OUTPUT);
pinMode(HIJAU_1, OUTPUT);
pinMode(MERAH_2, OUTPUT);
pinMode(KUNING_2, OUTPUT);
pinMode(HIJAU_2, OUTPUT);
pinMode(MERAH_3, OUTPUT);
pinMode(KUNING_3, OUTPUT);
pinMode(HIJAU_3, OUTPUT);
}
void loop() {
Jalan_satu();
}
void Jalan_satu() {
// Fase 1: Jalan 1 Hijau, Jalan 2 & 3 Merah
digitalWrite(HIJAU_1, HIGH);
digitalWrite(MERAH_1, LOW);
digitalWrite(MERAH_2, HIGH);
digitalWrite(MERAH_3, HIGH);
delay(5000); // Durasi lampu hijau (5 detik)
digitalWrite(HIJAU_1, LOW);
digitalWrite(KUNING_1, HIGH);
delay(2000); // Durasi lampu kuning (2 detik)
digitalWrite(KUNING_1, LOW);
digitalWrite(MERAH_1, HIGH);
delay(500); // Transisi singkat
// Fase 2: Jalan 2 Hijau, Jalan 1 & 3 Merah
digitalWrite(MERAH_1, HIGH); // Tetap merah
digitalWrite(MERAH_2, LOW); // Matikan merah jalan 2
digitalWrite(HIJAU_2, HIGH); // Nyalakan hijau jalan 2
delay(5000); // Durasi lampu hijau (5 detik)
digitalWrite(HIJAU_2, LOW);
digitalWrite(KUNING_2, HIGH);
delay(2000); // Durasi lampu kuning (2 detik)
digitalWrite(KUNING_2, LOW);
digitalWrite(MERAH_2, HIGH); // Nyalakan kembali merah jalan 2
delay(500); // Transisi singkat
// Fase 3: Jalan 3 Hijau, Jalan 1 & 2 Merah
digitalWrite(MERAH_1, HIGH); // Tetap merah
digitalWrite(MERAH_3, LOW); // Matikan merah jalan 3
digitalWrite(HIJAU_3, HIGH); // Nyalakan hijau jalan 3
delay(5000); // Durasi lampu hijau (5 detik)
digitalWrite(HIJAU_3, LOW);
digitalWrite(KUNING_3, HIGH);
delay(2000); // Durasi lampu kuning (2 detik)
digitalWrite(KUNING_3, LOW);
digitalWrite(MERAH_3, HIGH); // Nyalakan kembali merah jalan 3
delay(500); // Transisi singkat
}