#define LED_PIN 2 // Pin LED terhubung ke pin 2 pada ESP32
#define TRIGGER_PIN 12 // Pin trigger sensor ultrasonik terhubung ke pin 12 pada ESP32
#define ECHO_PIN 13 // Pin echo sensor ultrasonik terhubung ke pin 13 pada ESP32
#define BUZZER_PIN 14 // Pin buzzer terhubung ke pin 14 pada ESP32
long duration;
int distance;
void setup() {
Serial.begin(9600);
pinMode(LED_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
pinMode(TRIGGER_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
}
void loop() {
// Mengirimkan sinyal ultrasonik
digitalWrite(TRIGGER_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGGER_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN, LOW);
// Menerima sinyal ultrasonik
duration = pulseIn(ECHO_PIN, HIGH);
// Menghitung jarak berdasarkan waktu perjalanan gelombang ultrasonik
distance = duration * 0.034 / 2;
Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" cm");
// Memeriksa jika jarak kurang dari ambang batas (misalnya 10 cm)
if (distance < 50) {
digitalWrite(LED_PIN, HIGH); // Menyalakan LED
tone(BUZZER_PIN, 1000); // Menghasilkan bunyi buzzer dengan frekuensi 1000 Hz
delay(1000); // Delay 1 detik
digitalWrite(LED_PIN, LOW); // Mematikan LED
noTone(BUZZER_PIN); // Mematikan bunyi buzzer
} else {
digitalWrite(LED_PIN, LOW); // Mematikan LED jika jarak aman
}
delay(100); // Delay untuk stabilitas
}