#include <ESP32Servo.h>
Servo iniservo;
const int trigPin = 14;
const int echoPin = 13;
int servoPin = 2;
void setup() {
Serial.begin(115200);
iniservo.attach(servoPin);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) / 29.4;
if (distance >= 2 && distance <= 400) {
int angle = map(distance, 2,400, 0, 180);
iniservo.write(angle);
} else {
iniservo.write(0);
}
Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" cm");
delay(1000);
}