/*
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
*/
int potpin = A0; // analog pin used to connect the potentiometer
int val ;
int metr;
int led = 13;
#include <Servo.h>
int seconds;
Servo myservo;
int pos = 0; // variable to store the servo position
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop() {
Serial.println(metr);
val = analogRead(metr); // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 180); // scale it for use with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(15);
Metr();
}
void Metr () {
for (pos = 0; pos <= 180; pos += 180) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(metr);
digitalWrite(led, LOW); // waits 15 ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 180) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(metr); // waits 15 ms for the servo to reach the position
digitalWrite(led, HIGH);
seconds++;
}
}