Ir al contenido principal

Robot Resuelve cubo Rubyk

 Durante febrero con mi hija nos entretuvimos haciendo el proyecto CUBOTINO. 


En base a piezas impresas en 3D, un par de servos y un Esp32 se arma un robot.


Con la interfaz grafica de un software para PC, escrito en Python, se incorporan las condiciones del cubo de colores a resolver y luego el software resuelve el puzle y determina los movimientos necesarios que debe hacer el robot.

El software del PC envía la información vía USB al Esp32.


El Esp32, con software escrito en microPython,  interpreta la información recibida, para asi controlar y ejecutar los movimientos, de los servos y resolver completamente un cubo Rubyk de 3 x 3.


El proyecto es del italiano Andrea Favaro que ha publicado su proyecto y todos los detalles de como realizarlo en CUBOTino


El archivo pdf del siguiente link es la guía esencial a seguir:

How_to_make_a_very_small_Rubik_cube_solver_robot





Aquí un video de nuestro robot trabajando..




Algunos detalles técnicos de nuestra experiencia que pueden ser particulares y no necesariamente aplicables a todos los que eventualmente hagan el proyecto:

1 . Se descargó el repositorio indicado en las instrucciones en formato zip y luego se descomprimió en el escritorio.

2. Dentro de la carpeta del usuario se creo una carpeta "Ambientes Python". Dentro de esta carpeta se creo otra carpeta con el nombre "cubotino".

3.Una vez que se instaló Python y en el terminal de windows nos dirigimos al directorio "Ambientes Python" y creamos un ambiente virtual llamado "cubotino" escribiendo el comando 
virtualenv cubotino

4. Con lo anterior se crearan algunas carpetas dentro del directorio cubotino. Una de ella es Scripts, dentro de la cual hay dos archivos ejecutables para activar el ambiente vitrual o desactivarlo.

 cd 'C:\Users\marti\Ambientes Python\cubotino\Scripts\'  
.\activate
deactivate

5. Una vez activado el ambiente virtual hay que ejecutar un programa que se ubica dentro de la carpeta "PC_files" dentro del archivo que descomprimimos en el punto 1.
Nos cambiamos de directorio:
 cd C:\Users\marti\Desktop\CUBOTino_base_version\PC_files\ 

y para ejecutar el programa escrito en python

 python Cubotino_GUI.py   


6. Con lo anterior ya debiéramos tener la interfaz grafica andando y todo listo para resolver un puzle.

Si se trata de la primera vez que se conecta el esp32 y los servos y siguiendo el orden de las instrucciones para poder pasar el punto 5 antes habrá que instalar un software llamado Thonny que en realidad es un IDE de microPython que nos permite instalar una imagen de microPython en el Esp32 y luego subir al Esp32 los archivos y programas que son parte del proyecto del robot.
Al seguir las instrucciones lo primero que se hace, una vez instalado microPython, es calibrar los servos.

    max_1000to2000us = 106  
    max_500to2500us = 125 
    min_1000to2000us = 48
    min_500to2500us = 17 
    mid_pos = 66 

Luego de lo anterior se continua en el punto 5.

Una vez en el punto 5. en el apartado de setting habrá que calibrar los PWM
y tiempos. 
Nuestro archivo de Cubotino_settings.txt quedó (30,58,77,0,1000,1000,500,400,18,69,121,3,3,600,600,400,'large','large')





Dado que algunas piezas impresas nos quedaron débiles porque las imprimimos con baja calidad las tuvimos que reforzar con pegamento epóxico de secado lento de 10 minutos. Usamos Poxipol. 




Comentarios

Entradas más populares de este blog

Cambiar rodillo toma papel impresora HP CP1515N y similares / Solución a atasco papel bandeja 2

  1:- Entrar menú service 2 pulsando botón izquierda y x al mismo tiempo, luego buscar opción Pick Roller y confirmar con OK. 2:- Desenchufar impresora. 3:- Quitar bandeja de papel y dar vuelta impresora. Por la parte de abajo se verá  y tendrá alcance al rodillo de toma de papel y de separación de papel. 4:- Separando con la mano las dos "orejas" de plástico que aseguran al rodillo de toma de papel se puede tirar el rodillo y sacarlo para reemplazarlo. https://www.youtube.com/watch?v=GYqwCPkA8jo&ab_channel=IPSglobal https://www.aliexpress.com/item/32733779892.html?spm=a2g0s.9042311.0.0.274263c0iyL0Qp

Configurar router TP-Link TL-WR1043ND como Acces Point y configurar el puerto wan como Lan

No he sido exitoso siguiendo los pasos y recomendaciones de varios sitios para configurar el router WR1043ND de forma de que el puerto wan quede util como un quinto puerto lan. Finalmente lo que resulta bien es poner estos comandos en el startup del router. Lo anterior se puede hacer en la configuración gráfica del router en la Pestaña Administration > Commands: swconfig dev rtl8366rb vlan 1 set ports '0 1 2 3 4 5t' stopservice lan startservice lan Link a Instrucciones para configurar como punto de acceso. Link a foro donde sale publicada la solución. Link a instrucciones de cómo hacer un startup.

Actualizar firmware DDWRT en router TP-LINK Archer c7 v2

 Se quiere actualizar el firmware DD-WRT en el router que ya tiene una versión de DDWRT instalada. Conectado por cable lan. 1. Descargar el firmware a usar desde el siguiente link: https://ftp.dd-wrt.com/dd-wrtv2/downloads/betas/ Seleccionar el firmware a instalar entrando a la carpeta por año, fecha de compilación y modelo/marca de router, carpeta  donde se encuentra el archivo tplink_archer-c7-v2-US.bin 2. Se recomienda hacer un restore de la configuracion entrando al menu Restore to Factory Default. Una vez que se reinicie el router seguir al siguiente paso. 3. Entrar nuevamente al router, debiera encontrarse en la ip original 192.168.1.1 y el usuario y password originales (root y admin, admin admin) o puede pedir que se cree uno antes de seguir. 4. Ir al menu Firmware Upgrade, seleccionar archivo, seleccionar Reset to factory defaults After Flashing, apretar el boton Upgrade y esperar calmadamente unos 5 minutos a que el proceso se complete.