Saltar la navegación

Servomotores

Un servomotor nos permite posicionar su eje un ángulo determinado entre 0 y 180º. Su conexión a Arduino se muestra en la figura: los dos pines de alimentación (+5 y GND) y el pin de control que debe ser conectado a una salida PWM.

Para programarlo utilizaremos la biblioteca "servo.h". En el ejemplo siguiente posicionamos el eje del servo en 45º, esperamos 5 segundos, volvemos a mover el servo a 135º, esperamos 5 segundos y repetimos el ciclo.

Los servos de rotación continua nos permiten controlar su velocidad y el sentido de giro. En este caso 0º provocaría el giro del motor a máxima velocidad en un sentido, con un valor de control de 180º giraría a máxima velocidad en sentido contrario y con 90º se pararía (no obstante, es conveniente hacer algunas pruebas para fijar estos valores). Ángulos intermedios lo harían girar a velocidades inferiores.

Estos servos de rotación continua se pueden utilizar para construir pequeños vehículos sustituyendo a los motores de corriente continua. Su programación es muy sencilla, no suele ser necesaria una batería de 6v adicional, son compactos y mantienen un buen par en todas las velocidades.

Actividades

1.- Comprobar el ejemplo anterior y modificarlo para que realice la secuencia de movimientos que deseéis.

2.- Completar el programa para controlar la posición del servo desde dos pulsadores. Un pulsador lo mueve hacia la derecha (a intervalos de 5º) y otro hacia la izquierda.

#include //incluimos la biblioteca
servo1; // Crea un objeto servo y lo llamamos servo1

int pinPulsadorIzq=4;
int pinPulsadorDer=5;
int angulo=90;

void setup()
{
servo1. (9); //Selecionamos el pin 9 para el control
(angulo); //fijamos la posición inicial en 90º
}

void loop()
{
if( (pinPulsadorIzq)==HIGH){
  angulo= +5;
  angulo=constrain(angulo,0,180); //buscar constrain en la referencia
  (angulo);
  delay(100);
}
else if( (pinPulsadorDer)==HIGH){
  angulo= -5;
  angulo=constrain(angulo,0,180);
  (angulo);
  delay(100);
}
delay(100);

}

Habilitar JavaScript

Obra publicada con Licencia Creative Commons Reconocimiento No comercial Compartir igual 4.0