This is an old revision of the document!
#include <servo.h>
#define trigPin 6
#define echoPin 5
#define servoPin 3
#define MAX_DISTANCE 50
#define MIN_DISTANCE 0
Servo servo;
void setup()
{
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
servo.attach(servoPin);
}
void loop()
{
int duration, distance;
digitalWrite(trigPin, HIGH);
delay(1);
digitalWrite(trigPin, LOW);
// Measure the pulse input in echo pin
duration = pulseIn(echoPin, HIGH);
// Distance is half the duration divided by 29.1
distance = duration / 2 / 29.1;
// if distance less than 0.5 meter and more than 0 (0 or less means over range)
if (distance >= MIN_DISTANCE && distance <= MAX_DISTANCE) {
servo.write(50);
delay(3000);
} else {
servo.write(160);
}
delay(60);
}