En esta entrada se pretende dar una visión general de las diferentes posibilidades que tenemos para programar Arduino desde entornos gráficos de programación.

Una de las dificultades a la hora de trabajar con Arduino en primaria o secundaria obligatoria, donde los alumnos no suelen tener experiencia programando, es la de tener que escribir código. Sin embargo existen un amplio número de entornos, muchos en fase de desarrollo, que nos permiten trabajar con Arduino mediante programación dirigida a objetos.

En Programamos ya hemos hablado de S4A , que nos parece una herramienta muy interesante si hemos trabajado previamente con Scratch, pero existen otros entornos gráficos como son Minibloq, Modkit, Ardublock, Amici, Blocklyduino y Snap4Arduino.

Los entornos trabajan con diferente filosofía:

– Entornos que generan código Arduino:

  • Modkit y Minibloq traducen los bloques a lenguaje Arduino y programan la placa
  • Ardublock y Amici escriben el programa directamente en el IDE de Arduino
  • Blockyduino genera el código que después deberemos copiar en el IDE

– Entornos que se comunican con Arduino mediante firmware:

  • S4A y Snap4Arduino

Minibloq

Minibloq funciona traduciendo los bloques gráficos a código Arduino permitiendo además programar la placa.

  • Funciona para todas las placas de Arduino
  • Minibloq funciona con Windows, y la versión para Linux está en version beta
  • Permite visualizar las entradas y configurar las Entradas y Salidas
  • Como inconveniente podemos señalar que los bloque no resultan muy intuitivos si vienes de usar Scratch

Modkit

Modkit está todavía en fase de desarrollo con una versión Alpha. Tiene una versión libre y otra de pago

  • Funciona en las tres plataformas
  • Traduce el código realizado mediante bloques y programa la placa
  • Detecta automáticamente la versión de la placa
  • Entorno de programación atractivo con bloques inspirados en Scratch fácilmente identificables

Amici

Amici fué desarrollado por Dimeb en la Universidad de Bremen dentro del proyecto Eduwear

  • Disponible para Windows y MAC
  • El entorno gráfico viene unido a una versión del IDE donde se genera el código Arduino y se compila.

Ardublock

Ardublock traduce directamente los bloques en código en el IDE de Arduino actuando como un plugin externo, para lo cual debemos realizar algunas configuraciones en el IDE de Arduino.

  • Funciona con los 3 sistemas operativos Windows, Linux y Mac.
  • El entorno gráfico quizás no es tan atractivo como el de Scratch

Blocklyduino

Blockly es un entorno gráfico de programación online desarrollado por Google para aprender a programar, incluye juegos y diversas aplicaciones.

Un de los proyectos externos es Blocklyduino que transforma los bloques de programación en código Arduino que luego tendríamos que cargar en la placa con el IDE de Arduino.

Aunque está todavía en fase de desarrollo, los programas básicos que he probado los traducía correctamente

S4A

S4A es una modificación del popular Scratch 1.4 creado por el MIT, para trabajar con Arduino, la adaptación ha sido creado por citilab.

La principal ventaja es que si ya hemos trabajado previamente con Scratch nos resultará muy cómodo adaptarnos a las nuevas funcionalidades para controlar Arduino

  • Conserva las funcionalidades de Scratch con lo que nos permite relacionar el mundo real y el virtual, por ejemplo añadiendo mandos a nuestros videojuegos
  • Funciona en todas las plataformas Windows, Linux y MAC
  • Como inconveniente cabe señalar que Arduino tiene que estar conectado al PC para funcionar ya que es el programa de S4A el que recibe el valor de los sensores y decide las actuaciones mientras en Arduino opera un programa de comunicación
  • Otro inconveniente es que los pines vienen preconfigurados y a nivel usuario no se pueden cambiar

Snap4Arduino

Snap  es una herramienta basada en Scratch, con la particularidad de que puedes construir tus propios bloques.

Snap4Arduino es una versión de Snap desarrollada por citilab para trabajar con Arduino, está todavía en versión Alpha.

  • Funciona tanto con Linux, como con Windows y MAC
  • Permite configurar los pines de salida
  • Soporta todo tipo de versiones de las placas de Arduino, incluido la Mega

Como veis el tema de los entornos gráficos para Arduino y otros sistemas empotrados es muy extenso, y está en plena fase de desarrollo, por lo que sería muy interesante si quisierais aportar vuestras propias experiencias y opiniones.

En próximas entradas seguiremos profundizando sobre el tema.