#include <Servo.h>
Servo myservo;
const int trigPin=11;
const int echoPin=13;
long duration;
int distance;
int safetyDistance;
int buf=4;
int pir=7; // digital pin for pir motion sensor
void setup()
{
pinMode(pir,INPUT);
myservo.attach(8); // digital pin for servo motor
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
pinMode(buf,OUTPUT);
Serial.begin(9600);
}
void loop()
{
int x = digitalRead(pir);
Serial.println(x);
if(x==HIGH)
{
myservo.write(180);
delay(3000);
}
else{
myservo.write(-200);
}
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin,LOW);
duration = pulseIn(echoPin,HIGH);
distance=duration*0.035/2;
safetyDistance = distance;
if(safetyDistance<=5){
myservo.write(250);
digitalWrite(buf,HIGH);
delay(1000);
}
else{
myservo.write(-200);
digitalWrite(buf,LOW);
}
digitalWrite(buf,HIGH);
}