#include <Servo.h>
Servo myservo; // create servo object to control a servo
int potpin = 0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
int trigger = 12;
int echo = 13;
int led = 2;
long duration = 0;
int cm = 0;
int inch = 0;
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
Serial.begin(9600);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
pinMode(led, OUTPUT);
}
void loop() {
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(15); // waits for the servo to get there
// put your main code here, to run repeatedly:
digitalWrite(trigger, LOW);
digitalWrite(trigger, HIGH);
digitalWrite(trigger, LOW);
duration = pulseIn(echo, HIGH);
cm = duration*0.034/2;
inch = duration*0.0133/2;
if (inch < 50){
digitalWrite(led, HIGH);
} else {
digitalWrite(led, LOW);
}
if (inch < 100 ) {
Serial.print("Inches: ");
Serial.println(inch);
Serial.print("Cm: ");
Serial.println(cm);
}
delay(500);
}