2018/02/12

Servomotor

Un servomotor (también llamado servo) es un dispositivo similar a un motor DC (de corriente continua) que tiene la capacidad de situarse y mantenerse en cualquier ángulo dentro de su rango de giro (normalmente entre 0 y 180 grados). Está compuesto por un pequeño motor DC, con un sistema de engranajes que le proporcionan una potente reductora, más un controlador electrónico. También existen servos de rotación continua, es decir que pueden comportarse como un motor DC normal con mucha reductora. Estas características, junto con la facilidad de conexión y programación, hacen de este dispositivo uno de los sistemas más usados en robótica para producir movimiento.

Para controlar un servo con Arduino solo tenemos que alimentarlo y conectar el cable amarillo a una salida digital con PWM. Si tenemos la placa conectada al ordenador por USB podemos alimentar el servo directamente desde la placa (cable rojo a 5v y cable negro a GND):


Si la placa Arduino no está conectada al ordenador tenemos que alimentar el servo con una pila externa (aparte de la alimentación que tenga la placa):


Este es el código que tenemos que cargar en nuestra placa:
#include <Servo.h> //Incluímos la librería Servo.h
Servo servoMotor; //Declaramos la variable servoMotor

void setup() {
  servoMotor.attach(5); //Conectamos el servo al pin 5
}

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