#define BLYNK_TEMPLATE_ID "TMPL3wF-bTPYu"
#define BLYNK_TEMPLATE_NAME "Homeautomation"
#define BLYNK_AUTH_TOKEN "ydI06i65QMh8B_5Ay6_we-ak7rJTpvoe"
#define BLYNK PRINT Serial
#define SERVO_ESP32
char auth[]= BLYNK_AUTH_TOKEN ;
char ssid[]="Wokwi-GUEST";//mobile hotspot name
char pass[]="";//hotspot password
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD(0x27,16,2);
const int trig_pin=2;
const int echo_pin=4;
long duration;
int distance;
void setup()
{
pinMode(trig_pin,OUTPUT);
pinMode(echo_pin,INPUT);
myservo.attach(15);
LCD.init();
LCD.backlight();
LCD.setCursor(0, 0);
LCD.print("ACCIDENT DETECTION");
delay(5000);
LCD.setCursor(0, 1);
LCD.print("ROBOTIC AND AUTOMATION");
delay(5000);
Serial.begin(9600);
Blynk.begin(auth,ssid,pass);
LCD.clear();
}
void loop()
{
digitalWrite(trig_pin,LOW);
delayMicroseconds(2);
digitalWrite(trig_pin,HIGH);
delayMicroseconds(10);
digitalWrite(trig_pin,LOW);
duration=pulseIn(echo_pin,HIGH);
distance=duration*0.034/2;
Serial.println(distance);
Blynk.virtualWrite(V0,"distance");
LCD.setCursor(0,0);
LCD.print("ULTRA:");
LCD.setCursor(7,0);
LCD.print(distance);
LCD.setCursor(0, 1);
LCD.print("ST:");
myservo.write(90;
delay(1000);
myservo.write(0);
delay(1000);
if (distance < 100) (distance<40){
LCD.setCursor(3, 1);
LCD.print("BRAKES APPLIED");
Blynk.virtualWrite(V1,"BRAKES APPLIED");
delay(1000);
myservo.write(90);
} else {
LCD.setCursor(3, 1);
LCD.print("SAFE");
Blynk.virtualWrite(V1,"SAFE");
delay(1000);
myservo.write(0);
}
LCD.clear();
}