//code using ultrasonic sensor with ESP32
#define trigPin 13
#define echoPin 12
#define buzzerpin 18 //define the pin connected to the buzzer
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
Adafruit_MPU6050 m_p_u;
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzerpin,OUTPUT); // set the buzzer pin as an output
// put your setup code here, to run once:
Serial.begin(115200);
while(!Serial)
delay(20);
if(!m_p_u.begin()){
while(1){
delay(20);
}
}
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.println(distance);
delay(1000);
Serial.println("CM");
if((distance<=10))
{
tone(buzzerpin,1000); //set the buzzer as an output
delay(500); //wait for 500 milliseconds
}
else
{
noTone(buzzerpin); //stop the tone
delay(500); //wait for 500 milliseconds
}
sensors_event_t acc, gcc, temp;
m_p_u.getEvent(&acc, &gcc, &temp);
Serial.println("Acceleration on x axes");
Serial.println(acc.acceleration.x);
delay(1000); // this speeds up the simulation
Serial.println("Acceleration on y axes");
Serial.println(acc.acceleration.y);
delay(1000);
Serial.println("Acceleration on z axes");
Serial.println(acc.acceleration.z);
delay(1000);
Serial.println("Rotation of x axes: ");
Serial.println((gcc.gyro.x)*180/3.14);
delay(1000);
}