#include <LiquidCrystal_I2C.h>
#include <ESP32Servo.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int T =5;
int E =18;
long duration;
float soundspeed =0.034;
int Cm;
Servo myservo;
int S = 0;
void setup() {
Serial.begin(115200);
lcd.init();
lcd.backlight();
myservo.attach(13);
lcd.setCursor(4,0);
lcd.print("Wellcome");
lcd.setCursor(1,1);
lcd.print("Yala Technical");
delay(2000);
lcd.clear();
lcd.setCursor(4,0);
lcd.print("Phuriphat");
lcd.setCursor(1,1);
lcd.print("Tecnical Com");
delay(2000);
lcd.clear();
pinMode(T, OUTPUT);
pinMode(E, INPUT);
}
void loop() {
digitalWrite(T, LOW);
delayMicroseconds(2);
digitalWrite(T, HIGH);
delayMicroseconds(10);
digitalWrite(T, LOW);
duration =pulseIn(E, HIGH);
Cm =duration*soundspeed/2;
Serial.print("distance : ");
Serial.println(Cm);
Serial.print(" servo : ");
Serial.println(S);
delay(500);
S = Cm;
S = map(S,2,400,0,180);
myservo.write(S);
delay(500);
lcd.setCursor(0,0);
lcd.print("Servo :");
lcd.setCursor(10,0);
lcd.print(" C");
lcd.setCursor(10,0);
lcd.print(S);
lcd.setCursor(0,1);
lcd.print("distance : ");
lcd.setCursor(10,1);
lcd.print(" CM");
lcd.setCursor(10,1);
lcd.print(Cm);
}