#include <Servo.h>
#define trigPin 8
#define echoPin 10
#define servo 9
Servo doorservo;
int position = 0;
long duration;
float distance;
void setup()
{
doorservo.attach(servo);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
doorservo.write(position);
}
void loop()
{
Serial.begin(9600);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = 0.034*(duration);
Serial.println(distance);
if (distance <= 35)
{
// Sweep from 0 to 180 degrees;
for (position = 0; position <= 90; position += 1) {
doorservo.write(position);
delay(100);
}
delay(1000);
for (position = 90; position >= 0; position -=1){
doorservo.write(position);
delay(30);
}
}
else
doorservo.write(0);
delay(30);
}