#define TRIG 15
#define ECHO 2
#define LD1 19
#define LD2 18
#define LD3 5
#define BUZ 16
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
//Serial.println("Hello, ESP32!");
pinMode(TRIG, OUTPUT);
pinMode(LD1, OUTPUT);
pinMode(LD2, OUTPUT);
pinMode(LD3, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(BUZ, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
//delay(10); // this speeds up the simulation
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
int duration = pulseIn(ECHO, HIGH);
float distance = duration * 0.034 / 2;
if (distance > 50.00) {digitalWrite(LD1, HIGH);
tone(BUZ, 0);
}
if (distance > 100.00) {digitalWrite(LD2, HIGH);
tone(BUZ, 0);
}
if (distance > 200.00) {digitalWrite(LD3, HIGH);
tone(BUZ, 0);
}
if (distance > 300.00) {
Buzzer(LD1);
Buzzer(LD2);
Buzzer(LD3);
tone(BUZ, 333);
}
else{
digitalWrite(LD1, LOW);
digitalWrite(LD2, LOW);
digitalWrite(LD3, LOW);
}
Serial.print("Jarak: ");
Serial.println(distance);
delay(100);
}
void Buzzer(int x){
digitalWrite(x, HIGH);
delay(10);
digitalWrite(x, LOW);
}