#include <ESP32Servo.h>
const int servoPin = 15;
const int trigPin = 14;
const int echoPin = 27;
long duration;
int distance;
Servo myservo;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
myservo.attach(servoPin);
Serial.begin(9600);
}
void loop() {
//assure que le triger est en LOW puis envoit un signal de 10Microsecondes
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
//mesure le temps que le signal met à revenir à la pin
duration = pulseIn(echoPin, HIGH);
//calcule la distance en cm, division par 2 car aller-retour
distance = 0.034 * duration /2;
//maping de l'angle pour le servo
int angle = map(distance, 0, 100, 0, 180);
angle = constrain(angle, 0,180);
//donne la valeur de l'angle calculée au servo moteur
myservo.write(angle);
delay(100);
}