Ir al contenido principal

Servomotor con Arduino: Control con Potenciómetro paso a paso

Servomotor con Arduino: Control con Potenciómetro

Aprende a mover un servo con precisión girando un simple potenciómetro

🏷️ ARDUINO
Servomotor con Arduino: Control con Potenciómetro paso a paso

Volvemos al Arduino "de toda la vida" después de unas semanas centradas en Raspberry Pi, ESP32 e impresión 3D. Si ya conectaste un sensor de ultrasonidos, hoy toca dar el salto a los actuadores: vamos a controlar un servomotor, un motor especial capaz de girar a un ángulo exacto (normalmente entre 0° y 180°) y mantenerse fijo en esa posición. Lo controlaremos girando un potenciómetro, así que el propio circuito se convierte en un pequeño mando físico.

⚙️ ¿Qué es un servomotor y en qué se diferencia de un motor normal?

Un motor de corriente continua normal solo gira sin control de posición: sabes que gira, pero no en qué ángulo exacto se encuentra en cada momento. Un servomotor, en cambio, incorpora internamente un pequeño circuito de control y un potenciómetro propio que le permite "saber" en qué posición está y moverse exactamente al ángulo que le pidas, manteniéndose ahí de forma estable. Por eso son tan habituales en brazos robóticos, cámaras orientables o pequeños mecanismos de apertura.

Materiales necesarios

  • Placa Arduino (Uno, Nano o similar).
  • Servomotor de 9g (SG90) o similar, el más común y económico.
  • Potenciómetro de 10kΩ.
  • Cables de conexión (jumpers).
  • Protoboard.

Paso 1: Conexión del circuito

  • Servomotor cable rojo → Arduino 5V
  • Servomotor cable marrón/negro → Arduino GND
  • Servomotor cable naranja/amarillo (señal) → Arduino Pin 9
  • Potenciómetro pata izquierda → Arduino 5V
  • Potenciómetro pata derecha → Arduino GND
  • Potenciómetro pata central (cursor) → Arduino A0

⚠️ Cuidado con la alimentación si usas varios servos

Un único servo pequeño (SG90) puede alimentarse sin problema directamente desde el pin 5V del Arduino. Pero si en el futuro conectas varios servos a la vez, necesitarás una fuente de alimentación externa: el Arduino no tiene corriente suficiente para mover varios motores simultáneamente sin resetearse o comportarse de forma errática.

Paso 2: La librería Servo.h

Arduino incluye de serie la librería Servo.h, así que no necesitas instalar nada adicional. Esta librería se encarga de generar automáticamente la señal PWM concreta que cada servomotor necesita para posicionarse en un ángulo exacto, algo que sería bastante más complicado de programar a mano.

Paso 3: La lógica del programa

El programa es sencillo en su planteamiento: lee continuamente el valor analógico del potenciómetro (un número entre 0 y 1023), lo convierte (mapea) a un ángulo entre 0 y 180 grados, y le indica ese ángulo al servomotor con la función write() de la librería Servo. El resultado es que, al girar el potenciómetro con la mano, el servomotor te sigue en tiempo real: es la forma más visual e intuitiva de entender cómo funciona el control PWM.

Ideas para ampliar este proyecto

  • Sustituir el potenciómetro por el sensor de ultrasonidos ya conocido, para que el servomotor apunte automáticamente hacia el objeto más cercano.
  • Añadir una segunda articulación con otro servomotor, para empezar a construir un pequeño brazo robótico de dos ejes.
  • Controlar el servomotor desde el móvil, combinándolo con lo aprendido en las entradas de ESP32 y Wi-Fi.

🛒 Materiales para este proyecto

COMPONENTE DESCRIPCIÓN ENLACE
Arduino UNO R3 Placa base para este proyecto. VER EN AMAZON
Kit de iniciación (incluye servo, potenciómetro y protoboard) Trae el servomotor, el potenciómetro, cables y protoboard que necesitas para este montaje. VER EN AMAZON

Conclusión

Controlar un servomotor es uno de esos proyectos que, aunque sencillos, abren muchísimas puertas: robótica, cámaras orientables, mecanismos automáticos... Una vez entiendas bien esta base, combinarlo con sensores o con conexión Wi-Fi es solo cuestión de juntar piezas que ya conoces de entradas anteriores.

