const int buttonPin = 35; // inilisasi pin 35 digunakan untuk pin push button
const int redLedPin = 32; // inilisasi pin 32 digunakan untuk pin led merah
const int yellowLedPin = 33; // inilisasi pin 33 digunakan untuk pin led kuning
const int greenLedPin = 25; // inilisasi pin 25 digunakan untuk pin led hijau
const int buzzerPin = 27; // inilisasi pin 27 digunakan untuk pin buzzer
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // pin push button sebagai input
pinMode(redLedPin, OUTPUT); // pin LED merah sebagai output
pinMode(yellowLedPin, OUTPUT); // pin LED kuning sebagai output
pinMode(greenLedPin, OUTPUT); // pin LED hijau sebagai output
pinMode(buzzerPin, OUTPUT); // pin buzzer sebagai input
// Awalnya, LED merah menyala dan LED kuning blinking
digitalWrite(redLedPin, HIGH); //LED merah menyala
digitalWrite(yellowLedPin, LOW); // LED kuning mati
digitalWrite(greenLedPin, LOW); // LED hijau mati
digitalWrite(buzzerPin, LOW); // pin buzzer mati
Serial.begin(9600);
}
void loop() {
// Cek kondisi push button
if (digitalRead(buttonPin) == LOW) { // Push button OFF
digitalWrite(redLedPin, HIGH); // LED merah menyala
digitalWrite(yellowLedPin, !digitalRead(yellowLedPin)); // Blinking LED kuning
digitalWrite(greenLedPin, LOW); // LED hijau mati
digitalWrite(buzzerPin, LOW); // buzzer mati
Serial.println("Dilarang Menyeberang Jalan"); // menampilkan pesan pada serial monitor
} else { // Push button ON
digitalWrite(redLedPin, LOW); // LED merah mati
digitalWrite(yellowLedPin, LOW); // LED kuning mati
digitalWrite(greenLedPin, HIGH); // LED hijau menyala
digitalWrite(buzzerPin, HIGH); // buzzer menyala
Serial.println("Silahkan Menyeberang Jalan"); // menampilkan pesan pada serial monitor
delay(4000); // Tunggu 4 detik
}
}