#include <esp32-hal-ledc.h> // Sertakan library LEDC untuk ESP32
#define BUTTON_PIN 2 // Pin untuk push button
#define RLED 23 // Pin untuk LED merah
#define YLED 22 // Pin untuk LED kuning
#define GLED 21 // Pin untuk LED hijau
#define BUZZER_PIN 15 // Pin untuk buzzer
void setup() {
Serial.begin(115200);
pinMode(RLED, OUTPUT);
pinMode(YLED, OUTPUT);
pinMode(GLED, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP); // Konfigurasikan pin tombol sebagai input dengan pull-up resistor internal
pinMode(BUZZER_PIN, OUTPUT); // Konfigurasikan pin buzzer sebagai output
}
void loop() {
// Jika tombol ditekan (LOW), izinkan orang menyeberang
if (digitalRead(BUTTON_PIN) == LOW) {
Serial.println("Silahkan Menyeberang");
digitalWrite(RLED, LOW);
digitalWrite(YLED, LOW);
digitalWrite(GLED, HIGH);
// Aktifkan buzzer
tone(BUZZER_PIN, 100);
delay(4000);
} else {
Serial.println("Dilarang Menyeberang");
tone(BUZZER_PIN, LOW);
digitalWrite(RLED, HIGH);
digitalWrite(YLED, LOW);
digitalWrite(GLED, LOW);
digitalWrite(YLED, HIGH); // Nyalakan lampu kuning
delay(500); // Tunggu 500ms
digitalWrite(YLED, LOW); // Matikan lampu kuning
delay(500); // Tunggu 500ms lagi
}
}