// Controlling a servo position using a potentiometer (variable resistor) // by Michal Rinott // http://arduiniana.org/libraries/pwmservo/ // Board SERVO_PIN_A SERVO_PIN_B SERVO_PIN_C // ----- ----------- ----------- ----------- // Arduino Uno, Duemilanove 9 10 (none) // Arduino Mega 11 12 13 // Sanguino 13 12 (none) // Teensy 1.0 17 18 15 // Teensy 2.0 14 15 4 // Teensy++ 1.0 or 2.0 25 26 27 // Teensy LC & 3.x (all PWM pins are usable) #include PWMServo myservo; // create servo object to control a servo const int potpin = A0; // analog pin used to connect the potentiometer int val; // variable to read the value from the analog pin void setup() { myservo.attach(SERVO_PIN_A); // attaches the servo on pin 9 to the servo object //myservo.attach(SERVO_PIN_A, 1000, 2000); // some motors need min/max setting } void loop() { val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023) val = map(val, 0, 1023, 0, 179); // 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 }