Mover servo sin la libreria servo.h

Buenas, este es mi primer mensaje en el foro espero no estar preguntando una pavada.

Estoy practicando de las distintas formas de mover un servo. Usando la libreria servo.h mucho no me gusta porque el servo vibra un poco. Lei por ahi que a veces es mas estable haciendo el propio pulso de subir y bajar el pin.

#include <Servo.h>

Servo servo1;

void setup()
{
servo1.attach(5);

servo1.writeMicroseconds(1500);

delay(1000);

servo1.writeMicroseconds(2400);
delay(1000);

servo1.writeMicroseconds(570);
delay(1000);

//hasta aca funciona perfecto y el servo se mueve de 90 a 180 y luego a 0 grado sin problema

//luego quiero hacer lo mismo sin usar las funciones de la libreria y el servo apenas si se mueve.

servo1.detach();
pinMode(5,OUTPUT);

}

/Ahora intento mandar los pulsos subiendo y bajando el pin pero no funciona.

void loop()
{

digitalWrite(5,HIGH);
delayMicroseconds(2400);
digitalWrite(5,LOW);
delay(1000);

digitalWrite(5,HIGH);
delayMicroseconds(1500);
digitalWrite(5,LOW);
delay(1000);
}

No entiendo que puede estar mal ya que no hay mucho codigo. Lo probe incluso sacando todas las funciones de servo del setup y tampoco funciona.

saludos
leandro

No te esta funcionando porque el servo tiene que recibir un tren de pulsos. En tu código estas enviando un pulso, un tiempo de espera de 1 seg y luego otro pulso.

Prueba con

void setup()
{
pinMode(5,OUTPUT);
}
void loop()
{
digitalWrite(5,HIGH);
delay(2);
digitalWrite(5,LOW);
delay(18);

}