Hello,
I had a question about connecting a servo to an Arduino. I have looked at many posts, and I think I do have the circuit correct. I am using the sample servo code given in the Arduino IDE, and the particular file is called. Here it is below for convenience:
/* Sweep
by BARRAGAN <http://barraganstudio.com>
This example code is in the public domain.
modified 8 Nov 2013
by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Sweep
*/
#include <Servo.h>
Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards
int pos = 0; // variable to store the servo position
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) { // 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(15); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
The circuit drawing is attached.
I ran into a problem where the servo worked the first time I uploaded code to the Arduino. But after that, it never worked again, and it just makes a clicking noise. I have looked at other posts, and one possible issue seems that the grounds aren't tied together properly, but I have already made sure that they are grounded properly. I have also disconnected/reattached the Arduino, and the external power supply for the servo. I'm using 5V, 2 Amps to externally power the servo, which seems reasonable.
Any advice on how to fix this issue would be much appreciated!
