proyecto brazo robotico con arduino

Proyecto Brazo robótico con Arduino

Bienvenidos a un nuevo proyecto con Arduino, en este proyecto veremos como podemos crear un brazo robótico con Arduino. Este es un brazo robótico de 3 grados de libertad el cual emplea servomotores y una pinza al final. Además, hablaremos de los diferentes materiales empleados en su construcción, se mostrará un esquema de conexiones y finalmente podréis encontrar el código para poder controlar el brazo robótico.

Materiales empleados en la realización del brazo robótico con Arduino

A continuación veremos los diferentes materiales que se van a emplear para realizar nuestro brazo robótico y una breve descripción de los mismos.

Además, para todos aquellos que estén interesados en realizar el proyecto, pueden pinchar en las imágenes y os llevará a una web donde poder adquirir dichos materiales.

Placa de Arduino UNO: Es el cerebro de nuestro proyecto, encargada de controlar todos los procesos del mismo mediante el código que encontrarás más adelante.

Motor paso a paso: Mediante impulsos eléctricos, es posible controlar el giro del motor, el cual se efectúa de una forma discreta.

Servomotores:  motores de 5v con una reductora, lo que permite un gran manejo de su posición y una gran fuerza para su reducido tamaño.

Protoboard: Tabla con orificios (pines) la cual está conectada internamente y usaremos para realizar nuestras conexiones para el proyecto.

Palos de helado: Usaremos estos palos como estructura para dar forma a nuestra grúa.

Para conocer más a fondo sobre cada uno de los diferentes materiales, puedes visitar la página "materiales" donde se explicará de una forma más extensa el funcionamiento y los posibles usos de cada uno de ellos.

Componentes necesarios para contruir un brazo robótico con servomotores

 A continuación os dejamos una lista con todos los componentes empleados en el proyecto de este brazo robótico con servomotores. De esta forma podeis ir directamente a la web y adquirirlos.

Kit iniciación Arduino Kit iniciación Arduino ES
Placa Arduino Uno Placa Arduino Uno ES
Servomotores Arduino Servomotores Arduino ES
Motor paso a paso Motor paso a paso ES
Palitos de helado Palitos de helado ES
Protoboard Protoboard ES
Cables Macho Hembra Cables Macho Hembra ES

¿Necesitas ayuda con algún proyecto?

Realizamos tu proyecto 1
Realizamos tu proyecto 2
Realizamos tu proyecto 3
Realizamos tu proyecto 4
Realizamos tu proyecto 5
Realizamos tu proyecto 6
Realizamos tu proyecto 7
  • Prototipado y MVPs
  • Arduino y ESP32
  • Diseño de PCBs
  • Diseño de piezas 3D
  • Conexión Bluetooth
  • Estudio de Viabilidad
  • Optimización de costes
  • Asesoría Técnica
  • Internet de las Cosas
  • Gestión de Patentes

Video con explicación paso a paso del proyecto del brazo robótico con servomotores

Si lo que buscas es ver de una forma mucho más detallada de como realizar este proyecto desde el inicio hasta el final y una explicación del código, a continuación se muestra el video con dicho contenido, mucho mas visual y fácil de comprender. Y recuerda, si te gusta esta clase de contenido, no olvides suscribirte 😉

Esquema de conexiones Arduino para la construcción del brazo robótico

Una de las partes más importantes a la hora de realizar nuestro montaje del brazo robótico pasa por conectar correctamente los diferentes elementos. En este caso, es importante que todos los servomotores estén correctamente conectados.

Con el fin de evitar errores de montaje o conexiones erróneas, a continuación te dejamos el esquema de conexiones empleado para este proyecto, con este esquema de conexiones es posible usar el código que puedes encontrar al final del post sin necesidad de hacer ninguna modificación.

esquema-conexiones-brazo-robotico-arduino

Como podéis observar, existe una pequeña diferencia entre las conexiones que se realizan en el vídeo y las que se muestran en esta imagen. Esto es debido a que en el video se alimentan todos los servomotores desde la placa de Arduino UNO.

Esto es incorrecto, ya que la corriente que circula por la placa de Arduino podría quemarla si todos los servomotores se alimentan desde la misma placa. Por este motivo es mas correcto realizar las conexiones tal y como se observa en esta imagen, ya que la alimentación proviene del modulo "mb-102", haciendo que la intensidad que para alimentar los motores no pase por la placa de Arduino.

Por último, realizar este montaje (que es muy recomendable) o el que aparece en el video, no va a afectar en nada al código de programación, ya que las conexiones de los motores no cambian de pines en la placa de Arduino UNO.

Código de Arduino para la programación del brazo robótico

A continuación se muestra el código de programación desarrollado específicamente para este proyecto. Los pines que puedes encontrar en el código son los mismos que encontrarás en el esquema de conexiones previamente mostrado.

El codigo que te mostramos a continuación tiene unos movimientos predefinidos, los cuales puedes ver en el video que te hemos dejado arriba. Sin embargo, si deseas que tu brazo robótico pueda realizaar más movimientos, te recomendamos que te veas el siguiente video que te dejamos AQUÍ.

