Comencemos por comprobar cómo funciona el servomotor estándar.
Conéctalo al pin D9.
Para controlar los servos vamos a utilizar una librería llamada Servo. Una librería es un fragmento de código que ya ha sido escrito y que se puede instanciar (llamar) cada vez que necesites utilizarlo. En lugar de tener que escribir todo el código, solo tienes que añadir esta línea de código #include <Servo.h>
a tu programa.
Escribe el siguiente en el Arduino IDE:
#include <Servo.h> Servo myservo; void setup() { myservo.attach(9); } void loop() { myservo.write(0); delay(1000); myservo.write(180); delay(1000); }
#include <Servo.h>
: Incluye el código que realmente utilizamos para controlar los motores.Servo myservo
: Crea un objeto servomyservo
. Este es el que utilizas para controlar el motor.myservo.attach(pinNumber)
: Aquí es dónde indicas a qué Pin conectas el servo.myservo.write(degrees)
: Ordena al servo a qué posición girar. Como solo puede girar 180 grados, este valor varía de 0 a 180.
Lo que hace el programa es girar el servo a una posición de 0 grados, espera 1 segundo y luego lo gira a una posición de 180 grados.
¡Sigue experimentando!
- Cambia el ángulo del servo cambiando el valor dentro de la función
write
. Prueba añadir más posiciones al programa. Observa qué sucede si cambias el tiempo de retardo. - Como puedes ver, los movimientos del servo son muy repentinos, especialmente si hay un gran salto entre dos posiciones. Esto se debe a que el servo cambia la posición prácticamente de forma instantánea. ¿Tienes alguna idea de cómo hacer los movimientos más suaves? En lugar de hacer que el servo salte directamente de una posición a otra, puedes aumentar o disminuir la posición poco a poco.
- Intenta escribir un programa que haga que el servo haga un barrido de un lado a otro, de una manera suave. (SUGERENCIA: mira el ejemplo Archivo -> Ejemplos -> Servo -> Sweep)