Todos los servos comparten:
GND común
Alimentación externa de 5V
CÓDIGO FUENTE
#include <ESP32Servo.h>
Servo servoHorizontal;
Servo servoVertical;
Servo servoParpado;
const int pinHorizontal = 18;
const int pinVertical = 19;
const int pinParpado = 21;
// Horizontal
int centroHorizontal = 90;
int izquierda = 70;
int derecha = 120;
// Vertical
int centroVertical = 90;
int arriba = 30;
int abajo = 115;
// Párpado
int parpadoCasiCerrado = 40;
int parpadoMedio = 70;
int parpadoAbierto = 90;
void setup() {
servoHorizontal.attach(pinHorizontal, 500, 2400);
servoVertical.attach(pinVertical, 500, 2400);
servoParpado.attach(pinParpado, 500, 2400);
servoHorizontal.write(centroHorizontal);
servoVertical.write(centroVertical);
servoParpado.write(parpadoCasiCerrado);
delay(1000);
}
void loop() {
// Despierta el ojo
servoParpado.write(parpadoMedio);
delay(500);
servoParpado.write(parpadoAbierto);
delay(1000);
// Mirar izquierda
servoHorizontal.write(izquierda);
delay(1000);
// Centro
servoHorizontal.write(centroHorizontal);
delay(500);
// Mirar derecha
servoHorizontal.write(derecha);
delay(1000);
// Centro
servoHorizontal.write(centroHorizontal);
delay(500);
// Mirar arriba
servoVertical.write(arriba);
delay(1000);
// Centro
servoVertical.write(centroVertical);
delay(500);
// Mirar abajo
servoVertical.write(abajo);
delay(1000);
// Centro
servoVertical.write(centroVertical);
delay(1000);
// Cerrar un poco el ojo
servoParpado.write(parpadoMedio);
delay(400);
servoParpado.write(parpadoCasiCerrado);
delay(1000);
}
En este proyecto construí un ojo animatrónico impreso en 3D utilizando tres servomotores MG90S y un ESP32 como controlador principal.
El objetivo fue replicar y probar un diseño encontrado en la comunidad maker para comprender su funcionamiento mecánico, electrónico y de programación.
Este proyecto forma parte de la serie "Construyendo Proyectos de Internet", donde selecciono proyectos interesantes, los construyo, los pruebo y documento mi experiencia.
Diseño original: Ojo animatrónico V4
Autor: Morgan Manly
Fuente: MakerWorld
Aquí puedes acceder al proyecto original y descargar los archivos STL:
https://makerworld.com/es/models/1217249-animatronic-eye-v4#profileId-1233372
Durante la construcción realicé las siguientes actividades:
Impresión 3D de todas las piezas.
Ensamble mecánico completo.
Pintura manual del iris utilizando marcadores.
Instalación de tres servomotores MG90S.
Adaptación del proyecto para ESP32.
Desarrollo y ajuste del código de control.
Pruebas de funcionamiento y calibración de movimientos.
ESP32
3 Servomotores MG90S
Fuente de alimentación de 5V
Protoboard
Cables Dupont
PLA Blanco
PLA Negro
Destornillador
Tornillos
Marcadores para colorear el iris
Al desarrollar este proyecto pude comprender mejor:
Control de servomotores con ESP32.
Alimentación adecuada de múltiples servos.
Calibración de movimientos mecánicos.
Integración entre impresión 3D y electrónica.
Adaptación de proyectos open source para fines educativos.
Seguimiento ocular mediante cámara.
Control remoto desde aplicación web.
Integración con reconocimiento facial.
Movimiento más natural mediante interpolación de posiciones.
Versión binocular con dos ojos sincronizados.
El proyecto fue ensamblado y probado exitosamente. El ojo puede mover el iris en diferentes direcciones y controlar el párpado mediante tres servomotores, demostrando una plataforma interesante para futuros desarrollos en robótica educativa y animatrónica.
Junio de 2026