Proyecto No 3 Controlar Un Servomotor

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 7

www.ebotics.

com

PROYECTO Nº 3: Controlar un servomotor

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.

NIVEL DE DIFICULTAD: Principiante.

DURACIÓN DE LA ACTIVIDAD: 20 min.

MATERIALES:

1 Servomotor

1
www.ebotics.com

1 Placa Build&Code UNO


1 Placa sensor Build&Code
1 cable USB – USB tipo B
1 Ordenador

¿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

1. Descarga el software Arduino y realiza en proceso de instalación.


1.2 Ejecuta el programa Arduino.
1.3 Configura el programa para grabar programas en la placa controladora Build&Code UNO.
Encontrarás las instrucciones para hacerlo en la guía de Primeros Pasos del Arm Robot.
2. La librería Servo es una librería estándar de Arduino, por lo que viene incluida cuando instalas
la IDE de Arduino. Para usar la librería, puedes llamarla desde el menú Programa > Importar
Librería > Servo. También puedes llamarla si escribes lo siguiente en la primera línea de
código:
#include <Servo.h>
3. Para poder utilizar la librería debes crear un objeto tipo Servo. La primera instrucción que
debes escribir después de llamar a la librería es:
Servo servo1;

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>

Servo motor1; // DECLARAR SERVO 1


int grados1 = 0; // GRADOS DEL SERVO 1

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);
}

Código para software de programación por bloques compatible

1. Descarga el software y realiza el proceso de instalación.


1.2 Ejecuta el software de programación por bloques compatible.
1.3 Configura el programa para cargar programas en la placa controladora Build&Code UNO.
Encontrarás las instrucciones para hacerlo en la guía de Primeros Pasos del Arm Robot.
2. Abre el programa y, una vez en él, copia el siguiente código: Usa la siguiente imagen como
guía:

RESULTADO DEL EJERCICIO

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

programación visual por bloques compatible.

También podría gustarte