Scratch es un entorno de programación visual que permite crear programas interactivos de forma sencilla. Se le ha dotado de un interface muy amigable donde se puede programar sin  introduzcir comandos ni código, sino que los programas se construyen añadiendo bloques que tienen su propio significado, lo que lo hace muy adecuado para que lo utilicen personas que no están acostumbradas a programar e incluso niños.

Dado que internamente funciona como un entorno de ejecución de máquinas virtuales, se pueden utilizar distintas máquinas virtuales lo que le da una gran versatilidad. Existe una versión S4A  (scratch for arduino) que permite la interacción con arduino, permitiendo que lo programemos de la misma manera sencilla.

Vamos a ver cómo ejecutar S4A (scratch for arduino) en una máquina Linux (Ubuntu) de 64 bits.

Si intentamos instalar el paquete que proporcionan los creadores de S4A obtenemos un error de que la arquitectura i386 no está instalada

El problema viene de que S4A está necesita las librerías de 32bits … Siempre me ha parecido una chapuza añadir la arquitectura de 32 bits y las librerías necesarias para que un programa funcione.

La solución que vamos a usar aprovecha que scratch es un entorno de ejecución de máquinas virtuales. S4A contiene el entorno de ejecución (de 32bits) y la máquina virtual.

Lo que haremos será usar la máquina virtual que tiene el paquete scratch  con la imagen de S4A. Veamos como hacerlo:

Instalamos la version de 64 bits de scratch

sudo apt-get install scratch

Descargamos el paquete de S4A y lo descomprimimos en nuestra carpeta

Copiamos el script que ejecuta scratch y lo modificamos para que arranque la imagen de S4A

cp /usr/bin/scratch ./S4A

Lo editamos y cambiamos

IMAGE="/usr/share/scratch/Scratch.image"

por

IMAGE="/home/javacasm/Descargas/s4a/S4A.image"

Con esto podremos utilizar sin problema S4A en nuestra máquina de 64bits

JAVACASM

Usar S4A (scratch for arduino) en ubuntu (linux) de 64 bits
Etiquetado en:                

5 pensamientos en “Usar S4A (scratch for arduino) en ubuntu (linux) de 64 bits

  • 2 enero, 2016 a las 10:08
    Enlace permanente

    HOla
    En primer lugar decirte que estoy muy de acuerdo con tu definición de cacharreo… de hecho es lo que estoy haciendo ahora mismo…. quiero introducirme en el uso de arduino para explicarles a mis alumnos en una asignatura de sistemas automáticos… y me he lanzado a la piscina.
    Estoy intentando conectar mi arduino UNO a través de ubuntu y S4A y hecho lo que has planteado en tu entrada… pero al ejecutar el archivo, sigue abriendo la imagen de scratch. No se si hay que hacer algo más para que funcione.

    Gracias
    David

    • 4 enero, 2016 a las 13:40
      Enlace permanente

      Hola David, me alegro de que te hayas animado. Hace tiempo que no uso s4a y quizás el tutorial este algo desfasado. En su momento con hacer lo que indicaba (e instalar el firmware s4a en el arduino) era suficiente.
      Si ves los bloques de arduino al abrir scratch, debería funcionar

      Saludos

      • 28 diciembre, 2016 a las 11:11
        Enlace permanente

        Bueno, a mi me ha funcionado. Después de mucho enredar he entrado en una consola con
        Ctrl+T
        y he ejecutado el programa con
        sudo sh s4a
        y me ha funcionado. Muchas gracias

  • 7 diciembre, 2017 a las 17:25
    Enlace permanente

    Hola
    Estoy interesado en hacer funcionar el S4A en debian 64 para iniciar en la programación a los chavales.
    Tras descargar he instalar scratch , efectuar la descarga y descompresión de S4A en mi home en el directorio S4A, he copiado el script de scratch y lo he modificado para que accediese a la imagen de S4A, al ejecutar el mismo se inicia el programa e intenta localizar la placa sin resultado, paro la secuencia de busqueda con botón derecho ratón en ventana de entradas salidas y pulsando nuevamente intento seleccionar puerto sin resultado .Tengo permisos de usuario a ttyACM0 y la IDE de arduino me funciona sin problemas , de hecho con ella he cargado el firm al Arduino.
    Agradecería me echaras una mano para solventar el problemilla

    • 22 julio, 2018 a las 22:26
      Enlace permanente

      A mi me ha pasado lo mismo, pero al cambiar a la ultima versión de s4a ya me funciona, aunque he tenido que realizar algunos cambios en el s4a ya que ha cambiado el script y lo que he tenido que cambiar por
      /usr/local/s4a/usr/bin/s4a_squeak_vm \
      -plugins /usr/local/s4a/usr/lib/s4a/Plugins \
      -vm-sound-pulse \
      /usr/local/s4a/usr/lib/s4a/S4A.image
      suponiendo que se haya descomprimido en /usr/local/s4a

Los comentarios están cerrados.