hi, i bought this SWEET LITTLE servo ! and it just arrived ! its so cute
but sadly it makes burrrr noise at more than 167 ! and 0 havent found min yet !!! any ideas? nothing pushing/ stopping it from rotating! im worried im gonna harm that little guy:(
A lot of servo motors turn less than 180 degrees. Some of mine turn less than 100 degrees. For some reason, this is very rarely mentioned in the description of them.
The gears strip very easily in the inexpensive 9g servos. Below is some servo test code you might try to see how much rotation your servo has.
// zoomkat 12-25-13 serial servo test
// type servo position 0 to 180 in serial monitor
// or for writeMicroseconds, use a value like 1500
// Send an a to attach servo or d to detach servo
// for IDE 1.0.5 and later
// Powering a servo from the arduino usually *DOES NOT WORK*.
#include <Servo.h>
String readString; //String captured from serial port
Servo myservo;Â // create servo object to control a servo
int n; //value to write to servo
void setup() {
 Serial.begin(9600);
 myservo.writeMicroseconds(1500); //set initial servo position if desired
 myservo.attach(7, 500, 2500); //the pin for the servo control, and range if desired
 Serial.println("servo all-in-one test code 12-25-13"); // so I can keep track of what is loaded
 Serial.println();
}
void loop() {
 while (Serial.available()) {
  char c = Serial.read(); //gets one byte from serial buffer
  readString += c; //makes the string readString
  delay(2); //slow looping to allow buffer to fill with next character
 }
 if (readString.length() >0) {
  Serial.println(readString); //so you can see the captured string
   // attach or detach servo if desired
  if (readString == "d") {
   myservo.detach(); //detach servo
   Serial.println("servo detached");
   goto bailout; //jump over writing to servo
  }
  if (readString == "a") {
   myservo.attach(7); //reattach servo to pin 7
   Serial.println("servo attached");
   goto bailout;
  } Â
  n = readString.toInt(); //convert readString into a number
  // auto select appropriate value
  if(n >= 500)
  {
   Serial.print("writing Microseconds: ");
   Serial.println(n);
   myservo.writeMicroseconds(n);
  }
  else
  {Â
   Serial.print("writing Angle: ");
   Serial.println(n);
   myservo.write(n);
  }
bailout: //reenter code loop
  Serial.print("Last servo command position: "); Â
  Serial.println(myservo.read());
  Serial.println();
  readString=""; //empty for next input
 }
}