#include <Ultrasonic.h>
#include <ESP32Servo.h>
const int trigPin = 22;
const int echoPin = 23;
const int buzzerPin = 18;
const int led1 = 32;
const int led2 = 35;
const int led3 = 34;
const int servoPin = 17;
Ultrasonic ultrasonic(trigPin, echoPin);
Servo myServo;
void setup() {
Serial.begin(115200);
pinMode(buzzerPin, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
myServo.attach(servoPin);
}
void loop() {
// Measure distance using the ultrasonic sensor
int distance = ultrasonic.read();
// Print distance to Serial Monitor
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
if (distance < 300) {
digitalWrite(buzzerPin, LOW);
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
myServo.write(0);
}
else if (distance < 250) {
digitalWrite(buzzerPin, LOW);
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
myServo.write(0);
}
else if (distance < 200) {
digitalWrite(buzzerPin, HIGH);
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
myServo.write(90);
}
else {
digitalWrite(buzzerPin, LOW);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
myServo.write(0);
}
delay(500); // Add a small delay for stability
}