Mecanismo Ruedas - LiamSaboridoSueiro/Mecatronica-Proyecto GitHub Wiki
Para poder tener todos los materiales para nuestra idea, hemos bajado al laboratorio a por dos kits de arduino plus, battery shields y por amazon se han pedido unas esp32. También contamos con más componentes cada uno. En cuanto tengamos todos los materiales iremos probando el funcionamiento de todo.
Estuvimos investigando en distintos páginas y vídeos para averiguar si era posible programar la esp32 desde Visual Studio Code, encontramos que la extensión PlataformIO IDE nos dejaba hacer esto. Se nos complicó un poquito (unos más que a otros) la instalación del mismo porque tiene muchas dependencias. Algunos enlaces que hemos consultado y que pueden resultar de utilidad son:
- Getting Started with ESP32 - Step-By-Step Tutorial
- Standard Toolchain Setup for Linux and macOS
- Adding User to dialout or uucp on Linux
- Install Python Interpreter
- Programming an ESP32 using VS Code
- PlatformIO IDE for VSCode
- platform-espressif32
También nos ayudó reiniciar Visual Studio.
Hemos usado este código de prueba, que está subido al repo, para comprobar su funcionamiento.
Estuvimos pensando en cómo controlar el robot porque hay varias opciones para hacerlo. Barajamos entre una aplicación móvil (bluetooth o wifi) o manejarlo con un mando bluetooth. Buscando código por internet se nos hizo más fácil controlarlo con un mando porque podemos añadir más funcionalidades de manera intuitiva, a parte de que quedaría más como un robot de juguete.
Para conectar el mando de PS4 (o cualquiera de los que acepte la librería que uses) a la ESP32 mediante Bluetooth, usamos la librería BluePad32.
Pasos para realizar la configuración
-
Instalación de librerías y configuración:
- Instalar los gestores de placas para ESP32 y BluePad32 en el Arduino IDE.
- Agregar las URLs en las preferencias del IDE para tener acceso a estas librerías.
- Instalar las placas: ESP32 de Expressive Systems y BluePad32.
-
Elegir la placa:
- Seleccionar la placa correcta desde el menú de la ESP32, como la DOIT ESP32 Devkit V1.
-
Subir el código de ejemplo:
- Utilizar un sketch de ejemplo de BluePad32 para conectar el controlador.
- El código tiene tres secciones clave:
- dump gamepad: Muestra en el monitor serie los botones del controlador y sus valores.
- process gamepad: Aquí es donde se puede agregar el código para activar componentes, como motores o LEDs.
- setup: Definir los pines del ESP32 y conectar elementos como servos o LEDs.
-
Probar y mapear los botones:
- Conectar el controlador y abrir el monitor serie para ver los valores que se generan al presionar los botones.
- Anotar los valores específicos de los botones, joysticks, etc., para asignarlos a las funciones de tu proyecto.
-
Control de componentes:
- Asignar cada botón o joystick del controlador a una acción en el ESP32, como encender un LED o mover un servo.
- Hacer pruebas para verificar que el controlador y la ESP32 interactúan correctamente.
Nos costó un poco poder controlar los dos motores a la vez porque el cableado es mucho y te puedes perder fácilmente. Después de rehacerlo 5 veces, por lo menos, conseguimos que fueran los dos motores a la vez. Lo hicimos con el controlador L2930D porque era el controlador más pequeño del que disponíamos (tenemos que ahorrar todo el espacio que podamos).
Al final estuvimos unos cuantos días entre motores y mando, pero consiguimos que funionase. Aquí dejamos su funcioanmiento:
prueba_mando_motores.mp4
Le añadimos una pila de 9v para que tuviera más potencia el circuito, aunque todavía tenemos que ver cómo vamos a gestionar las baterías dentro del robot. Queremos que se parezca lo máximo posible a la serie, pero que funcione bien y entre todo. Esta es la disposición de las baterías en la serie:
Los últimos días estuvimos mirando cómo incorporaríamos las ruedas al robot Kantam, ya que tenemos un espacio reducido. Siempre tuvimos en mente que fueran unas rudas de oruga (tipo tanque) que son las más estables siendo ruedas pequeñas. No sabíamos si queríamos impirmir también la base de las ruedas o comprar la goma, estuvimos mirando estos diseños en thingverse:
- PrintBot Rhino de bq
- MR6 - Mini Prototyping Tank Robot de timmiclark este fue el primero que vimos con cadenas impresas
- Rover platform de nahueltaibo con solo dos ejes con lado y con cadenas para imprimir
- Modular Rover Tracks de nahueltaibo con un solo motor
La idea que se tuvo al principio fue usar el zapato como cubierta. Esto hace que quede más grande el pie de lo que debería, pero que no se vea el sistema de dentro y pueda parecerse lo máximo posible al robot original. Después de encontrar el modelo de ruedas de oruga con un solo motor tuvimos completamente claro como debía ser el diseño final de la pierna.
Lo primero que imprimimos fue una de las piernas, como estábamos aprendiendo a configurar la impresión tardamos 1 día y 17 horas en tenerla impresa. Mientras que la segunda fue un día.




También hicimos pruebas con las ruedas montadas
