En este tutorial, vamos a conectar un servomotor de 360 grados a una placa Arduino Uno. Esto nos podrá servir, por ejemplo, para hacer que las ruedas de un coche se muevan.

En primer lugar, tenemos que tener el entorno de desarrollo para Arduino preparado, tal y como ya vimos en el tutorial de Primeros pasos con Arduino.
A continuación, conectamos el servomotor a la placa. El cable rojo, al pin 5V el negro al pin GND (nótese que, para un proyecto real, debería conectarse a una batería externa, pero para el tutorial básico nos vale así) y el otro (normalmente blanco o amarillo) al pin 9, tal y como se muestra en el esquema:

Y cargamos el siguiente código en nuestro Arduino Uno:
La posición de stop indica la posición del servo en la que éste está parado. Por debajo de esta posición, el servo girará hacia un lado y por encima hacia el contrario. Cuanto más se aleje de la posición de stop, más deprisa girará. Normalmente esta posición de stop está entre 90 y 95 grados.
Y éste es el resultado:
El proyecto completo lo tengo compartido en mi cuenta de Fritzing:
http://fritzing.org/projects/servo-motor-360-degrees
Adicionalmente, el código lo tengo versionado en mi cuenta de GitHub:
https://github.com/diegorys/arduino-examples/tree/master/servomotor-360-degrees
Hola, buenas
Pero si quiero que haga varias vueltas?
Hola Maikel,
Tal y como está diseñado este ejemplo, el servo estaría dando vueltas de forma indefinida, hasta que le parases. ¿Cuál es el comportamiento que quieres?
Hola, tengo un problema con estos servomotores, nunca dejan de girar? Como logro que paren en un cierto grado…?
Hola Santiago,
Los servos 360 grados no están pensados para parar en un cierto grado. Son una modificación de los servos 180 grados, a los que sí puedes indicar el grado en el que quieren que se pare, de 0 a 180 grados. Puedes ver cómo hacerlo en esta entrada:
http://diegorys.es/2016/06/09/como-conectar-un-servomotor-de-180-grados-a-arduino-uno/
Un servo de 360 grados lo único que puede hacer es girar en una dirección o en la contraria, a más o menos velocidad, o pararse. Para pararlo, tienes que escribir la posición 90 (en la teoría es 90, en la práctica depende de cómo de bien esté calibrado el servo, en mi ejemplo fue 95), de ahí, cuanto más próximo al 90 en valor absoluto esté el número que escribas, más despacio irá, así, cuanto más se vaya alejando, más deprisa irá.
¡Cualquier cosa me dices!
Buenas tardes, estoy haciendo un proyecto con arduino y estoy programando un sistema de riego, mi problema es que necesito ajustar el servo de 360° a la valvula y necesito que haga un movimiento de 90° a 0°, cuando la temperatura suba de 32°C, el servo se mueva solamente de 0 a 90 y cuando baje de 90 a 0 y no lo puedo hacer, queria saber si usted me podria ayudar por favor, de antemano muchas gracias!!
Hola Kevin,
Los servos fe 360 no permiten especificar la posición exacta, sólo la velocidad. Para tu proyecto puedes usar un servo de 180. Te dejo el enlace:
http://diegorys.es/2016/06/09/como-conectar-un-servomotor-de-180-grados-a-arduino-uno/
Ya me contarás qué tal.
Un saludo.
Muchas gracias! Lo tomare en cuenta, saludos!
Buenas tardes, quisiera saber si hay alguna forma de apagar el servomotor desde la programacion? Me gustaria mover el servo durante 5 segundos y luego apagarlo y encenderlo en la direccion contraria, eso es posible?
Buenos días Kevin,
Sí, la hay. Los servos 360º tienen una posición de parada, normalmente el 90 o muy cercana a él. A partir de esa posición, sumando, aumenta la velocidad en un sentido, y restando aumenta en el contrario. Para pararlo, simplemente escribe:
servo.write(90);
Si te fijas en el ejemplo del tutorial, puedes verlo:
https://github.com/diegorys/arduino-example-servomotor-360/blob/master/sketchbook/servomotor-360/servomotor-360.ino
Gracias por escribir y ya nos comentarás si lo consigues.
Un saludo.
como es elcodigo de coxecion de servo de 360 grados con bluetooth h-5 porfa no me sale una ayuda hermano
Hola mi idea es trabajar con servo de giro completo, pero necesito que de 720 grados es decir dos vueltas, unas ves ahi vuelva a girar para el sentido contrario, 720 grados. Alguna ayuda?
Hola Gustavo!
¿Pudiste encontrar solución a tu necesidad? Yo me encuentro en una situación parecida, y no sé como solucionarlo.
Alguna ayuda?
hola, muy buenos tus tutoriales quisiera saber si me pudieses ayudar para hacer girar mi servomotor con una placa arduino uno a diferentes velocidades como un agitador desde 20 revoluciones por minuto a 200 revoluciones por minuto. te lo agradeceria mucho