// HEADER
const int pin_ledBiru = 5;
#define pin_ledHijau 18
#define pin_ledKuning 19
#define pin_ledMerah 21
#define pin_buzz 13
#define trig 15
#define echo 2
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32!");
// SETUP LED
pinMode(pin_ledBiru, OUTPUT);
pinMode(pin_ledHijau, OUTPUT);
pinMode(pin_ledKuning, OUTPUT);
pinMode(pin_ledMerah, OUTPUT);
// SETUP BUZZER
ledcSetup(0, 2000, 8);
ledcAttachPin(pin_buzz, 0);
pinMode(pin_buzz, OUTPUT);
// SETUP ULTRASONIC
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
}
void loop() {
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
int durasi = pulseIn(echo, HIGH);
int jarak = durasi * 0.034 / 2;
indikator(jarak);
Serial.println(jarak);
}
void indikator(float jarak)
{
if(jarak < 350)
{
digitalWrite(pin_ledBiru, HIGH);
}else{
digitalWrite(pin_ledBiru, LOW);
}
if(jarak < 250)
{
digitalWrite(pin_ledHijau, HIGH);
}else{
digitalWrite(pin_ledHijau, LOW);
}
if(jarak < 150)
{
digitalWrite(pin_ledKuning, HIGH);
}else{
digitalWrite(pin_ledKuning, LOW);
}
if(jarak < 50)
{
digitalWrite(pin_ledMerah, HIGH);
tone(pin_buzz, 1000, 6);
}else{
digitalWrite(pin_ledMerah, LOW);
noTone(pin_buzz);
}
}