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.
Tabla de contenidos
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 ES |
Placa Arduino Uno ES |
Servomotores Arduino ES |
Motor paso a paso ES |
Palitos de helado ES |
Protoboard ES |
Cables Macho Hembra ES |
¿Necesitas ayuda con algún proyecto?
- 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.
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.
Esta muy buena el video de el brazo robótica te mando saludos
Lo voy a hacer💗
apoco si
buena noche.
por favor enviarme el codigo del brazo robotico.
Hola, me podrías mandar el código por favor, desde ya muchas gracias
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
muy buena tu ayuda crack lo usare para un proyecto de la universidad
Hola los materiales se pueden conseguir en ferreterias
Esta super el proyecto y es muy facil
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
q codigo puedes eneviarlo pls
Hola, estoy haciendo un proyecto para la escuela de un brazo robotico. Este brazo que medidas y escalas tiene?
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!!
Ayer me pase el Elden Ring
Gran noticia! jaajja
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
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, la verdad es que nunca he programado en ese lenguaje, asi que no puedo ayudarte, lo siento
Otra pregunta, se puede programar utilizando TinkerCad? es la plataforma que conozco.
Gracias
Hola! si, si que se puede, pero yo nunca lo he probado, asi que no se decirte como se hace 🙁 un saludo
Hola Gran proyecto pero que parte del código tengo que borrar para que no suelte el objeto
La parte en la que pone:
//Dejo el objeto
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.
Es el mismo modelo de motor paso a paso?
quiero el codigo correcto.
gracias
que problema tienes?
Hola, excelente video, que simulador de Arduino usas?, gracias de antemano
Tenemos un post explicando como instalar el entorno de programación de Arduino
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