Ir al contenido

2.8 Servo

El servo es un tipo de motor con engranajes que solo puede rotar 180 grados. Se controla enviando pulsos eléctricos desde tu placa ESP32, los cuales le indican al servo exactamente a qué posición se tiene que mover. Descripción general El s…

El servo es un tipo de motor con engranajes que solo puede rotar 180 grados. Se controla enviando pulsos eléctricos desde tu placa ESP32, los cuales le indican al servo exactamente a qué posición se tiene que mover.

Descripción general

El servo tiene tres cables: el marrón es el de tierra y se conecta al puerto GND del ESP32, el rojo es el de alimentación y va al puerto de 3.3V, y el naranja es el de señal, que debe ir conectado a un puerto GPIO.

Componentes requeridos

  • (1) x Elegoo ESP32
  • (1) x Servo (SG90)
  • (3) x Cables M-M (puentes Macho a Macho)
  • (2) x Protoboard de 400 puntos

Introducción al componente: SG90

  • Universal para conectores JR y FP
  • Largo del cable: 25 cm
  • Velocidad de operación (sin carga): 0.12 seg / 60 grados (4.8V), 0.10 seg / 60 grados (6.0V)
  • Torque de bloqueo (4.8V): 1.6 kg/cm
  • Temperatura de trabajo: -30~60°C
  • Ancho de banda muerta: 5us
  • Voltaje de trabajo: 3.5~6V
  • Dimensiones: 3.2 cm x 3 cm x 1.2 cm
  • Peso: 134 g

Esquema de conexión y diagrama de cableado

Fijate en los diagramas del manual para realizar las conexiones de forma correcta. Asegurate de respetar los colores de los cables para no dañar el componente.

Código

Podés descargar el archivo del programa haciendo clic en el enlace azul y abrirlo con un doble clic una vez que termine la descarga. Acordate de que tenés que tener instalado el IDE de Arduino y haber configurado el soporte para placas ESP32 antes de intentar subir el código.

IMPORTANTE: Antes de correr el programa, asegurate de tener instalada la librería ESP32Servo. Si no la tenés, el código no va a funcionar.

#include <ESP32Servo.h>

Servo myservo; // Crea el objeto para controlar el servo

void setup(){
  myservo.attach(18); // Conecta el pin 18 con la línea de control del servo
  myservo.write(90);  // Mueve el servo a la posición central (90°)
}

void loop(){
  myservo.write(90);  // Posición central
  delay(1000);
  myservo.write(60);  // Mueve a 60°
  delay(1000);
  myservo.write(90);  // Vuelve al centro
  delay(1000);
  myservo.write(150); // Mueve a 150°
  delay(1000);
}

Configuración de la librería y objetos

Usamos #include <ESP32Servo.h> para traer la librería específica para ESP32, que está optimizada para este hardware. Al declarar Servo myservo, estamos creando una instancia que nos permite manejar el motor usando funciones simples.

Conceptos de Programación Orientada a Objetos (POO)

Acá, Servo actúa como una clase (una estructura compleja que contiene funciones y datos) y myservo es el objeto o variable que usamos para interactuar con esas funciones, como attach() para asignar el pin y write() para definir el ángulo.

Función setup()

En esta parte inicializamos el motor. Con myservo.attach(18) vinculamos el control al pin GPIO 18. Al ejecutar myservo.write(90) ni bien arranca, logramos que el servo comience siempre en una posición conocida, evitando movimientos bruscos o erráticos al encender la placa.

Cableado del Servo

La mayoría de los servos usan este código de colores: el cable de control (amarillo o naranja) va al pin GPIO 18, el de alimentación (rojo) va a 3.3V o 5V, y el de tierra (marrón o negro) se conecta a GND.

Función loop()

Este es el bucle principal que controla la secuencia de movimientos. El código hace que el servo rote entre el centro (90°), una posición a la izquierda (60°) y otra a la derecha (150°), con una espera de un segundo entre cada cambio para que el movimiento sea fluido y visible.

Fuente: Adaptado al español desde el wiki oficial Elegoo (licencia CC BY-SA). Revisión técnica por equipo Breva.

