Arduino Tutorial 11: El servomotor

Hola chicos, hoy vamos a hablar del servomotor, o servo a secas. Anteriormente, vimos como podíamos hacer con una serie de actuadores señales de luz, de sonido, etc. Hoy quiero enseñaros como a partir de Arduino, podemos generar movimiento.
 
El servo es un motor que proporciona una respuesta de movimiento de tipo angular, que típicamente estará comprendido entre 0 y 180º. Aunque, para casos concretos podremos trucarlo para conseguir un giro completo.
Un servomotor común.
Un servomotor común, tipo Futaba.

Este es el aspecto que puede ofrecer un servomotor. Vemos que tiene distintos tipos de hélice dependiendo de nuestro interés y que también tiene un motor que es el que va a proporcionar el giro.
 
La aplicación de servomotores puede ser muy variada. Desde brazos robóticos tipo CEBEK a robots de competición tipo Zumo, con su propia placa controladora.
 
Brazo robótico con múltiples servomotores.
Brazo robótico CEBEK.
Imagen de Zumo.
Tanto el brazo robótico como el kit robot son claros ejemplos de aplicación del servomotor.
Ahora vamos con el montaje de un servomotor simple. La conexión se va a hacer con tres cables: Uno rojo, que va a ser el que reciba la alimentación, uno negro, que será conectado a masa y uno amarillo que va a ser el que reciba la señal. A continuación dejamos un esquema en el que indicamos su conexión con Arduino.
Esquema de montaje
Esquema de montaje
Como vemos el montaje es muy sencillo, ahora tenemos que hablar de su código. Lo primero que vamos a tener que hacer es incluir una nueva librería, la Servo.h. Si nosotros sacamos el ejemplo Sweep podemos deducir el funcionamiento del servo.
Hay que decir que el manejo del servomotor puede ser muy extenso y que se puede investigar con el un sinfín de cosas, en cuanto pueda pienso hacer con un par de ellos porque los que he usado son prestados y no les he podido sacar todo el “jugo” que he querido.

Código

#include <Servo.h>

 Servo servo;
 //Introducimos la variable servo que vamos a identificar a partir de ahora como el servomotor
 
void setup(){
  servo.attach(2);  //Declaramos con la funcion attach que el servo se encuentra en el pin digital 2
 }

 void loop(){
  servo.write(0);   //El servo se pone en la posición de 0º
  delay(100);        //Tiempo de espera entre coordenadas
  servo.write(90);  //El servo se pone en la posición de 90º
  delay(100);        //Retardo entre coordenadas 
  servo.write(179);    //El servo se pone en la posición de 179º
  delay(100);        
  servo.write(90);  //El servo se pone en la posición de 90º
  delay(100);        
  
 }
Como vemos aquí vamos a manejar las variables write y attach para nuestros propósitos. Con esto dejamos un poco explicado como realizar los movimientos más básicos de nuestro servomotor. Queda pendiente en un futuro de explorar un poco este mundillo. Pero en pocos días presentaremos nuevos trabajos así que estad atentos, saludos y ¡HASTA LUEGO!

Guardar

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *