# 270 degree servo motor code

Just got this 270 degree digital servo. but the Sweep code doesn't seems to work changing the value of 180 to 270.

How do I make it go more than 180 degrees??

``````/* 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
}
}
``````

Try using writeMicroseconds:

That appears to allow a wider range of movement.

jucasan:
Just got this 270 degree digital servo. but the Sweep code doesn't seems to work changing the value of 180 to 270.

When you're using servo.write(angle) like Sweep does then going from 0 to 180 will move the servo for its full range of movement. If it's a 270 degree servo you'll get 270 when you write(180). The value in the write isn't really an angle it just translates into a pulse width (0 = 0.544ms, 180 = 2.4ms) and different servos will treat it differently.

If the standard Sweep program is not rotating your servo through 270 degrees then there's a problem with the servo.

Steve