Introduction: Muevete Por El Mundo 3d Con Un Potenciometro

En esta entrada vamos a aprender a enlazar el mundo físico con el virtual. Controlaremos la rotación de un toro en Freecad usando un potenciómetro conectado a la placa arduino mega Es un ejemplo muy sencillo pero muy potente, que nos abre las puertas a hacer cosas como crear nuestros propios joysticks
para mover los diseños, programar los robots virtuales mediante el posicionamiento de robots reales (programación gestual), hacer que nuestras piezas cambien de color con la luz… ¡El límite es la imaginacion!

si te gusta porfavor vota

Step 1: Materiales :)

Step 2: Descarga Pyserial

El esquema de funcionamiento es el siguiente. En la placa arduino se ejecuta un firmware que lee el valor del potenciómetro y lo envía al PC a través del puerto serie. En el PC se ejecuta un script en python desde Freecad, que a través de la biblioteca pyserial lee las muestras. Estos valores se interpretan, se convierten a ángulos y se usan para rotar el toro.

Comunicaciones serie: Python-serial
Es necesario instalar la biblioteca de python pyserial. Esto depende del Sistema operativo que tengamos instalado en nuestro ordenador. En el caso detener Ubuntu/Linux basta con ejecutar esta línea:

Step 3: Programacion En Arduino

Este programa configura el puerto serie a la velocidad de 19200 y se
queda esperando a recibir caracteres. En cuanto llega uno (da igual cuál sea), se lee la entrada analógica donde está conectado el potenciómetro y se envía su valor de vuelta. De esta forma es el PC el que controla el flujo de la lectura del potenciómetro.

Step 4: Conexiones

En la placa arduino conectamos un potenciómetro en la entrada analógica A0 si no tienes placa protoboard pedes soldar unos cables jumper a las patillas del potenciometro yo utilizo uno de 10K

Step 5: Freecad

Abrimos freecad. Nos vamos a la opción preferencias / General. En la pestaña Ventana de salida (Output window) marcamos las dos opciones inferiores: “Redirigir la salida de Python interna…”
(Redirect internal Python output…). De esta manera podremos ver los mensajes en la ventana de informes cuando ejecutemos el script.

Step 6: Freecad

Activamos la vista de informes en la opción Ver / Vistas / Vista de informe (View / Views / Report view). Abrimos el script torus-pot.py (Opción del menú Archivo / Abrir):

Step 7: Codigo De Python Para Freecad

abrimos el archivo (freecad potenciometro)

Step 8: Freecad

En la linea 30, donde pone SERIAL_NAME debemos escribir el nombre del puerto serie donde tenemos conectada la zum. Para el caso de linux es el /dev/ttyUSB0.

Step 9: A Diseñar

Por último ejecutamos el script, pinchando en el icono triangular verde
superior (o dándole a Cntrl-F6). Se nos abrirá una ventana nueva con un toro y al cabo de 2 segundos se establecerá la conexión con el arduino. Al mover el potenciómetro el toro rotará. (IMPORTANTE: Cuando el potenciómetro está en su tope máximo anti-horario (0 voltios) el programa terminará y aparecerá en la vista de informe el mensaje: FINISHED!).

Mind for Design

Participated in the
Mind for Design

Coded Creations

Participated in the
Coded Creations