¿Qué es un servomotor y cómo funciona?
Un servomotor es un motor DC con un sistema de realimentación que permite controlar con precisión su posición angular. Incluye en su interior un potenciómetro, un circuito de control y un conjunto de engranajes reductores. Se controla mediante señal PWM: el ancho del pulso (entre 1ms y 2ms, repetido cada 20ms) determina el ángulo de posición entre 0° y 180°.
Los servos más populares son el SG90 (plástico, económico, ideal para aprender) y el MG996R (engranajes metálicos, mayor torque para brazos robóticos). Ambos disponibles en Especificar.cl.
Conexión del servo al Arduino
- Cable marrón/negro → GND del Arduino
- Cable rojo → 5V del Arduino (para SG90; para MG996R usa fuente externa)
- Cable naranja/amarillo (señal) → Pin digital PWM del Arduino (ej. pin 9)
Librería Servo de Arduino
Arduino incluye de fábrica la librería Servo. Con #include <Servo.h> y servo.write(90) posicionas el servo en 90 grados (posición central). El rango es 0° a 180°. Para movimientos suaves, usa un bucle for que incremente el ángulo de 1 en 1 con un delay de 15ms entre cada paso.
Brazo robótico con 4 servos y joystick
Con 4 servos (base, hombro, codo, pinza) y 2 joysticks analógicos puedes construir un brazo robótico completo. Mapea el valor analógico del joystick (0-1023) al ángulo del servo (0-180) con la función map(). El resultado es un brazo que responde suavemente a tus movimientos. Graba secuencias en EEPROM para que el brazo repita movimientos automáticamente.