Fuente: Adaptado al español desde el wiki oficial (licencia CC BY-SA). Revisión técnica por equipo Breva.
25%
Tecnología real, elegida con criterio técnico Probás, aprendés y te llevás lo correcto Showroom abierto en Rosario Impresión 3D · Electrónica · Software Desde 2012 en impresión 3D FilAr — Argentina, extruido por nosotros Probá antes de llevarte Combos pensados, no pegados No te vendemos una caja. Entendemos lo que hay adentro. Repuestos críticos en stock Soporte por WhatsApp 9-19 Bambu Lab en showroom Filamentos para tocar Arduino, ESP32 y sensores Robótica educativa para tu aula Equipamos escuelas y empresas Producción 3D con criterio PLA y PETG fabricados en Argentina Trazabilidad por lote — FilAr Perfiles calibrados para tu impresora Cursos y demos en Breva Academy Sábados con demo abierta Garantía explicada en términos humanos No desaparecemos después del checkout Asesoramiento técnico sin compromiso Retiro en el día en Rosario Envío a todo el país Factura A para empresas Catálogo curado, no inflado Si lo vendemos, lo probamos antes De RepRap a la nueva generación Más de 13 años imprimiendo Criterio técnico transversal Tres mundos, una misma cabeza Impresoras 3D en Rosario Notebooks, monitores y periféricos Domótica con ESP32 Cámaras, sensores y trazabilidad Para makers, técnicos y emprendedores Para escuelas y empresas Soluciones, no SKUs Cotización formal para B2B Plan de mantenimiento para empresas Capacitación docente incluida Combo Bambu + FilAr Combo arranque sin renegar Combo ESP32 IoT La tecnología se entiende usándola No te vendemos lo que no probamos Sabemos por qué falla un purgado Sabemos por qué un PETG burbujea Sabemos por qué una pieza no se pega No vendemos por catálogo Curaduría con criterio Showroom · Asesoramiento · Soporte Probá en vivo antes de decidir FilAr — el filamento que sabemos Hardware + software, mismo equipo Automatización, datos y producción Tecnología tangible Probada antes de venderla Soporte que responde La compra no termina en el checkout Comprá una vez. Te ayudamos siempre. Modo experiencia activado Modo showroom: encendido Real hardware. Real support. Touch it. Try it. Take it home. Build. Print. Automate. Repeat. Tres mundos. Una tienda. Tecnología para construir Tecnología para producir Tecnología para enseñar Productos seleccionados, no inflados Lo que recomendamos, lo probamos Si va a fallar, lo sabemos Soporte técnico sin guion Vení a tocar el showroom Impresoras imprimiendo en mostrador Filamentos al tacto Notebooks encendidas Electrónica armada Demos los sábados Cursos presenciales Guías técnicas gratis Repuestos para Bambu Lab Repuestos para Creality Hot-ends, boquillas y plates Sensores, motores y módulos Componentes PC y mejoras Comprá con criterio Probá con calma Aprendé con quien sabe Llevate lo correcto Hacé proyectos reales Rosario · Centro · Showroom abierto Tecnología argentina cuando se puede Tecnología importada cuando hace falta Curaduría > Catálogo Hechos > Promesas Servicio > Discurso Stack: Bambu · Creality · FilAr · Arduino · ESP32 No somos marketplace Somos gente que la usa Y la fabricamos cuando se puede Breva · Rosario Tecnología real, elegida con criterio técnico Probás, aprendés y te llevás lo correcto Showroom abierto en Rosario Impresión 3D · Electrónica · Software Desde 2012 en impresión 3D FilAr — Argentina, extruido por nosotros Probá antes de llevarte Combos pensados, no pegados No te vendemos una caja. Entendemos lo que hay adentro. Repuestos críticos en stock Soporte por WhatsApp 9-19 Bambu Lab en showroom Filamentos para tocar Arduino, ESP32 y sensores Robótica educativa para tu aula Equipamos escuelas y empresas Producción 3D con criterio PLA y PETG fabricados en Argentina Trazabilidad por lote — FilAr Perfiles calibrados para tu impresora Cursos y demos en Breva Academy Sábados con demo abierta Garantía explicada en términos humanos No desaparecemos después del checkout Asesoramiento técnico sin compromiso Retiro en el día en Rosario Envío a todo el país Factura A para empresas Catálogo curado, no inflado Si lo vendemos, lo probamos antes De RepRap a la nueva generación Más de 13 años imprimiendo Criterio técnico transversal Tres mundos, una misma cabeza Impresoras 3D en Rosario Notebooks, monitores y periféricos Domótica con ESP32 Cámaras, sensores y trazabilidad Para makers, técnicos y emprendedores Para escuelas y empresas Soluciones, no SKUs Cotización formal para B2B Plan de mantenimiento para empresas Capacitación docente incluida Combo Bambu + FilAr Combo arranque sin renegar Combo ESP32 IoT La tecnología se entiende usándola No te vendemos lo que no probamos Sabemos por qué falla un purgado Sabemos por qué un PETG burbujea Sabemos por qué una pieza no se pega No vendemos por catálogo Curaduría con criterio Showroom · Asesoramiento · Soporte Probá en vivo antes de decidir FilAr — el filamento que sabemos Hardware + software, mismo equipo Automatización, datos y producción Tecnología tangible Probada antes de venderla Soporte que responde La compra no termina en el checkout Comprá una vez. Te ayudamos siempre. Modo experiencia activado Modo showroom: encendido Real hardware. Real support. Touch it. Try it. Take it home. Build. Print. Automate. Repeat. Tres mundos. Una tienda. Tecnología para construir Tecnología para producir Tecnología para enseñar Productos seleccionados, no inflados Lo que recomendamos, lo probamos Si va a fallar, lo sabemos Soporte técnico sin guion Vení a tocar el showroom Impresoras imprimiendo en mostrador Filamentos al tacto Notebooks encendidas Electrónica armada Demos los sábados Cursos presenciales Guías técnicas gratis Repuestos para Bambu Lab Repuestos para Creality Hot-ends, boquillas y plates Sensores, motores y módulos Componentes PC y mejoras Comprá con criterio Probá con calma Aprendé con quien sabe Llevate lo correcto Hacé proyectos reales Rosario · Centro · Showroom abierto Tecnología argentina cuando se puede Tecnología importada cuando hace falta Curaduría > Catálogo Hechos > Promesas Servicio > Discurso Stack: Bambu · Creality · FilAr · Arduino · ESP32 No somos marketplace Somos gente que la usa Y la fabricamos cuando se puede Breva · Rosario