/*
Controlling a servo position using a potentiometer (variable resistor)
by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>
modified on 8 Nov 2013
by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Knob
*/
#include <Servo.h>
Servo myservo; // create servo object to control a servo
int potpin = A0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
int pin;
int servo;
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
Serial.begin(9600);
}
void loop() {
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1015)
pin = analogRead(potpin);
servo = map(val, 0, 1015, 0, 480); // scale it to use it with the servo (value between 0 and 180)
if(servo>230) {
val=139 ;
myservo.write(val); // sets the servo position according to the scaled value
delay(1000); // waits for the servo to get there
}
if(servo<250) {
val=125;
myservo.write(val); // sets the servo position according to the scaled value
delay(1000); // waits for the servo to get there
}
Serial.print("pin =");
Serial.print(pin);
Serial.print(" ");
Serial.print("servo =");
Serial.print(servo);
Serial.print(" ");
Serial.println(val);
}
Comments
Please log in or sign up to comment.