- Materiales necesarios:
- Impresión 3D de las piezas necesarias:
- Hardware y esquemas:
- Montaje del robot:
- Programando el Arduino para Robot Biped:
- Aplicación de Android basada en procesamiento:
- Funcionamiento del robot bípedo controlado por Bluetooth:
Bienvenidos a otro proyecto en el que construiremos un pequeño robot que puede caminar y bailar. El proyecto tiene como objetivo enseñarle cómo hacer pequeños robots de pasatiempo usando Arduino y cómo programar sus servomotores para tales aplicaciones. Al final del proyecto podrás realizar este robot andante y bailando que toma el mando de un teléfono móvil Android para realizar algunas acciones predefinidas. También puede utilizar el programa (que se proporciona al final del tutorial) para manipular fácilmente las acciones de su propio robot controlando la posición de los servomotores utilizando el monitor en serie. Tener una impresora 3D hará que este proyecto sea más interesante y atractivo. Pero, si no tiene uno, puede usar cualquiera de los servicios en línea o simplemente usar un cartón para construir el mismo.
Materiales necesarios:
Los siguientes son los materiales necesarios para construir este robot:
- Arduino nano
- Servo SG90 - 4Nos
- Palitos de berg macho
- Módulo Bluetooth HC-05 / HC-06
- impresora 3d
Como puede ver, este robot impreso en 3D requiere un mínimo de componentes electrónicos para construir para mantener el costo del proyecto lo más bajo posible. Este proyecto es solo para fines conceptuales y divertidos y no tiene ninguna aplicación en tiempo real hasta ahora.
Impresión 3D de las piezas necesarias:
La impresión 3D es una herramienta increíble que puede contribuir mucho a la hora de construir proyectos de prototipos o experimentar con nuevos diseños mecánicos. Si aún no ha descubierto los beneficios de una impresora 3D o cómo funciona, puede leer la Guía para principiantes de la impresión 3D.
En este proyecto, el cuerpo del robot que se muestra arriba está completamente impreso en 3D. Puede descargar los archivos STL desde aquí. Cargue estos archivos en su software de impresión 3D como Cura e imprímalos directamente. He utilizado una impresora muy básica para imprimir todas las piezas. La impresora es FABX v1 de 3ding, que tiene un precio asequible con un volumen de impresión de 10 cm cúbicos. El precio económico viene con una compensación con baja resolución de impresión y sin tarjeta SD o función de reanudación de impresión. Estoy usando un software llamado Cura para imprimir los archivos STL. La configuración que utilicé para imprimir los materiales se proporciona a continuación, puede usar la misma o cambiarla según su impresora.
Una vez que imprima todas las partes, limpie los soportes (si los hay) y luego asegúrese de que los orificios en la pierna y la parte del vientre sean lo suficientemente grandes para colocar un tornillo. De lo contrario, utilice una aguja para agrandar un poco el agujero. Sus piezas impresas en 3D se verán como las siguientes.
Hardware y esquemas:
El hardware para este robot Arduino bípedo controlado por teléfono móvil es realmente simple. Los esquemas completos se muestran en la siguiente imagen
He utilizado una placa Perf para realizar las conexiones anteriores. Asegúrese de que su circuito también quepa dentro de la cabeza del robot. Una vez que su placa Perf esté lista, debería verse como a continuación.
Montaje del robot:
Una vez que el Hardware y las piezas impresas en 3D estén listos, podemos montar el robot. Antes de arreglar los motores, asegúrese de colocar los motores en los ángulos de abajo para que el programa funcione sin problemas.
Número de motor |
Lugar motor |
Posición del motor |
1 |
Motor de cadera izquierda |
110 |
2 |
Motor de cadera derecha |
100 |
4 |
Motor del tobillo derecho |
90 |
5 |
Motor de cadera derecha |
80 |
Estos ángulos se pueden establecer utilizando el programa que se proporciona al final del tutorial. Simplemente cargue el programa en su Arduino después de realizar las conexiones anteriores y escriba lo siguiente en el monitor en serie (Nota: la velocidad en baudios es 57600).
1, 100, 110
2,90,100
4,80,90
5,70,80
Su monitor serial debería verse así después de colocar todos sus motores en posición.
Una vez que los motores estén colocados en los ángulos correspondientes, móntelos como se muestra en la figura anterior.
Si está confundido sobre cómo ensamblar los motores, siga el video al final de este tutorial. Una vez que el Robot está ensamblado, es hora de programar nuestro robot bailarín.
Programando el Arduino para Robot Biped:
La programación del robot BBB ( Bluetooth Biped Bob ) es la parte más interesante y divertida de este tutorial. Si eres muy bueno programando servomotores con Arduino, te recomiendo que hagas tu programa. Bt, si quieres aprender a usar servomotores para aplicaciones robóticas como esta, este programa te será muy útil. Puede obtener más información sobre la programación arduino en nuestra categoría de proyectos arduino.
El programa completo se encuentra al final de este tutorial, o puede descargar el código completo desde aquí. Explicaré los segmentos del mismo a continuación. El programa es capaz de controlar las acciones de los Robots a través de un monitor serial o Bluetooth. También puede realizar sus propios movimientos controlando cada motor individual mediante el monitor en serie.
servo1.attach (3); servo2.attach (5); servo4.attach (9); servo5.attach (10);
Las líneas de código anteriores se utilizan para mencionar qué servomotor está conectado a qué pin del Arduino. Aquí, en nuestro caso, los Servo 1, 2, 4 y 5 están conectados a los pines 3, 5, 9 y 10 respectivamente.
Bot_BT.begin (9600); // inicia la comunicación Bluetooth a 9600 baudrate Serial.begin (57600);
Como se dijo anteriormente, nuestro robot andante puede funcionar con comandos de Bluetooth y también con comandos del monitor en serie. Por lo tanto, la comunicación en serie Bluetooth funciona con una velocidad en baudios de 9600 y la comunicación en serie funciona con una velocidad en baudios de 57600. El nombre de nuestro objeto Bluetooth aquí es “Bot_BT”.
switch (motor) {caso 1: // Para el motor uno {Serial.println ("Ejecutando el motor uno"); si (num1
La caja del interruptor que se muestra arriba se usa para controlar los servomotores individualmente. Esto le ayudará a realizar sus propios movimientos creativos con su robot. Con este segmento de código, simplemente puede decir el número de motor, desde el ángulo y hacia el ángulo para hacer que un motor en particular se mueva a la ubicación deseada.
Por ejemplo, si queremos mover el motor número 1, que es el motor de la cadera izquierda, desde su ubicación predeterminada de 110 grados a 60 grados. Simplemente podemos escribir “1,110,60” en el monitor serial de Arduino y presionar enter. Esto te resultará útil para realizar tus propios movimientos complejos con tu robot. Una vez que experimente con todos los ángulos desde ángulos y ángulos, podrá realizar sus propios movimientos y repetirlos haciéndolos como una función.
if (Serial.available ()> 0) // Leer lo que entra a través de Serial {gmotor = Serial.parseInt (); Serial.print ("Número seleccionado->"); Serial.print (gmotor); Serial.print (","); gnum1 = Serial.parseInt (); Serial.print (gnum1); Serial.print ("grado"); gnum2 = Serial.parseInt (); Serial.print (gnum2); Serial.println ("grado"); bandera = 1; }
Si hay un dato serial disponible, el número antes del primer "," se considera gmotor y luego el número antes del segundo "," se considera como gnum1 y el número después del segundo "," se considera como gnum2.
if (Bot_BT.available ()) // Leer lo que entra a través de Bluetooth {BluetoothData = Bot_BT.read (); Serial.print ("Entrante de BT:"); Serial.println (BluetoothData); }
Si el Bluetooth recibe alguna información, la información recibida se almacena en la variable “BluetoothData”. Luego, esta variable se compara con los valores predefinidos para ejecutar una acción en particular.
if (bandera == 1) llamar (gmotor, gnum1, gnum2); // llamar al motor respectivo para la acción // Ejecutar las funciones según el commond recibido a través del monitor Serial o Bluetooth // if (gmotor == 10) left_leg_up (); if (gmotor == 11) derecha_leg_up (); if (gmotor == 12) move_left_front (); if (gmotor == 13) move_right_front (); if (BluetoothData == 49 - gmotor == 49) say_hi (); if (BluetoothData == 50 - gmotor == 50) walk1 (); if (BluetoothData == 51 - gmotor == 51) walk2 (); if (BluetoothData == 52 - gmotor == 52) dance1 (); if (BluetoothData == 53 - gmotor == 53) dance2 (); if (BluetoothData == 54 - gmotor == 54) {prueba (); prueba (); prueba ();}
Aquí es donde se llaman las funciones en función de los valores recibidos desde el monitor en serie o el Bluetooth. Como se muestra arriba, la variable gmotor tendrá el valor del monitor serial y BluetoothData tendrá el valor del dispositivo Bluetooth. Los números 10,11,12 hasta 53,54 son números predefinidos.
Por ejemplo, si ingresa el número 49 en el monitor de serie. La función say_hi () se ejecutará donde el robot te saludará.
Todas las funciones están definidas dentro de la página “Bot_Functions”. Puede abrirlo y ver qué sucede realmente dentro de cada función. Todas estas funciones fueron creadas experimentando desde ángel y ángel de cada motor usando la caja del interruptor explicada anteriormente. Si tienes alguna duda puedes usar la sección de comentarios para publicarlos y estaré encantado de ayudarte.
Aplicación de Android basada en procesamiento:
La aplicación de Android para controlar el Robot se construyó usando el modo Procesamiento de Android. Si desea realizar algunos cambios en la Aplicación, puede descargar el programa de Procesamiento completo desde aquí.
Si simplemente desea utilizar la aplicación, puede descargarla desde aquí como archivo APK e instalarla directamente en su teléfono móvil.
Nota: Su módulo Bluetooth debe llamarse HC-06; de lo contrario, la aplicación no podrá conectarse a su módulo Bluetooth.
Una vez que la aplicación está instalada, puede emparejar el módulo Bluetooth con su teléfono y luego iniciar la aplicación. Debería verse algo así a continuación.
Si desea que su aplicación sea más atractiva o conectarse a cualquier otro dispositivo que no sea Hc-06. Puede usar el código de procesamiento y realizar algunos cambios y luego cargar el código directamente en su teléfono.
Funcionamiento del robot bípedo controlado por Bluetooth:
Una vez que su hardware, aplicación de Android y Arduino Sketch estén listos, es hora de divertirse con nuestro robot. Puede controlar el robot desde la aplicación Bluetooth usando los botones de la aplicación o directamente desde el monitor serial usando uno de los siguientes comandos como se muestra en la imagen a continuación.
Cada comando hará que el robot realice algunas tareas peculiares y también puede agregar más acciones en función de su creatividad.
El robot también se puede alimentar con un adaptador de 12 V o también con una batería de 9 V. Esta batería se puede colocar fácilmente debajo de la placa Perf y también se puede cubrir con la cabeza del robot.
El funcionamiento completo de este robot controlado por teléfono inteligente se puede encontrar en el video a continuación.