Proyecto No 3 Controlar Un Servomotor
Proyecto No 3 Controlar Un Servomotor
Proyecto No 3 Controlar Un Servomotor
com
Usa tu primera librería de Arduino, llamada Servo, para controlar un servomotor del Arm Robot. Al
tratarse de una librería estándar de Arduino, la encontrarás incluida cuando instales el programa.
MATERIALES:
1 Servomotor
1
www.ebotics.com
¿Qué es un Servomotor?
Un motor eléctrico es una máquina que transforma la energía eléctrica en energía mecánica rotativa
continua. Un servomotor es un motor de corriente continua pero en vez de conseguir un giro
continuo, está diseñado para conseguir que gire un determinado ángulo en respuesta a una señal de
control, y que se mantenga fijo en esa posición.
Esta señal de control es dada por los pines digitales PWM. Para controlar el servomotor se le envía
pulsos cada 20 ms es decir a 50Hz. La anchura del pulso es lo que determinará el ángulo de giro, es
decir lo que se conoce como PWM. Esta anchura varía según el servomotor, pero normalmente va
entre 0.5 y 2.5 ms aunque puede variar. Esto hace que el servomotor tenga un margen de operación,
por lo que se puede mover entre 0º (pulso con una anchura de 0.5 ms) y un máximo, que suele ser,
de 180º (pulso con una anchura de 2.5ms).
2
www.ebotics.com
Los servomotores pequeños, como los del kit Arm Robot funcionan con 5V y el control se realiza
mediante un pin digital PWM de la placa Build&Code UNO, en la que la anchura del pulso
determinará el ángulo que adopte el servo.
Un servomotor tiene 3 pines: 1 rojo (5V), 1 marrón o negro (Ground) y 1 amarillo o blanco (Control).
CONEXIONES:
1. El cable marrón corresponde al GND del servomotor. Conéctalo a la G del puerto digital 6 de
la placa sensor Build&Code UNO.
2. El cable rojo corresponde a los 5V. Conéctalo a la V del puerto digital 6 de la placa sensor
Build&Code UNO.
3. El color naranja corresponde a la señal. Conéctalo a la S del puerto digital 6 de la placa
sensor Build&Code.
3
www.ebotics.com
CÓDIGO DE PROGRAMACIÓN
Puedes realizar esta actividad utilizando el software Arduino y otros software de programación por
bloques compatibles. A continuación encontrarás el código de programación necesario.
Código Arduino
4
www.ebotics.com
En este caso, Servo es el tipo y el objeto se llama Servo1. Puedes llamar al objeto como tu
prefieras.
4. Una vez hayas creado el objeto (y puedes crear tantos como necesites, para manejar varios
servos a la vez) tienes que incluir una línea en la función setup() para informar que vas a
conectar un servo físico a un pin físico del Arduino, para controlarlo y asociar este servo al
objeto creado. En este caso el pin 6:
servo1.attach(6);
5. Para mover el servo, tan solo tendrás que escribir la posición a la que quieras que se mueva en
grados:
servo1.write(angulo);
“Angulo” es el valor en grados de la posición a la que quieras que se mueva, de 0º a 180º.
#include <Servo.h>
void setup() {
motor1.attach (6); // PIN DIGITAL PWM 6 DONDE ESTÁ CONECTADO EL
SERVO 1
}
void loop() {
grados1 = 0;
motor1.write (grados1); // ENVIAR LOS GRADOS AL SERVO 1
delay(1000); // ESPERA 1 SEGUNDO EN LA POSICIÓN FIJADA
grados1 = 60;
motor1.write (grados1);
delay(1000);
grados1 = 120;
motor1.write (grados1);
delay(1000);
grados1 = 180;
motor1.write (grados1);
delay(1000);
grados1 = 120;
motor1.write (grados1);
delay(1000);
5
www.ebotics.com
grados1 = 60;
motor1.write (grados1);
delay(1000);
}
Has aprendido a utilizar la librería Servo.h en el software de programación Arduino IDE. Una vez
instalada la librería, podrás programar y controlar el servomotor en Arduino IDE y en el software de
6
www.ebotics.com