Servo motor 9g Tower Pro

El Servo motor Tower Pro 9g, no gira 360 grados. Y como todo servomotor, no se utiliza para hacer girar cosas (ruedas, por ejemplo) sino para que se mueva a un ángulo determinado (como un brazo): 0, 90, 180, etc.

Tower Pro Micro Servo 9g

Este es el esquema de conexiones del Micro servo 9g Tower pro (Atención: si se conecta mal, se quema. Ya se me quemaron 2 dando clases…)

  • cable anaranjado: va a un pin de tipo PWD (los de la tilde de la eñe)
  • cable color marrón: GND (tierra)
  • cable color rojo: +5v

Con este código se lo puede hacer funcionar, conectando el cable naranja en el pin 9:

#include <Servo.h>

Servo servo1;

void setup() {
Serial.begin(9600);
servo1.attach(9);

}

void loop() {
servo1.write(0);
delay(1000);
servo1.write(90);
delay(1000);
servo1.write(180);
delay(1000);
}

Allí se utiliza la librería Servo.h, y se crea una instancia llamada “servo1”. Después se le indica que servo1 está conectado al pin 9. Luego se envía a la posición 0 (mediante la orden “servo1.write(0)“), a la posición 90, y a la posición 180. Entre uno y otro paso espera un segundo, con delay(1000)

Entre los ejemplos que vienen en el Arduino IDE hay uno interesante que muestra cómo mover lentamente el servomotor utilizando un bucle:

/* Sweep
by BARRAGAN <http://barraganstudio.com>
This example code is in the public domain.

modified 8 Nov 2013
by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Sweep
*/

#include <Servo.h>

Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards

int pos = 0; // variable to store the servo position

void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}

void loop() {
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}

Al ejecutar este código, ocurre lo siguiente:

One thought on “Servo motor 9g Tower Pro”

Leave a Reply

Your email address will not be published. Required fields are marked *