Introducción

 

Este tutorial esta especialmente dirigido a las personas que tienen pocos o nulos conocimientos de algún lenguaje de programación, ya que, en esta ocasión aprenderemos a crear proyectos con Wyliodrin pero programando de manera gráfica, arrastrando y acomodando bloques para darle forma a nuestro algoritmo. El tipo de programación que utilizaremos es muy parecido al del proyecto Scratch del MIT (mas información: Scratch (lenguaje de programación) - Wikipedia, la enciclopedia libre),  y para que te des una idea de lo facil que es programar con estas herramientas, a continuación te dejo un video en donde te enseñan a programar el juego Pong en muy poco tiempo.

 

 

Ahora que ya conoces un poco mas sobre este tipo de programación, podemos pasar a crear nuestro proyecto en Wyliodrin, Si no conoces Wyliodrin, te invito a que le eches un vistazo al .Tutorial: Desarrollando proyectos utilizando Wyliodrin - PARTE 1 donde te explico todo lo relacionado con Wyliodrin de igual forma te digo como configurar tu tarjeta.

 

Desarrollo

 

Para este tutorial vamos a desarrollar un instrumento virtual en donde visualizaremos el valor leído por uno de los pines con ADC, para ello necesitaremos el siguiente material:

 

Material

 

Como ves, no necesitas mucho material para seguir este tutorial, de hecho, si no cuentas con el JoyStick Shield, puedes utilizar un potenciómetro, el cual puedes sustituir posteriormente por un sensor que entregue valores analógicos.

 

Ya en el Tutorial: Comunicando Galileo con Processing - PARTE 3 hablamos del JoyStick Shield y como conectarlo a la tarjeta Galileo, si no lo has revisado, te recomiendo que lo hagas para que sepas más a fondo lo que estás haciendo. A continuación una imagen del Shield conectado a la Galileo.

 

schematic.png

 

 

Una vez que tengas conectado el Shield a la Galileo, enciende tu tarjeta. Ingresa en Wyliodrin y revisa que tu tarjeta se encuentre "Online".

 

online.png

 

Si tu tarjeta no esta "Online" revisa su conexión a Internet. Una vez "Online" procederemos a crear una nueva aplicación.

 

New+app.png

 

Le damos nombre al proyecto, en mi caso JoyStick y en lenguaje de programación seleccionamos "New Project - Visual Programming".

 

nuevo proyectopng.png

 

En la siguiente ventana simplemente clic en submit.

submit.png

 

Abrimos nuestro proyecto dando clic en el ícono con la pieza de rompecabezas.

app.png

 

Se abrirá la ventana con el editor de código.

 

editor.png

 

Lo primero que haremos será agregar un visualizador, para ello, daremos clic en el "Dashboard".

 

dashboard.png

Se abrirá la paleta de visualizadores, en esta ocasión elegiremos el solid gauge.

 

solid gauge.png

Se agregará el visualizador al Dashboard.

 

solid.png

 

Damos clic en el ícono del engrane para ver las opciones.

 

opciones.png

 

Podemos cambiar el nombre de la señal por uno de nuestro agrado, en mi caso dejaré el nombre predeterminado, si gustas puedes cambiar también los colores del indicador, yo también los dejare con su valor predeterminado, lo único que cambiaré será el valor máximo del indicador, de 120 por 1023, elijo este valor por que el ADC que maneja la galileo es de 10 bits por lo que podemos obtener valores de 0 a 1023, tu puedes cambiar el valor mínimo y máximo del indicador si así lo deseas, pero tienes que ser consciente que tendrás que aplicar una regla de 3 (o utilizar un bloque "map values") para ajustar los valores que entrega el ADC. Repite los pasos anteriores para agregar un segundo visualizador con los mismos valores mínimo y máximo pero con una señal "Signal2".

Lo siguiente será regresar al editor de código dando clic en la pestaña main.

 

main.png

Una vez en el editor, eliminamos el bloque que nos ponen como ejemplo, para ello lo seleccionamos, damos clic derecho y seleccionamos "delete".

Ahora, agregaremos un bloque "loop", para ello nos vamos a la paleta de la izquierda, expandimos "Program" y seleccionamos "Loops", elegimos el loop "Repeat every", en este bloque cambiaremos "seconds" por "miliseconds" y en valor pondremos 200, esto hará que las instrucciones dentro de este bloque se repitan cada 0.2s.

 

repeat.png

 

Ahora agregaremos un bloque "Send signal", este bloque sirve para enviar datos a las señales de los instrumentos virtuales, para agregarlo, iremos a la sección "signals". En el bloque editaremos el nombre de la señal para que diga "Signal1" (si cambiaste el nombre de la señal de tu instrumento virtual, pon el mismo nombre) y en valor, eliminamos el cuadrado morado (el cuadrado morado es para ingresar constantes), y lo substituiremos por un bloque de "AnalogRead pin" (este bloque regresa el valor leído por el ADC en el pin indicado por el valor del cuadrado morado), el cual lo encontraremos en la sección "Pin Access". Si leíste el Tutorial: Comunicando Galileo con Processing - PARTE 3, sabes que los ejes del JoyStick están conectados a los pines analógicos 0 y 1 de la tarjeta galileo, por esto, en el pin de lectura colocaremos un 0. Con todas estas modificaciones nuestro código debe verse como el siguiente.

 

codigo1.png

Con lo anterior estamos leyendo cada 0.2 segundos el valor del ADC en el pin analógico 0 (eje x del Joystick) y lo estamos enviando al instrumento virtual, ahora necesitamos también leer el pin 1 (eje y del Joystick), para ello damos clic derecho en el bloque "Send signal" que ya colocamos y seleccionamos duplicate. Nos creará una copia del bloque incluyendo todos los parámetros que modificamos. Arrastramos el nuevo bloque debajo del anterior y modificamos el nombre de la señal por "Signal2" y el pin de lectura por 1. Tu código debería verse como el siguiente.

 

codigo2.png

Con ello nuestro programa esta listo para funcionar. Y en resumen, lo que hace el código es: cada 0.2 segundos se realiza una lectura de los pines analógicos 0 y 1 (ejes x e y del joysticj) y los envía a los instrumentos virtuales. En este punto, también puedes ver el código en los lenguajes phyton y JavaScript que se genera a partir de la programación visual, para verlo da clic en el botón "show code".

show.png

 

Se abrirá una ventana con el código generado en ambos lenguajes. Si tienes conocimientos básicos de alguno de estos, te puedes dar una idea de como implementar aplicaciones para la Galileo en ellos en un futuro.

Ahora da clic en "hide code" para ocultar la ventana de código. Vamos a correr nuestro programa y ver que realmente funciona. Para ejecutarlo, da clic en el botón con el logo de Intel Galileo a la izquierda.

 

run.png

 

Se abrirá una nueva ventana con una consola debajo, y después de un momento, los visualizadores comenzaran a mostrar valores. Para probar que el programa funciona, mueve el joystick en todas direcciones y observa como se mueven los indicadores. A continuación te muestro algunas capturas de la aplicación funcionando.

 

funcionando1.png

En esta imagen el joystick esta en su posición centrada, es decir sin moverlo.

 

funcionando2.png

En esta otra, el joystick esta cargado hacia la izquierda.

 

funcionando3.png

En esta última, el Joystick esta cargado hacia la esquina superior derecha.

 

Como podemos observar, es muy fácil programar de forma visual, y como lo mencione en un principio, es ideal para personas sin conocimientos de programación pero que tienen alguna idea y desean implementarla rápidamente. Hasta aquí el tutorial de esta semana, esperando que lo disfrutes y te sea de utilidad para tus proyectos.