#define led_merah 19 // Mengatur Pin 19 untuk LED Merah
#define led_kuning 18 // Mengatur Pin 18 untuk LED Kuning
#define led_hijau 5 // Mengatur Pin 5 untuk LED Hijau
#define pushbutton 27 // Mengatur Pin 27 untuk Push Button
#define buzzer 21 // Mengatur Pin 21 untuk Buzzer
void setup() {//melakukan inisialisasi program
Serial.begin(9600); // Mengatur kecepatan Komunikasi Serial
pinMode(led_merah, OUTPUT); // atur mode pin Led merah sebagai output
pinMode(led_kuning, OUTPUT); // atur mode pin Led kuning sebagai output
pinMode(led_hijau, OUTPUT); // atur mode pin Led hijau sebagai output
pinMode(buzzer, OUTPUT); // // atur mode pin buzzer sebagai output
pinMode(pushbutton, INPUT); // Mengatur Pin push button sebagai Input
}
void loop() {//mengeksekusi program utama dalam program
if(digitalRead(pushbutton)==HIGH){
digitalWrite(buzzer,HIGH); // membuat buzzer dalam kondisi High
digitalWrite(led_merah,LOW); //membuat led_merah dalam Kondisi Low
digitalWrite(led_kuning,LOW); //membuat led_kuning dalam Kondisi Low
digitalWrite(led_hijau, HIGH); //membuat led_hijau dalam Kondisi High
Serial.println("Silahkan Menyebrang Jalan"); // Menampilkan text ke Serial Monitor
delay(4000); //Memberi Jeda 4 detik atau 4000 dalam milidetik
}
else{
Serial.println("Dilarang Menyebrang Jalan"); // Menampilkan text ke Serial Monitor
digitalWrite(led_hijau,LOW); //membuat led_hijau dalam Kondisi Low
digitalWrite(buzzer,LOW); //membuat buzzer dalam Kondisi Low
digitalWrite(led_merah,HIGH); //membuat led_merah dalam Kondisi High
digitalWrite(led_kuning,HIGH); //membuat led_kuning dalam Kondisi High
delay(1000); //Memberi Jeda 1 detik atau 1000 dalam milidetik
digitalWrite(led_kuning,LOW); //membuat led_kuning dalam Kondisi Low
delay(1000); //Memberi Jeda 1 detik atau 1000 dalam milidetik
}
}