En este articulo voy a ir incluyendo sketch para controlar el funcionamiento de un servomotor

Código para girar el servomotor de 0º a 180º (0-90º-180º)

// Incluímos la librería para poder controlar el servo

#include <Servo.h>

// Declaramos la variable para controlar el servo
Servo servoMotor;

void setup() {
  // Iniciamos el monitor serie para mostrar el resultado
  Serial.begin(9600);

  // Iniciamos el servo para que empiece a trabajar con el pin 9
  servoMotor.attach(9);
}

void loop() {
 
  // Desplazamos a la posición 0º
  servoMotor.write(0);
  // Esperamos 1 segundo
  delay(1000);
 
  // Desplazamos a la posición 90º
  servoMotor.write(90);
  // Esperamos 1 segundo
  delay(1000);
 
  // Desplazamos a la posición 180º
  servoMotor.write(180);
  // Esperamos 1 segundo
  delay(1000);
}

 

 

Girando grado a grado el servomotor

Para ello incrementa el ángulo de 0 a 180º a razón de 1º cada 15ms, posteriormente realiza la operación contraria de 180º a 0º, para finalmente reiniciar el bucle.

#include <Servo.h>

Servo myservo;  // crea el objeto servo

int pos = 0;    // posición del servo

void setup() {
   myservo.attach(9);  // vincula el servo al pin digital 9
}

void loop() {
   //varia la posición de 0 a 180, con esperas de 15ms
   for (pos = 0; pos <= 180; pos += 1)
   {
      myservo.write(pos);             
      delay(15);                      
   }

   //varia la posicion de 0 a 180, con esperas de 15ms
   for (pos = 180; pos <= 0; pos -= 1)
   {
      myservo.write(pos);             
      delay(15);                      
   }
}

Movimiento del servomotor 0º-45º-90, movimiento pensado para colocar un sensor de ultrasonidos en el servomotor y así poder controlar el movimiento de un robot móvil

// Incluímos la librería para poder controlar el servo
#include <Servo.h>
 
// Declaramos la variable para controlar el servo
Servo servoMotor;
 
void setup() {
  // Iniciamos el monitor serie para mostrar el resultado
  Serial.begin(9600);
 
  // Iniciamos el servo para que empiece a trabajar con el pin 9
  servoMotor.attach(9);
}
 
void loop() {
 
  // Desplazamos a la posición 0º
  servoMotor.write(00);
  //Esperamos 1 segundo
  delay(1000);
 
  // Desplazamos a la posición 90º
  servoMotor.write(45);
  // Esperamos 1 segundo
  delay(1000);
 
  // Desplazamos a la posición 180º
  servoMotor.write(90);
  // Esperamos 1 segundo
  delay(1000);
// Desplazamos a la posición 90º
servoMotor.write(45);
  // Esperamos 1 segundo
  delay(1000);
 
}