Muevete Por El Mundo 3d Con Un Potenciometro

by nuelma in Circuits > Software

2238 Views, 11 Favorites, 0 Comments

Muevete Por El Mundo 3d Con Un Potenciometro

IMG_20150502_132822.jpg

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

Materiales :)

image.jpg
image(2).jpg
image(1).jpg
image(3).jpg

Descarga Pyserial

py5.png

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:

Programacion En Arduino

554291e74fbade21a4000167.jpeg

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.

Conexiones

lectura_analogica_serial.png

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

Freecad

py2.png
py1.png

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.

Freecad

py3.png

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):

Codigo De Python Para Freecad

py7.png
py8.png

abrimos el archivo (freecad potenciometro)

Freecad

py4.png

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.

A Diseñar

py6.png

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!).