El servo SG90 es el mini servo más popular para proyectos Arduino: pesa 9 gramos, tiene torque de 1.8 kg·cm y puede girar de 0° a 180°. Perfecto para brazos robóticos, cámaras PTZ, cerraduras y mecanismos de control.
Diferencia entre Servo y Motor Normal
Un motor DC gira continuamente. Un servo se posiciona en un ángulo específico y lo mantiene. Internamente tiene un potenciómetro y un controlador que cierra el lazo de posición automáticamente.
Conexión
El SG90 tiene 3 cables de colores:
- Marrón/Negro: GND
- Rojo: 5V (VCC)
- Naranja/Amarillo: Señal → Pin 9 del Arduino
Para múltiples servos, alimenta VCC y GND desde una fuente externa (la USB de Arduino no entrega suficiente corriente para más de 2 servos).
Código con Librería Servo
#include <Servo.h>
Servo miServo;
void setup() {
miServo.attach(9); // Pin de señal
}
void loop() {
// Ir de 0° a 180° gradualmente
for (int ang = 0; ang <= 180; ang++) {
miServo.write(ang);
delay(15); // Velocidad de movimiento
}
delay(500);
// Regresar de 180° a 0°
for (int ang = 180; ang >= 0; ang--) {
miServo.write(ang);
delay(15);
}
delay(500);
}
Control con Potenciómetro
#include <Servo.h>
Servo s;
void setup() { s.attach(9); }
void loop() {
int pos = map(analogRead(A0), 0, 1023, 0, 180);
s.write(pos);
delay(15);
}
Proyectos con Servo
- Brazo robótico de 4 DOF: 4 servos para hombro, codo, muñeca y gripper
- Cerradura inteligente: servo mueve el pestillo al reconocer una tarjeta RFID
- Cámara pan-tilt: 2 servos para control de dirección horizontal y vertical
- Barrera automática: sube y baja según señal RFID o sensor