#define TRIG_PIN 18 // pin TRIG Sensor Ultrasonik terhubung ke ESP32 pin 18
#define ECHO_PIN 5 // pin ECHO Sensor Ultrasonik terhubung ke ESP32 pin 5
#define LED 2 // pin LED (merah) terhubung ke ESP32 pin 2
#define LED2 4 // pin LED2 (biru) terhubung ke ESP32 pin 4
float duration_us, distance_cm; //Deklarasi variabel untuk menyimpan durasi dan jarak
float tinggi;
void setup() {
// Mulai komunikasi serial dengan baudrate 9600bps
Serial.begin (9600);
// Konfigurasi pin TRIG sebagai output
pinMode(TRIG_PIN, OUTPUT);
// Konfigurasi pin ECHO sebagai input
pinMode(ECHO_PIN, INPUT);
// Konfigurasi pin LED sebagai output
pinMode(LED, OUTPUT);
// Konfigurasi pin LED2 sebagai output
pinMode(LED2, OUTPUT);
}
void loop() {
// Mengirimkan pulsa 10 mikrodetik ke pin TRIG
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Mengukur durasi pulsa dari pin ECHO
duration_us = pulseIn(ECHO_PIN, HIGH);
// Menghitung jarak dalam centimeter
distance_cm = 0.017 * duration_us;
//tinggi = 200-distance_cm;
// Menyala LED Merah jika jarak di bawah batas tertentu
if (distance_cm < 50) {digitalWrite(LED, HIGH);
}else{digitalWrite(LED, LOW);
}
// Menampilkan nilai jarak ke Serial Monitor
Serial.print("jarak object: ");
Serial.print(distance_cm);
Serial.println(" cm ");
//Serial.print("tinggi badan: ");
//Serial.print(tinggi);
//Serial.println(" cm ");
// Memanggil fungsi Blink untuk mengedipkan LED2
Blink(LED2);
delay(500);
}
// Fungsi untuk mengedipkan LED
void Blink(int x){
digitalWrite(x, HIGH);
delay(10);
digitalWrite(x, LOW);
}