Brazo Robótico de 4 Servomotores
El Brazo Robótico de 4 Servomotores es un manipulador que contiene 4 servomotores sg90 o 4 servomotores mg90s, de tamaño educativo y de Código Abierto, manipulable con cualquier placa que maneje servomotores básicos.
En la siguiente guía encontrarás todos los pasos necesarios para controlar tu Brazo Robótico de 4 Servomotores utilizando una computadora, el Arduino IDE y el monitor serial. Enviaremos varias letras del teclado a través del monitor serial, de modo que cada letra moverá un motor hacia la derecha o la izquierda, permitiéndonos controlar todo el brazo con el teclado.
Recomendaciones Iniciales
Antes de empezar con esta guía, asegúrate de desconectar el pin conector del servomotor de la Garra. Si la Garra está conectada y cerrada, el servomotor podría forzarse y quemarse.
Para evitar problemas, primero calibra la Garra:
- Cuando la Garra está completamente abierta, debería estar a 0 grados.
- Cuando la Garra está completamente cerrada, debería estar entre 40 y 50 grados.
Si la Garra está cerrada a más de 50 grados, estará aplicando demasiada fuerza, lo que podría forzar el servomotor y dañarlo si se mantiene en ese estado por mucho tiempo. Así que ajusta cuidadosamente para proteger tu equipo.
Si deseas saber el Ángulo del servomotor, te recomendamos seguir la siguiente guía:
→ Cómo Probar Servomotores con ArduinoMateriales Necesarios:
Brazo Robotico MeArm Kit Negro
Arduino Uno R3 + Cable de Datos
Jumpers Dupont M-M 10cm x 40 Und
Protoboard Mini 170 Puntos
Explicación Código de Control
1. Librerías y Variables del Brazo
En esta parte del código, incluimos la librería Servo.h, que nos permite controlar servomotores con Arduino. Luego, declaramos cuatro objetos de tipo Servo para controlar las diferentes partes del Brazo Robótico 4 Servomotores: la rotación, el hombro, el codo y la garra.
También inicializamos las variables de ángulo para cada uno de estos componentes. Estas variables nos ayudarán a mover los servomotores a la posición deseada.
Servo rotacion; Servo hombro;...
int anguloRotacion = 90; int anguloHombro = 90;
2. Configuración de Pines (void setup)
En la función setup(), que se ejecuta una sola vez al iniciar el programa, asignamos los pines de Arduino a cada servomotor utilizando el método attach(). Esto conecta físicamente los servomotores a los pines digitales 2, 5, 7 y 8 de la placa Arduino. Además, iniciamos la comunicación serial a 9600 baudios con Serial.begin(9600).
rotacion.attach(2); hombro.attach(5);
Serial.begin(9600);
}
3. Lógica del Bucle (void loop)
La función loop() se ejecuta repetidamente. Verificamos datos disponibles con Serial.available() y leemos con Serial.read(). Dependiendo del comando recibido, ajustamos el ángulo incrementándolo o disminuyéndolo en 3 grados. Usamos constrain() para los límites y movemos los servos con write().
if (Serial.available()) {
comando = Serial.read();
if (comando == 'a') anguloRotacion += 3;
}
rotacion.write(anguloRotacion);
}
📄 Código Completo Arduino
A continuación encontrarás el código completo en lenguaje Arduino:
#include <Servo.h> /* * Movimiento Brazo Robotico Bluetooth RDC * Desarrollado por RDC - Robotica de Colombia * Visitanos en nuestras redes oficiales */ Servo rotacion; Servo hombro; Servo codo; Servo garra; int anguloRotacion = 90; int anguloHombro = 90; int anguloCodo = 90; int anguloGarra = 10; const int reposoRotacion = 100; const int reposoHombro = 90; const int reposoCodo = 110; const int reposoGarra = 10; const int incrementoRampa = 5; const int tiempoEntrePasos = 30; void setup() { rotacion.attach(2); hombro.attach(5); codo.attach(7); garra.attach(8); Serial.begin(9600); moverServosConRampa(reposoRotacion, reposoHombro, reposoCodo, reposoGarra); mostrarMenu(); } void loop() { if (Serial.available()) { char opcion = Serial.read(); if (opcion == '1') { ejecutarRutinas(); moverServosConRampa(reposoRotacion, reposoHombro, reposoCodo, reposoGarra); } else if (opcion == '2') { controlManual(); } } } void controlManual() { while (true) { if (Serial.available()) { char comando = Serial.read(); if (comando == 'm') break; switch (comando) { case 'a': anguloRotacion = constrain(anguloRotacion + 15, 0, 180); break; case 's': anguloRotacion = constrain(anguloRotacion - 15, 0, 180); break; case 'e': anguloHombro = constrain(anguloHombro + 15, 70, 160); break; case 'd': anguloHombro = constrain(anguloHombro - 15, 70, 160); break; case 'z': anguloGarra = 10; break; case 'x': anguloGarra = 40; break; } rotacion.write(anguloRotacion); hombro.write(anguloHombro); codo.write(anguloCodo); garra.write(anguloGarra); } } } void moverServosConRampa(int rot, int homb, int cod, int gar) { while (anguloRotacion != rot || anguloHombro != homb || anguloCodo != cod || anguloGarra != gar) { if (anguloRotacion < rot) anguloRotacion += incrementoRampa; else if (anguloRotacion > rot) anguloRotacion -= incrementoRampa; if (anguloHombro < homb) anguloHombro += incrementoRampa; else if (anguloHombro > homb) anguloHombro -= incrementoRampa; rotacion.write(anguloRotacion); hombro.write(anguloHombro); delay(tiempoEntrePasos); } }
Esquema Electrónico
Deberás seguir el siguiente esquema electrónico para tu manipulador robótico. Si compraste un kit completo, verifica que los pines de conexión del Arduino a tus servomotores estén correctos:
Control por Monitor Serial
Sigue estos pasos para controlar tu brazo robótico utilizando el monitor serial de Arduino IDE:
Paso 1: Selección de la Placa y el Puerto
En el apartado “Herramientas” del Arduino IDE, selecciona la opción “Placa” y escoge “Arduino/Genuino Uno”. Luego, en la opción “Puerto”, elige el puerto COM al que está conectado tu módulo bluetooth al PC.
Generalmente, este será el segundo puerto COM de conexión bluetooth, diferente del puerto COM que usaste para conectar tu Arduino UNO por puerto serial y cargar los códigos en los pasos anteriores.
Paso 2: Iniciar el Monitor Serial
Inicia el Monitor Serial que está incorporado en tu IDE de Arduino. Esto te permitirá enviar comandos a tu brazo robótico y ver las respuestas en tiempo real.
Paso 3: Enviar Comandos en el Monitor Serial
En el Monitor Serial podrás enviar comandos y visualizar en qué grado se encuentran los servomotores:
| Tecla | Acción |
|---|---|
| a | + Rotación |
| s | – Rotación |
| e | + Hombro |
| d | – Hombro |
| r | + Codo |
| f | – Codo |
| z | + Garra |
| x | – Garra |
¡Felicidades!
¡Lo lograste! Ya puedes mover tu Brazo Robótico con precisión desde tu teclado. Este es el inicio de grandes proyectos espaciales y tecnológicos.
Recuerda: Revisa siempre tus conexiones para cuidar tus servomotores antes de jugar.¡Disfruta creando con tu nuevo Brazo Robótico!

