Construye a Sauron: Robot semihumanoide – Guía completa con Arduino Mega 2560
Componentes y materiales
| Arduino Mega 2560 | 1 |
| 1Sheeld (shield Bluetooth para smartphone) | 1 |
| Dispositivo Android | 1 |
Herramientas necesarias
- Cortadora láser
Aplicaciones y servicios online
- Arduino IDE
- Aplicación 1Sheeld (Google Play)
Sobre el proyecto
¿Fan de El Señor de los Anillos? Este proyecto construye un robot semihumanoide a escala humana inspirado en Sauron. Tiene dos brazos de 3 grados de libertad (DOF), una cabeza de 3 DOF y una base fija. Funciona en tres modos seleccionables mediante botones (o shields virtuales de 1Sheeld):
- Modo espera: Secuencia de movimientos autónoma para exhibición.
- Modo gamepad: Control manual vía shield Gamepad de 1Sheeld.
- Modo imitación: El robot replica los movimientos del operador usando sensores del smartphone (orientación, giroscopio) montado en un guante.
Diseñado para Maker Faire New York, inspira a niños a crear sus personajes de película con Arduino y 1Sheeld. Se incluyen todos los archivos: CAD, esquemáticos, código, DXF para corte láser.
Paso 1: Cabeza del robot
Basada en el diseño open-source "Fritz" de xyzbot. Piezas cortadas en láser en contrachapado de 3mm. Se omiten ojos 3D, cejas y labios para reducir coste y tiempo. Ensamblaje según video del autor, saltando base y partes 3D.
Paso 2: Cuerpo del robot
Estructura de varillas Artelon y contrachapado 3mm, uniones machihembradas. Tornillos M4x20 para marco-madera, M12x30 para esqueleto-base, M4x10 para servos. Esqueleto Artelon: varilla base 50mm, esqueleto 25mm, varillas de ancho 15mm. Ver PDFs adjuntos.
Paso 3: Base del robot
Diseñada en Solidworks, chapa de 6mm con aligeramientos. Fija a mesa con 3 tornillos o 2 grilletes C de 4". Tornillos M12x30 unen base y esqueleto. Archivo DXF incluido.
Paso 4: Brazos del robot
Diseño modular para transporte y versatilidad (espada, gancho, puños, pinzas). Marco en contrachapado 3mm, uniones hombro en aluminio pan-tilt, armas en balsa. Junta de antebrazo dividida en láminas con Autodesk 123D Make y cortada láser. Cálculo de par en Solidworks (requiere servos >3kg/cm).
Paso 5: Casco y armadura (cosplay)
Basado en instructables de Sauron Cosplay, adaptado a dimensiones del robot. Agradecimientos a Nate Space y Kareem.
Paso 6: Electrónica
- Arduino Mega + 1Sheeld controlan servos de brazos y cabeza.
- Fuente 5V/5A para servos y Arduino.
- Protoboard pequeña para común VCC/GND.
- 1Sheeld aprovecha sensores del smartphone vía Bluetooth. Shields usados: Gamepad, Orientation, Music Player, Toggle Button, Terminal.
Paso 7: Código Arduino
Incluye librería OneSheeld y Servo. Define 9 servos (3 por brazo, 2 cuello, 1 boca). Pines de modo 2 y 3 con interrupciones. Tres funciones principales: standbyMode() (secuencia de 9 posiciones con audio), gamePadMode() (control por botones), imitationMode() (mapeo orientación smartphone a servos). Subida de código: poner 1Sheeld en modo UART (switch alejado del logo), subir, volver a modo operación.
Paso 8: Sauron en Maker Faire New York
Galería de fotos del robot interactuando con visitantes.
Paso 9: Trabajo futuro
- Vídeo de montaje y pruebas de los tres modos.
- Cabeza completa: añadir motores restantes e imprimir ojos 3D (párpado, soporte, anillo, bola).
- Base móvil: reemplazar base fija por plataforma 4 ruedas mecanum (diseñada en Solidworks, pendiente de integración).
Código principal (Sauron Arduino Code)
#define CUSTOM_SETTINGS
#define INCLUDE_GAMEPAD_SHIELD
#define INCLUDE_MUSIC_PLAYER_SHIELD
#define INCLUDE_TERMINAL_SHIELD
#define INCLUDE_ORIENTATION_SENSOR_SHIELD
#include <OneSheeld.h>
#include <Servo.h>
Servo rightArm_Motor1, rightArm_Motor2, rightArm_Motor3;
Servo leftArm_Motor1, leftArm_Motor2, leftArm_Motor3;
Servo neckHorizontal, neckVertical, mouth;
const int modePin1 = 2, modePin2 = 3;
volatile int modeState1 = LOW, modeState2 = LOW;
volatile boolean gamepadMode_Enabled = false, imitationMode_Enabled = false;
const int ledPin1 = A0, ledPin2 = A1;
void setup() {
OneSheeld.begin();
pinMode(modePin1, INPUT); pinMode(modePin2, INPUT);
pinMode(ledPin1, OUTPUT); pinMode(ledPin2, OUTPUT);
digitalWrite(ledPin1, HIGH); digitalWrite(ledPin2, HIGH); // Ojos Sauron
attachInterrupt(digitalPinToInterrupt(modePin1), gampadMode_ChangeISR, CHANGE);
attachInterrupt(digitalPinToInterrupt(modePin2), imitationMode_ChangeISR, CHANGE);
rightArm_Motor1.attach(4); rightArm_Motor2.attach(5); rightArm_Motor3.attach(6);
leftArm_Motor1.attach(7); leftArm_Motor2.attach(8); leftArm_Motor3.attach(9);
neckHorizontal.attach(10); neckVertical.attach(11); mouth.attach(12);
// Posición home
rightArm_Motor1.write(95); rightArm_Motor2.write(150); rightArm_Motor3.write(20);
leftArm_Motor1.write(90); leftArm_Motor2.write(45); leftArm_Motor3.write(180);
neckHorizontal.write(105); neckVertical.write(30); mouth.write(100);
}
void loop() {
modeState1 = digitalRead(modePin1);
modeState2 = digitalRead(modePin2);
if (modeState1 == HIGH) { Terminal.println("GamePad Mode"); gamePadMode(); }
else if (modeState2 == HIGH) { Terminal.println("Imitation Mode"); imitationMode(); }
else { Terminal.println("Standby Mode"); standbyMode(); }
}
// standbyMode(): secuencia de 9 posiciones con música y movimiento de boca
// gamePadMode(): responde a botones Up, Down, Left, Right, Red, Orange, Green, Blue
// imitationMode(): mapea OrientationSensor.getY() y getZ() a servos brazo izquierdo
// ISRs para cambio de modo con toggles
Esquemático
Diagrama de conexiones servos, 1Sheeld y alimentación.
Proceso de manufactura
- Robots industriales: diseño, fabricación y tendencias futuras
- Construye un Robot SCARA DIY con Arduino – Guía Paso a Paso
- Maximizando eficiencia: Celda multi-robot inyección produce vaso agitador completo en un ciclo
- El Futuro de la Automatización: Robots Autorreplicantes Remodelando la Industria 4.0
- Construya el equipo ideal de implementación ERP: Estrategias probadas para el éxito
- Construye tu Robot con Raspberry Pi: Guía para Principiantes y Proyectos Avanzados
- Mejorando la Consistencia con Robots de Pulverización Autónomos
- Cómo los Robots de Pintura Reducen Retrabajos, Aumentan Consistencia y Ahorran Costes
- Reduciendo Costes de Retrabajo en Fabricación: Estrategias para Eficiencia y Calidad
- Visión robótica en la industria: De la visión a la autoprogramación
- Qué es un robot de autoprogramación y por qué importa