#include <ESP32Servo.h>
#define LED_PIN 2
#define PIR_PIN 4
const int SERVO_PIN = 5;
Servo servo;
int maximumRange = 400;
int minimumRange = 0;
long duration, distance;
int trigPin = 19;
int echoPin = 18;
void setup(){
Serial.begin(9600);
pinMode(LED_PIN,OUTPUT);
pinMode(PIR_PIN, INPUT);
servo.attach(SERVO_PIN);
servo.write(90);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
if (digitalRead(PIR_PIN) == HIGH){
digitalWrite(LED_PIN, HIGH);
Serial.println("LIGHT ON");
}
else{
digitalWrite(LED_PIN,LOW);
}
delay(100);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration/58.2;
if (distance < 20) {
Serial.println("object detected!");
servo.write(180);
delay(1000);
}
else {
servo.write(90);
delay(1000);
Serial.println("No object detected");
}
delay(100);
}