viernes, 17 de febrero de 2017

Instalar S4A. Scratch For Arduino


Programar de forma sencilla la plataforma de hardware libre Arduino es posible gracias al lenguaje de programación visual libre desarrollado por MIT Media Lab y Playful Invention Company: Scratch.
S4A, Scratch For Arduino, es una modificación de Scratch, y dispone de bloques  para las funcionalidades básicas del micro-controlador, escrituras y lecturas tanto analógicas como digitales, bloques para tratar motores estándar y servomotores de rotación continua, y muchas más funcionalidades. 
S4A funciona correctamente con la placa que yo uso habitualmente, Arduino UNO, pero todo el que quiera usar S4A, con esta o con otra placa de hardware libre, deberá leer con detalle la documentación y las especificaciones técnicas recogidas en su página web. Esta entrada de este blog se ocupará empíricamente del proceso de instalación, dando cuenta de aquellos curiosos aspectos que esta experiencia me proporcionó para poder transmitírselo a ustedes.

Instalación

Lo primero es descargar el archivo S4A16.deb para Linux (Debian) que encontrarán en la página de S4A, para instalarlo, en mi caso, en Ubuntu 14.04. Para otros sistemas operativos,consultar la página de S4A.
Este paquete lo instalamos usando GDebi o con el Centro de Software de Ubuntu.

Si abrimos la aplicación después de instalada, su entorno tiene este aspecto:



Luego hay que instalar en nuestro Arduino, usando el entorno IDE de programación (que debe de estar instalado previamente), el siguiente firmware para poder mantener la comunicación entre la placa y el programa S4A. Un tipo especial de Sprite u objeto de Scratch For Arduino nos facilitará la comunicación y la detección de la placa Arduino UNO a través del puerto USB. Puede funcionar con múltiples placas, pero cada placa requerirá de un Sprite con el de la siguiente imagen.


Si usamos el enlace de la página de S4A para bajarlo, se abrirá una ventana con el contenido del código del firmware S4AFirmware15.ino. Luego debemos de selecionar dicho código, copiarlo y pegarlo en un archivo de texto puro (podemos usar el editor de textos Gedit), y lo guardaremos con el nombre S4AFirmware15.ino
Este archivo lo guardamos en una carpeta con el nombre S4AFirmware15


 En el interior de la carpeta disponemos del archivo S4AFirmware15.ino


Para subir el firmware abrimos el entorno IDE de programación de Arduino, y en el menú Archivo elegimos Abrir..., seleccionando la carpeta S4AFirmware y hacemos clic en Abrir.



Después de abrir el archivo, subimos el código pulsando en la flecha Subir. Ni que decir tienen, que si no hemos conectado previamente al puerto USB del ordenador nuestro Arduino UNO, de nada valdrá lo que hacemos.



En la configuración del entorno IDE de Arduino puede aparecer el problema de detectar el puerto USB; echando mano del Arduino Troubleshooting (Solución de problemas de Arduino) dedica un capítulo a ese tema: Why I can't upload my programs to the Arduino board?

La configuración que yo tengo es la siguiente:



Después de cargar el firmware no es preciso hacerlo cada vez que lo uséis, conectáis Arduino UNO al puerto USB y abrís S4A, y ya tintinean los LEDs de Tx/Rx de la placa porque la detecta automáticamente.
Para verificar su funcionamiento hice un pequeño programa para hacer vibrar a 0,5 Hz (el ciclo completo de encendido y apagado del LED es de 2s) el LED 13 que está disponible en la placa.


En la placa, LED_BUILTIN 13



Aquí tenéis el sencillo programa que hice para verificar la instalación sin complicarme mucho la vida. Para activar el programa y ver el resultado en la placa, sólo tenemos que hacer clic en la bandera verde que está situada en el Sprite; lo detenemos haciendo clic en el punto rojo que está a su lado.




Todo OK, el LED de la placa vibra al ritmo establecido, y el tintineo de los LEDs Rx y Tx delata que la comunicación entre el software y la placa ha sido establecida de forma correcta. La placa sólo funciona cuando está conectada al S4A, donde podemos probar todo tipo de ideas que con el avanzado software visual de Scratch For Arduino a cualquier niño se le pueda ocurrir.

En el siguiente vídeo podemos apreciar su funcionamiento. Espero que les haya parecido interesante el tema. Muchas gracias.

No hay comentarios:

Publicar un comentario en la entrada