#include <ESP32Servo.h>
#define ServoPin (15)
unsigned int ADCmin = 0;
unsigned int ADCmax = 400;
unsigned int POSmin = 0;
unsigned int POSmax = 180;
#define TRIG_PIN 33 // ESP32 pin GIOP23 connected to Ultrasonic Sensor's TRIG pin
#define ECHO_PIN 14 // ESP32 pin GIOP22 connected to Ultrasonic Sensor's ECHO pin
float duration_us, distance_cm;
#define ADC analogRead(vrPin)
Servo myServo;
void setup() {
myServo.attach(ServoPin);
Serial.begin (9600);
myServo.attach(ServoPin);
// configure the trigger pin to output mode
pinMode(TRIG_PIN, OUTPUT);
// configure the echo pin to input mode
pinMode(ECHO_PIN, INPUT);
}
void loop() {
// generate 20-microsecond pulse to TRIG pin
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(20);
digitalWrite(TRIG_PIN, LOW);
// measure duration of pulse from ECHO pin
duration_us = pulseIn(ECHO_PIN, HIGH);
// calculate the distance
distance_cm = 0.017 * duration_us;
int pos = map(distance_cm ,ADCmin ,ADCmax ,POSmin ,POSmax);
myServo.write(pos);
}