Brazo Robótico IoT de 5 Grados de Libertad con Arduino Yun y Control Blynk
Componentes y suministros
| Arduino Yun | × | 1 |
| Servos (Tower Pro MG996R) | × | 5 |
Aplicaciones y servicios en línea
- Blynk
- MATLAB
Sobre este proyecto
Este es mi primer brazo robótico con las siguientes características:
- Robot de 5DOF, en realidad 4 si excluimos el gripper
- El cerebro es un Arduino Yun con capacidades IoT
- La interfaz de control está construida en la app Blynk
- Cinemática directa implementada en MATLAB usando Robotics Toolbox
- Una nueva librería que escribí que logra un movimiento suave
Estoy muy contento con el resultado. Por eso, me gustaría compartir mi experiencia y cómo construirlo.
Componentes y materiales
Para construir el robot necesitas:
- 1 x Arduino Yun (o cualquier placa Arduino)
- 5 x servomotores
- 1 x cargador 5V, mínimo 2.5 A
- 2 x LEDs
- 2 x resistencias, 100 ohm (LED rojo) y 150 ohm (LED azul), respectivamente
- 2 x palitos de madera para mezclar
- 1 x alambre metálico (o similar)
- 1 x lámina de plástico (la tomé de una botella de gel de ducha)
- 1 x goma elástica
- 2 x esponjas pequeñas (ver esquina superior izquierda)
- 9 x tornillos plásticos M3
- 6 x tornillos plásticos M2.5
- 1 x tabla de madera 3mm (30cm x 50cm debería ser suficiente)
- 1 x pegamento para madera
- Tiempo para programar

Construcción del robot
Para construir el robot, comienza midiendo el tamaño de los servos y comprobando su par. Esto te dará una indicación sobre el tamaño de los brazos y eventualmente el tamaño del robot. En mi caso, pedí 2 pares de micro servos de alto par diferentes: primer par y segundo par. Estos pueden girar hasta 140 grados aunque están especificados para 120 grados. Sin embargo, aconsejo comprar servos de 180 grados para tener mayor ángulo de recorrido.
Para el gripper, no se necesita un servo de alto par. El micro-servo más barato de eBay puede hacer el trabajo.
Comienza cortando los brazos como ves en la Foto 1. Aquí puedes ser creativo, no hay diseño fijo, puedes inventar el tuyo. Luego, construye el gripper usando un palito de mezclar cortado a la mitad y la lámina de plástico como muelle de retorno. Con cables conectados al lado interior puedes cerrar y abrir el gripper. Para mi robot, usé un tornillo M3 para hacer el pivote del gripper. El pivoteo del gripper se hace por un servo ubicado al otro lado del brazo para obtener equilibrio de peso. La potencia se transmite via otro palito de mezclar (ver Foto 2, parte superior del robot).
A continuación, construye la base y la placa que sostiene el servo de la base y la placa Arduino Yun (u otra). Junta todo y deberías tener algo como en la Foto 2.
Si quieres un diseño mejor, lija los componentes de madera y píntalos (como en la Foto 3) con tu color preferido. Para mi robot, elegí color plateado (para imitar metal) con franjas rojas. El resultado final se muestra en la Foto 4.




Software
Para el software, comencé creando primero una interfaz en Blynk. Si no has usado Blynk antes, revisa su web para ver cómo hacerlo. Debería ser muy fácil y directo.
Nota: Si no tienes una placa que se conecte a internet, no te preocupes, puedes seguir usando Blynk con una placa normal, ej. Arduino Uno, vía puerto USB. Para esto lee aquí.
Luego, vamos al Arduino IDE y escribimos código. Para tu comodidad, adjunté el código, así que solo tienes que usarlo :) Para ejecutarlo necesitas hacer lo siguiente:
- Configurar la placa Arduino Yun.
- Instalar librería Blynk en tu Arduino IDE yendo a Sketch → Include Library → Manage Libraries, buscar Blynk e instalarla.
- Añadir la librería SimpleTimer en una carpeta llamada SimpleTimer a tu carpeta de librerías de Arduino, usualmente Arduino\libraries\
- Añadir la librería MotionGenerator que escribí, en una carpeta llamada MotionGenerator a la carpeta de librerías de Arduino
- Compilar y subir RobotArm_instructables.ino (Nota: no olvides actualizar tu token de Blynk)
Nota: La librería MotionGenerator es una solución basada en analítica que te dará transiciones suaves y agradables de un punto a otro. Permite limitaciones en la velocidad máxima y aceleración.



Opcional (cinemática directa, ver Foto 3 arriba): Para esto necesitas MATLAB y Robotics Toolbox. Si tienes todo configurado, asegúrate de que tu robot está conectado a Blynk y al puerto USB de tu computadora. MATLAB recopilará información del Arduino vía comunicación serial. Así que asegúrate de poner el puerto COM correcto en MainScrip.m. Finalmente, simplemente ejecuta MainScrip.m.
Nota: La cinemática del robot es para mi propio robot. Para el tuyo las dimensiones pueden ser diferentes (siéntete libre de ajustar en robotKinematicsFcn.m).
Código
Archivos fuente (C/C++)
Archivo zip conteniendo los archivos de código fuente.
No hay vista previa (solo descarga).
Esquemáticos

Proceso de manufactura
- Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100
- Control Remoto IoT de Brazo Robótico Personalizado con Arduino MKR1000 y ThingSpeak
- Construye un Brazo Robótico Impreso en 3D Controlado por Arduino – Guía Paso a Paso
- Brazo Robótico de 6 Grados de Libertad Controlado por Nunchuk con Arduino
- Brazo Robótico Inteligente Controlado por Arduino: Tutorial DIY Fácil
- LittleArm 2C: Brazo Robot 3D Imprimible para Educación STEM con Arduino Nano
- Sistema de Control de Piscina con Azure IoT: Sensores Inteligentes y Monitorización Remota
- Brazos Robóticos Industriales: Impulsando la Revolución Manufacturera
- Cómo se construyen los brazos robóticos: diseño y funcionamiento
- Makerarm: El brazo robótico todo-en-uno de escritorio para makers
- Arduino lanza Portenta H7: Board IoT industrial‑grade debuta en CES