#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27,16,2);
#define TRIGGER_PIN 26
#define ECHO_PIN 27
#define BUZZ 33
float dis = (TRIGGER_PIN+ECHO_PIN)*0.34;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
LCD.init();
LCD.backlight();
LCD.begin(0,0);
LCD.clear();
LCD.print("Distance Meter");
pinMode(TRIGGER_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(BUZZ, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
delay(10); // this speeds up the simulation
if(dis<=40){
digitalWrite(BUZZ, HIGH);
tone(BUZZ,1500,250);
delay(500);
LCD.begin(0,1);
LCD.print(String(dis) + "cm");
}
else if(dis<=80){
digitalWrite(BUZZ, HIGH);
tone(BUZZ,1200,250);
delay(600);
LCD.begin(0,1);
LCD.print(String(dis) + "cm");
}
else if(dis<=100){
digitalWrite(BUZZ, HIGH);
tone(BUZZ,1000,250);
delay(1000);
LCD.begin(0,1);
LCD.print(String(dis) + "cm");
}
}