jueves, 29 de diciembre de 2016

LCD Keypad Shield usando Octopus Bloqs Botonera en Visualino


Visualino es un estupendo entorno gráfico de programación para Arduino, sólo limitado por la ausencia de aquellos elementos que uno precisa en un momento dado para realizar su trabajo. En mi caso precisaba de un elemento que me facilitara la creación de menús en el Arduino LCD Keypad Shield usando Visualino.
Visualino tiene una librería de bloques denominada Octopus Bloqs, donde podemos encontrar un teclado que genéricamente está denominado como Botonera.


¿Qué hice yo?
Intenté utilizar la Botonera para controlar el módulo Arduino LCD Keypad Shield, pero no funcionó; en realidad, tal como está predefinido, sólo puedo usar tres teclas del LCD Keypad Shield de las cinco que dispone.



Esto es debido simplemente a que el array adc_key_val[5] asociado al bloque Botonera de Octopus, que agrupa los valores de cinco variables accesibles por un índice, no concuerda con los valores que lee desde el pin analógico A0, que, comparando los valores, entrega otros entre 0 y 5 a una variable llamada key, que es usada finalmente por una estructura de control SwitchCase para controlar el flujo del programa y ejecutar así el código adecuado para cada una de las condiciones seleccionadas con las teclas. En suma, simplemente cambiando los valores del array por los que necesitamos para ajustarnos a los que entrega por tecla el Arduino LCD Keypad Shield, ya resolvemos el problema.

¿Dónde ajustamos los valores del array?

Para cambiar los valores de el array adc_key_val es preciso abrir el archivo roboblocks.js con permisos administrativos, localizar el array y cambiar sus valores. Abrimos el terminal (Ctrl+Alt+t) y lanzamos Nautilus como sigue (Ubuntu 14.04):


sudo nautilus

Nos dirigimos luego a la carpeta
 /usr/share/visualino/html donde encontraremos el archivo roboblocks.js


Abrimos el archivo usando el menú contextual (tecla derecha del ratón) con Gedit, buscamos el array adc_key_val usando Ctrl+f, y editamos los valores del array dándoles los que en la imagen se aprecia:


Los nuevos valores son: 20, 100, 300, 500 y 800.

Guardamos el archivo salvando las modificaciones, y ya está lista la Botonera de Octopus bloqs para ser usada con Arduino LCD Keypad Shield sin problema alguno.

Aquí os dejo el archivo teclado-2.bly de Visualino para que podáis estudiarlo y modificarlo, pero recuerden que no funcionará correctamente hasta que cambien los valores del array adc_key_val en el archivo roboblocks.js

En el siguiente vídeo podemos apreciar lo bien que se porta.



No hay comentarios:

Publicar un comentario