¿Qué proyecto harías tú con un servomotor?

Cuéntanos en los comentarios tu idea, puede que la desarrollemos juntos en una próxima entrada.

❓ Preguntas frecuentes

Suele deberse a que el potenciómetro está en una posición intermedia inestable, generando pequeñas fluctuaciones en la lectura analógica que el servo intenta seguir. También puede ser un problema de alimentación insuficiente. Prueba a añadir un pequeño margen de tolerancia en el código antes de mover el servo si el cambio es mínimo.

El SG90 y la mayoría de servos de hobby estándar sí, pero existen servos de rotación continua (que giran sin límite, como un motor normal pero controlado por velocidad) y servos con rangos distintos. Revisa siempre la ficha técnica del modelo concreto que compres.

Sí, sin problema. Puedes eliminar toda la parte de lectura analógica y simplemente llamar a miServo.write(90) (o el ángulo que quieras) directamente en el código, útil si el movimiento va a depender de otra condición distinta a un mando físico.

🎥 Vídeo resumen

Comentarios

Entradas populares de este blog

Cómo evitar que Windows apague la pantalla o el disco duro (con gpedit)

Introducción Uno de los problemas más frecuentes en Windows es la suspensión automática del sistema, el apagado de la pantalla o la desactivación del disco duro tras unos minutos de inactividad. Aunque esto busca ahorrar energía, puede resultar frustrante si utilizas tu PC como servidor doméstico, servidor Plex, máquina de descargas o para tareas de larga duración . Si bien es posible cambiar estos ajustes desde la configuración tradicional de energía, muchas veces Windows ignora nuestras preferencias debido a directivas internas. La solución definitiva para evitar que tu ordenador se apague o suspenda es utilizar el Editor de Directivas de Grupo Local (gpedit.msc) . ⚠️ Advertencia sobre la versión de Windows El comando gpedit.msc solo está disponible de forma nativa en las ediciones Windows Pro, Enterprise y Education . Si utilizas Windows Home , esta herramienta no estará presente por defecto y deberás recurrir a la configuración convencional del Panel de Control. Paso 1...

Encender un LED con un Pulsador en Arduino (Tutorial Completo y sin fallos)

Introducción Controlar un LED mediante un pulsador es el primer proyecto práctico que se realiza al iniciarse con Arduino. Aunque parece un ejercicio sencillo, es fundamental entenderlo bien , ya que en él se esconde uno de los errores más comunes en electrónica digital: el problema del "estado flotante" . En este tutorial analizamos la lógica, el esquema y el código, explicando por qué un LED puede parpadear de forma errática sin las conexiones adecuadas y cómo solucionarlo mediante una resistencia Pull-Down o utilizando la función interna INPUT_PULLUP . Materiales necesarios Para realizar este montaje en tu banco de pruebas vas a necesitar los siguientes componentes básicos: 1 Placa Arduino UNO, Nano o Mega 1 LED (5mm, cualquier color) 1 Pulsador o botón push-button (4 pines) 1 Resistencia de 220Ω (protección para el LED) 1 Resistencia de 10kΩ (para el circuito Pull-Down) Cables Dupont / jumpers de conexión 1 Protoboard (placa de prueba...

Alarma con Arduino y Sensor Ultrasónico HC-SR04 (Tutorial paso a paso)

Introducción Crear un sistema de seguridad o detección de movimiento no tiene que ser complicado ni caro. En este tutorial vamos a construir una alarma con Arduino y un sensor de ultrasonidos (el famoso HC-SR04). Este proyecto es ideal para principiantes porque aprendes a leer sensores externos y a generar una respuesta física (encender un LED y hacer sonar un buzzer) cuando alguien se acerca demasiado. A continuación, te explico cómo funciona el sensor, qué materiales necesitas, cómo montar el circuito y te desgloso el código línea por línea para que realmente entiendas lo que estás programando. ¿Cómo funciona el Sensor Ultrasónico HC-SR04? Este sensor funciona igual que un sonar o los delfines: emite un sonido imperceptible para el humano (ultrasonido) y espera a que ese sonido choque contra un objeto y regrese (eco). Pin Trig (Trigger - Disparo): Le dice al sensor que debe "gritar" y emitir el pulso de ultrasonido. Pin Echo (Eco - Recepción): Se queda escuchando...