#include <ESP32Servo.h>;
Servo myservo;
int ec = 19;
int tr = 18;
int b = 5;
int ledg = 2;
int ledr =15;
int s =32;
void setup() {
pinMode(ec, INPUT);
pinMode(tr,OUTPUT);
pinMode(b, OUTPUT);
pinMode(ledg, OUTPUT);
pinMode(ledr, OUTPUT);
myservo.attach(s);
myservo.write(90);
}
void loop() {
digitalWrite(tr, LOW);
delayMicroseconds(2);
digitalWrite(tr, HIGH);
delayMicroseconds(10);
digitalWrite(tr, LOW);
long dr =pulseIn(ec,HIGH);
float jr =dr/56.0;
Serial.print("jarak objek:");
Serial.print(jr);
Serial.println("cm");
if(jr>0 && jr< 5){
digitalWrite(b, HIGH);
tone(b,500,500);
delay(1000);
noTone(b);
delay(200);
digitalWrite(ledg, HIGH);
digitalWrite(ledr, LOW);
delay(100);
myservo.write(0);
delay(500);
}
else{
digitalWrite(b, LOW);
noTone(b);
digitalWrite(ledr, HIGH);
digitalWrite(ledg, LOW);
myservo.write(90);
delay(500);
}
}