Show Posts
Pages: 1 2 3 [4]
46  Forum 2005-2010 (read only) / Frequently-Asked Questions / unable to control a servo with Arduino on: December 11, 2010, 05:34:34 am

I have received my Arduino Mega1280 clone this week and started playing with it. Yesterday I tried to control a servo with a potmeter but just got the servo to make a high pitch noise and causing the laptop to crash after connecting the servo. (I had to restart the laptop to be able to upload sketches to the Arduino).

After adding some lines to be able to track the potsettings on screen I found out that the potmeter works fine.
Replacing the servo with a resistor and led showed that the intensity of the light changes with the potvalue so my output seems to work ok also.

I have used this sketch.

// Controlling a servo position using a potentiometer (variable resistor)
// by Michal Rinott <>;

#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

void setup()
 myservo.attach(10);  // attaches the servo on pin 9 to the servo object

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
 int sensorValue = analogRead(potpin);
 Serial.println(sensorValue, DEC);
 delay(15);                           // waits for the servo to get there

What could be causing the trouble? I think I should add the servo.h tab but where can I find it, and what is it?


Pages: 1 2 3 [4]