Hey! This is just a funny experiment where I play with an Arduino, connected to a Distance Sensor and a Servo Motor. When the object is close to the sensor (Less than 5cms) the Servo motor is activate it doing a sweep movement. When the object gets away, the servo motor shuts down.
I applied this configuration to a funny exercise of adding Cream Cheese to a Bagel. Everyday breakfast in New York City.
Next you will find pictures of the process, a short video and the code!
#include <Servo.h>
#define trigPin 7
#define echoPin 6
Servo servo;
void setup()
{
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
servo.attach(8);
}
void loop()
{
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
int pos = 0;
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance < 5)
{
Serial.println("the distance is less than 5");
//servo.write(120);
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
servo.write(pos); // tell servo to go to position in variable 'pos'
delay(5); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
servo.write(pos); // tell servo to go to position in variable 'pos'
delay(5); // waits 15ms for the servo to reach the position
}
}
else
{
servo.write(0);
}
if (distance > 60 || distance <= 0)
{
Serial.println("The distance is more than 60");
}
else
{
Serial.print(distance);
Serial.println(" cm");
}
delay(500);
}