Snap! es un lenguaje de programación que se presenta como una evolución del Scratch, una de las grandes ventajas que tiene Snap sobre Scratch es la implementación de bloques que facilitan enormemente la programación de nuestros programas.
Para instalar el Snap4Arduino deberemos ir a la página y descargarlo. Nos descargaremos el archivo de instalación (Snap4Arduino_desktop-gnu-64_1.2.2.tar.gz) y lo descomprimimos (Botón derecho del ratón sobre el archivo descargado > Extraer aquí).
Entramos en la carpeta y hacemos doble click sobre el el icono de Snap4Arduino.
El entorno exactamente igual al paquete Snap! pero con la diferencia de que nos aparece el apartado especial para arduino.
El apartado de Arduino se encuentra al final de todos junto los demás menús de acciones:
Si accedemos al menú de Arduino nos aparecerán los siguientes comandos:
Podemos ver cómo tenemos un botón "Conectar Arduino" que deberemos pulsar para conectar-nos a Arduino. Pero antes de eso, hemos de instalar el Firmata para poder entenderse el programa con nuestra placa.
Para instalar el Firmdata lo primero que haremos será iniciar el IDE de Arduino.
Una vez hayamos iniciado el IDE de Arduino vamos a Archivo > Ejemplos >Firmdata > StandarFirmata
Nos aparecerá el programa y deberemos cargarlo en nuestra placa:
En estos momentos ya podemos volver a Snap for Arduino y "Conectar Arduino". El programa entonces se conectará con la placa:
Ahora ya podemos programar nuestro prototipo y cargarlo a la placa Arduino. Ten en cuenta que el programa que creemos en Snap for Arduino no se carga en nuestra placa, sino que envía las órdenes necesarias y el firmata que hemos isntalado las interpreta. Podemos usar el siguiente programa a modo de ejemplo para ver si todo funciona. Recuerda que la mayría de placas de Arduino llevan conectado al pin 13 un led en la placa, el cual veremos parpadear a razón de 1 segundo.
Una de la ventajas que presenta Snap! respecto a Scratch es el uso de bloques. De manera que nos puede facilitar enormemente la programación haciéndola más comprensible:
Es más, podemos crear bloques mucho más complejos y exportarlos. De esta forma podemos crear librerías propias para usar en clase: