Este es uno de los proyectos mas interesantes que puedes encontrar en esta pagina web. Es la primera vez que he utilizado una impresora 3D, así que no me juzguéis por los resultados finales.
La programación de este robot de momento es muy sencilla, ya que mi idea es en el futuro subir otro proyecto mejorando este robot y añadiéndole muchas características.Si tienes cualquier duda sobre el montaje, las conexiones o la programación pónmela por los comentarios que siempre respondo en menos de un día a todos.
Tabla de contenidos
Materiales para fabricar un robot con Arduino
Como he dicho antes, los materiales que se necesitan para construir este Robot son muy sencillos, por lo que si tienes un kit de Arduino básico seguramente tengas todos, pero bueno, aun así aquí debajo te dejo un enlace a Amazon y otro a Aliexpress para cada uno de los componentes que se necesitan para fabricar este proyecto.
Kit iniciación ArduinoESUS |
Placa Arduino UnoESUS |
Servomotores ArduinoESUS |
Pila de 9 voltiosESUS |
Filamento 3DESUS |
Cables Macho HembraESUS |
Además, en este caso también he utilizado una impreso 3D. Si no tienes una y estas pensando en comprarte una, te dejo aquí un enlace de la que yo estoy utilizando, funciona muy bien y estoy muy contento con los resultados.
Video proyecto robot con Arduino
Para que te sea más fácil el montaje y seguir todos los pasos, aquí tienes un video explicando paso a paso como montar el robot, así como consejos y errores que yo he cometido.
Ya que estamos, si te ha gustado dale un like y suscríbete 😉
Esquema de conexiones del robot con Arduino
Uno de los fallos mas comunes a la hora de hacer proyectos con Arduino es conectar mal los cables, por esta razón te recomiendo que te asegures bien de que todas las conexiones están tal y como se muestran en este esquema. Lo he intentando hacer de la manera que mejor se entienda, pero si tienes alguna duda con alguna de las conexiones no dudes en preguntármelo por los comentarios.
Por otra parte, es muy importante tener clara la posición de cada uno de los servomotores, y no liarnos al hacer las conexiones. Derecha, izquierda, arriba, y abajo son referencias tomadas cuando el robot esta de pie mirándonos de frente.
Archivos 3D para la impresión del robot
Otra parte muy importante de este proyecto es imprimir en 3D la estructura del robot. Te dejo por aquí los archivos .stl para que imprimas el robot tu mismo, pero si te gustaría adaptarlo o hacerle algunas mejoras, pídeme por los comentarios los archivos .dwg para que te sea mas rápido hacerlo.
Código de Arduino funcionamiento robot
A continuación te mostramos los códigos en Arduino necesarios para hacer funcionar al robot impreso en 3D.
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
En este caso se necesitan 2 códigos de programación. El primero es simplemente para poner los servomotores a 90 grados, que es la posición inicial desde la que empezaran a moverse.
//Canal YouTube -> RobotUNO //Pagina web -> robotuno.com //Proyecto: "ROBOTUNO, EL ROBOT QUE CAMINA, BAILA Y SALUDA" //Codigo auxiliar para poner los servomotores a 90º #include <Servo.h> Servo servo; void setup() { servo.attach(3); } void loop() { servo.write(90); delay(10); }
De momento, el código que he preparado es un código muy simple para comprobar que todo funciona bien. Poco a poco iré mejorándolo y subiéndolo. Por supuesto siéntete libre de comentar cualquier mejora que le hagas al código.
//Canal YouTube -> RobotUNO //Pagina web -> robotuno.com //Proyecto: "ROBOTUNO, EL ROBOT QUE CAMINA, BAILA Y SALUDA" #include <Servo.h> Servo der_arriba; //D3 -> Servo1 Servo der_abajo; //D5 -> Servo2 Servo izq_arriba; //D6 -> Servo3 Servo izq_abajo; //D9 -> Servo4 void setup() { der_arriba.attach(3); der_abajo.attach(5); izq_arriba.attach(6); izq_abajo.attach(9); posicion_inicial(); delay(1000); } void loop() { saludar(); delay(2000); caminar(); delay(2000); bailar(); delay(2000); } void posicion_inicial(){ der_arriba.write(90); delay(100); der_abajo.write(90); delay(100); izq_arriba.write(90); delay(100); izq_abajo.write(90); delay(100); } void saludar(){ int vel=120; for (int i=0;i<2;i++){ der_abajo.write(50); delay(vel); izq_abajo.write(130); delay(vel); der_abajo.write(90); delay(vel); izq_abajo.write(90); delay(vel); izq_abajo.write(130); delay(vel); der_abajo.write(50); delay(vel); izq_abajo.write(90); delay(vel); der_abajo.write(90); delay(vel); } } void caminar(){ int vel=150; for (int i=0;i<30;i++){ der_abajo.write(45); delay(vel); der_arriba.write(135); delay(vel); der_abajo.write(90); delay(vel); der_arriba.write(90); delay(vel); izq_abajo.write(135); delay(vel); izq_arriba.write(45); delay(vel); izq_abajo.write(90); delay(vel); izq_arriba.write(90); delay(vel); } } void bailar(){ for (int i=0;i<5;i++){ der_abajo.write(130); delay(300); izq_abajo.write(40); delay(150); der_abajo.write(90); delay(300); izq_abajo.write(90); delay(150); der_arriba.write(130); delay(500); izq_arriba.write(50); delay(500); der_arriba.write(90); delay(500); izq_arriba.write(90); delay(500); der_arriba.write(130); delay(500); izq_arriba.write(50); delay(500); der_arriba.write(90); delay(500); izq_arriba.write(90); delay(500); } }
Espero que os haya gustado este proyecto, yo la vedad es que he disfrutado muchísimo haciéndolo y me ha encantado poder incorporar piezas diseñadas desde 0 en él. Comenta que te ha parecido, me gustaría saber tu opinión.