#include <ESP32Servo.h>
const int Trigger = 2; //Pin digital 2 para el Trigger del sensor
const int Echo = 4; //Pin digital 3 para el Echo del sensor
int pin_servo = 15;
int pos = 0;
Servo servo;
void setup() {
Serial.begin(9600);//iniciailzamos la comunicación
pinMode(Trigger, OUTPUT); //pin como salida
pinMode(Echo, INPUT); //pin como entrada
digitalWrite(Trigger, LOW);//Inicializamos el pin con 0
servo.attach(pin_servo, 500, 2500);
}
void loop()
{
long tiempo; //tiempo que demora en llegar el eco
long distancia; //distancia en centimetros
digitalWrite(Trigger, HIGH);
delayMicroseconds(10); //Enviamos un pulso de 10us
digitalWrite(Trigger, LOW);
tiempo = pulseIn(Echo, HIGH); //obtenemos el ancho del pulso
distancia = tiempo/59; //escalamos el tiempo a una distancia en cm
Serial.print("Distancia: ");
Serial.print(distancia); //Enviamos serialmente el valor de la distancia
Serial.print("cm");
Serial.println();
delay(100); //Hacemos una pausa de 100ms
if (distancia<=30){
servo.write(0);
}
if (distancia>30){
servo.write(90);
}
}