Control básico de servomotores con Arduino
María Guadalupe García Muñoz|Programar o morir UNIVERSIDAD TECNOLOGICA DEL VALLE DE TOLUCA
Contenido OBJETIVO ............................................................................................................................................. 2 EJEMPLO .............................................................................................................................................. 3 CIRCUITO ......................................................................................................................................... 3 CÓDIGO ........................................................................................................................................... 4
MARÍA GUADALUPE GARCÍA MUÑOZ|PROGRAMAR O MORIR
1
OBJETIVO Conocer el funcionamiento de los servomotores y control de estos sobre arduino, todo de una manera sencilla y gráfica para simplificar todo el proceso, siendo sin duda un buen ejemplo para iniciarse en el uso de Arduino + Servomotores.
MARÍA GUADALUPE GARCÍA MUÑOZ|PROGRAMAR O MORIR
2
EJEMPLO Elementos necesarios para copletar la practica con Arduino:
Arduino Servomotor no importa el peso que soporte. Cables M/M para conexión facil, fiable y flexible entre Arduino, ProtoBoard y Servo Protoboard
La interfaz de conexión del servomotor consta normalmente de 3 cables o conductores, generalmente de 3 colores distintos,a saber: -Rojo -Marrón o Negro -Azul, Amarillo u otros Donde por norma general el cable Rojo es el positivo o fase, el Marrón o Negro es el tierra o masa, y el restante de varios posibles colores es el señal, que nos permitirá controlar el servomotor con precisión. Normalmente el señal de controla con PWM, osea pulsos de ancho modular, por lo que lo podemos mover con precisión el servomotor a cualquier punto de su radio de acción.
CIRCUITO
MARÍA GUADALUPE GARCÍA MUÑOZ|PROGRAMAR O MORIR
3
CÓDIGO Las librerías las puedes encontrar en http://arduino.cc/en/Tutorial/HomePage en la sección de librerías. #include <Servo.h> 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Servo servo1; int posicion;
// Crea un Objeto servo // Variable de la posicion del servo
void setup() { servo1.attach(2); // Selecionamos el pin 2 como el pin de control para els ervo } void loop() { posicion = 150; // Establecemos el valor de la posicion a 150º posicion = map(posicion, 0, 1023, 0, 179); // Establecemos la relacion entre los grados de giro y el PWM /* Con el mapa de valores anterior establecemos una relacin proporcional */ /* entre el pulso minimo 0 con el grado minimo, 0 tambien y el pulso maximo*/ /* 1023 con el grado maximo, 179*/ servo1.write(posicion); // Escribimos la posicion con el mapa d e valores al servo delay(150); // Y le damos un tiempo para que sea capaz de moverse }
MARÍA GUADALUPE GARCÍA MUÑOZ|PROGRAMAR O MORIR
4