Respecto al código, recuerda instalar las librerías "Servo.h" y "Stepper.h". También asegúrate de que el puerto donde esta conectada la placa de Arduino es el que esta seleccionado.

Si tienes dudas sobre cómo usar o instalar el entorno de programación empleado para Arduino, te dejamos un link de comó descargar el IDE de Arduino

//Canal de YouTube -> Robot UNO
//Proyecto -> Brazo robotico version1
#include <Servo.h>
#include <Stepper.h>
Servo servomotor3; //Servomotor pinza
Servo servomotor2; //Servomotor enmedio
Servo servomotor1; //Servomotor abajo
Stepper motor(2048, 4, 6, 5, 7);
void setup() {
  servomotor3.attach(11);
  servomotor2.attach(10);
  servomotor1.attach(9);
  motor.setSpeed(5);
}
void loop() {
  //Reinicio
  servomotor1.write(0);
  servomotor2.write(0);
  servomotor3.write(0);
  //motor.step(512);
  delay(3000);
  //COJE EL OBJETO
  for(int i=0; i<=45; i++){
    servomotor3.write(i);
    delay(25);
  }
  delay(1000); 
  for(int i=0; i<=90; i++){
    servomotor2.write(i);
    delay(25);
  }
  delay(1000);  
  for (int i=0; i<=90; i++){
    servomotor1.write(i);
    delay(25);
  }
  delay(1000);
  for(int i=45; i>=0; i--){
    servomotor3.write(i);
    delay(25);
  }
  delay(1000);
   for (int i = 90; i>=0; i--){
    servomotor1.write(i);
    delay(25);
  }
  delay(1000);
  for (int i = 90; i>=0; i--){
    servomotor2.write(i);
    delay(25);
  }
  delay(1000);
  //GIRA CON EL OBJETO
  motor.step(512);
  delay(1000);
  //DEJA EL OBJETO
  for(int i=0; i<=90; i++){
    servomotor2.write(i);
    delay(25);
  }
  delay(1000);
  for (int i=0; i<=90; i++){
    servomotor1.write(i);
    delay(25);
  }
  delay(1000);  
  for(int i=0; i<=45; i++){
    servomotor3.write(i);
    delay(25);
  }
  delay(1000);
  //VUELVE A LA POSICION INICIAL
  servomotor1.write(0);
  servomotor2.write(0);
  motor.step(-512);
  delay(3000);
}

También te puede interesar este otro proyecto sobre un brazo robótico controlado por botones

Si te ha gustado este proyecto. A continuación te proponemos una variación que no te costará nada de implementar. En este caso se ha empleado el mismo brazo robótico pero en vez de controlarlo mediante comandos, se ha controlado mediante el uso de botones. De esta forma podrás seguir con la evolución de este fascinante proyecto.

brazo robotico controlado por botones arduino
Publicado en Proyectos de Robótica, Proyectos con Arduino, Proyectos con Servomotores, Proyectos de electrónica.

30 Comentarios

  1. es urgente. como se alimenta el proyecto?. Metiendole 5v a la placa uno y 5v al mb102 o directamente todo a la placa o todo al mb2? gracias de antemano

  2. para todos aquellos que cren que no sirve el codigo , ami si me funciono correctamente pero con el sotfwar arduino-1.8.13-windows
    .exe

  3. Hola, estoy haciendo un proyecto para la escuela de un brazo robotico. Este brazo que medidas y escalas tiene?

  4. Me ha resultado un video muy interesante y The Legend of Zelda es una saga impresionante os lo recomiendo sin ninguna duda. Saludos a Illojuan Y a Masi desde Alicante!!

  5. Lo armé con una placa Arduino Mega 2560 respetando los números de pines y no funciona, lo conecto y hace cosas raras el motor inferior gira hasta hacer tope con la mesa, saco el brazo y lo coloco a 90° pero vuelve a pegar sobra la mesa, no entiendo qué pasa, no responde

    • Prueba a alimentar todos los motores de forma externa y no desde la placa de arduino. Quizas eso haga que funcione mejor. Un saludo

  6. Buenos días. Me ha encantado el brazo robótico. ¿Podríais decirme por favor cómo se programa con lenguaje de bloques? lo estoy preparando para un grupo de escolares. Muchas gracias.

    • Hola! si, si que se puede, pero yo nunca lo he probado, asi que no se decirte como se hace 🙁 un saludo

  7. buena noche.
    el codigo no funciona correctamente ya que el motor paso a paso gira 360 grados. no es como esta en el video. en el video se ve que va 90 grados los servos bajan a cumplir la funcion luego el motor paso a paso gira otros 90 grados y nuevamente se devuelve a -90 grados a recoger nuevamente el objeto.

  8. me guastaría saber como puedo controlar cuando finaliza su giro, por que al regresar a su punto inicial, ya que este regresa a gran velocidad, lo demás todo esta excelente

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *