Continuous servo wont completely stop

hello i have found a solar tracker project from the internet it simply uses two LDR's and a hacked continuous servo to spin it. i have got it all working fine but when i try to tell the servo to stop in sketch using (myservo.write 90) it doesn't completely stop the servo. i have since found that myservo.write 92 is a little closer to stopping it but it still turns slightly every 4 or 5 seconds. in another sketch i have used myservo.writemicroseconds 1500 and that stops the servo alot better. what i am wondering is, in my code i cant figure out how to substitute myservo.write pos to myservo.writemicroseconds every time i do it just spins backwards and forwards without stopping.
any help would be greatly appreciated.
thank you

#include <Servo.h>

int ServoOut = 9;
int photoPinLeft = 0;
int photoPinRight = 5;
int LeftReading;
int RightReading;
int pos;
int tolerance = 20; /* +/- the total difference 
between the two photoresistors. You can test 
this by covering both the resistors in total darkness, 
and note the difference between the two readings. */

Servo myservo;

void setup()

void loop()
LeftReading = analogRead(photoPinLeft);
RightReading = analogRead(photoPinRight);

Serial.print("Left Reading = ");
Serial.print("Right Reading = ");

if(LeftReading > RightReading + tolerance)
pos = 94;
else if(LeftReading + tolerance < RightReading)
pos = 88;
pos = 92;


i cant figure out how to substitute myservo.write pos to myservo.writemicroseconds

I don't understand, - you say you've used writeMicroseconds in another sketch, but you can't use it here?
Did you remember to change the range of the variables from "angles" to microseconds?

yea you are spot on. i have figured it out now. for some reason i left the servo.write(pos) at the bottom when substituting the servo.writemicroseconds.
thanks for help

I haven't tried the below specific code with a servo, but if you have problems with the continuous rotation servo starting to creep at its stopped command value, you might instead try detaching the servo.

// zoomkat 10-14-11 serial servo test
// type servo position 500 to 2500 in serial monitor
// type in number 1500 to detach servo
// for IDE 0022 and later
// Powering a servo from the arduino usually DOES NOT WORK.

String readString;
#include <Servo.h> 
Servo myservo;  // create servo object to control a servo 

void setup() {
  myservo.writeMicroseconds(1500); //set initial servo position if desired
  myservo.attach(7);  //the pin for the servo control 
  Serial.println("servo-test-22"); // so I can keep track of what is loaded

void loop() {
  while (Serial.available()) {
    char c =;  //gets one byte from serial buffer
    readString += c; //makes the string readString
    delay(2);  // allow buffer to fill with next character

  if (readString.length() >0) {
    Serial.println(readString);  //so you can see the captured string 
    int n = readString.toInt();
    if (n == 1500) {
    else {
       myservo.writeMicroseconds(n); //convert readString to number for servo
    readString=""; //empty for next input