miércoles, 17 de agosto de 2016

Scratch para Arduino


Scratch para Arduino




S4A (Scratch for Arduino) es una modificación de Scratch desarrollada por el Grupo de Programación Smalltalk del Citilab, para programar de forma sencilla e intuitiva la plataforma de hardware libreArduino. S4A Incluye nuevos bloques para controlar sensores y actuadores conectados a sistema Arduino.

Scratch es un entorno de programación gratuita, desarrollado por el MIT (Massachussets Institute of Tecnology), que permite explorar y experimentar con los conceptos de programación mediante el uso de una sencilla y dinámica interfaz gráfica. Para ello utiliza bloques, al estilo del "Lego", que simbolizan diferentes elementos de programación , por ejemplo: instrucciones, condiciones, variables, bucles, entre otros. Estos bloques de programación se van ensamblando hasta formar programas.



Por otro lado, Arduino es una plataforma de hardware abierto para el aprendizaje de electrónica y la creación de prototipos. Fue creado para artistas, diseñadores, aficionados y cualquier persona interesada en crear entornos y objetos interactivos mediante el uso de componentes electrónicos.


La integración de estos dos entornos permitió el desarrollo de S4A, cuya plataforma nos permite entrar al mundo de la electrónica, la robótica y programación y desarrollar diferentes prototipos, sin necesidad de tener conocimientos avanzados en estas áreas.

Pasos para empezar a trabajar con S4A


Descargar e instalar el software de Scratch for Arduino S4A de la web de Citilab. Aquí te facilitamos los links de descarga según tu sistema operativo: Windows, Mac, Linux(Debian).
Descargar e instalar el software de Arduino dependiendo del sistema operativo que uses. El link de descarga es el siguiente: http://arduino.cc/es/Main/Software.
Instale el último Firmware para Arduino para facilitar la comunicación de este con S4A. Esto se realiza cargando el fichero firmware en el IDE de Arduino y después descargándolo sobre la tarjeta.
Ahora ya puedes comenzar a programar tu Arduino con S4A. En el siguiente link encontrarás un tutorial muy completo para programar con S4A el Arduino UNO: S4A(Scratch) + Arduino.
El siguiente vídeo nos explica paso a paso como controlar una tarjeta de Arduino desde le entorno de Scratch:







Acerca de S4A

S4A es una modificación de Scratch que permite programar la plataforma de hardware libre Arduino de una forma sencilla. Proporciona bloques nuevos para tratar con sensores y actuadores connectados a una placa Arduino. También cuenta con un panel de sensores similar al de la PicoBoard.

La finalidad principal del proyecto es atraer a gente al mundo de la programación. Otro de sus objetivos es proporcionar una interfaz de alto nivel para programadores de Arduino con funcionalidades tales como la interacción con un conjunto de placas mediante eventos de usuario.
La interfaz

Un programa de S4A para controlar un Theremin de luz, con capacidad de grabación y reproducción

Los objetos Arduino proporcionan bloques para las funcionalidades básicas del micro-controlador, escrituras y lecturas digitales y analógicas, y otras funcionalidades de más alto nivel. También encontraréis bloques para tratar con motores estándar y servomotores de rotación contínua.



En S4A, una placa Arduino se representa con un tipo especial de sprite. El sprite Arduino encontrará automáticamente el puerto USB en qué se haya conectado la placa.

Pueden conectarse múltiples placas a la vez. Sólo es necesario añadir un nuevo sprite Arduino.
Especificaciones técnicas
Placas compatibles

S4A funciona correctamente con Arduino Diecimila, Duemilanove y Uno. No se ha probado con otras placas, pero es posible que también funcionen.
Conectividad

Los componentes deven conectarse de una forma determinada. S4A habilita 6 entradas analógicas (pines analógicos), 2 entradas digitales (pines digitales 2 y 3), 3 salidas analógicas (pines digitales 5, 6 y 9), 3 salidas digitales (pines 10, 11 i 13) y 4 salidas especiales para conectar servomotores de rotación contínua Parallax (pines digitales 4, 7, 8 y 12).

Es posible comunicarse inalámbricamente con una placa mediante un módulo de RF, como Xbee.

S4A permite controlar tantas placas como puertos USB tenga vuestro PC.
Compatibilidad

S4A es compatible con Scratch, de forma que es posible abrir proyectos deScratch desde S4A. En cualquier caso, no es posible compartir proyectos de S4A en la web de la comunidad Scratch, ya que ésto violaría los términos y condiciones de uso de Scratch.

Téngase en cuenta que esta compatibilidad no es bidireccional. No es posible abrir proyectos de S4A desde el Scratch original.

S4A permite utilizar una PicoBoard conjuntamente con un Arduino.
Protocolo

S4A interactúa con Arduino enviando el estado de los actuadores y recibiendo el estado de los sensores cada 75 ms, por lo tanto el ancho del pulso tiene que ser mayor que éste período. El intercambio de datos sigui el protocolo PicoBoard, y necesita que se instale un programa específico (firmware) en la placa. Por favor, consultad la sección de Descargas para más instrucciones sobre la instalación.
Hardware? Un juego de niños!

Scratch for Arduino (S4A) es una versión modificada de Scratch, preparada para interactuar con placasArduino. Fue desarrollado por el equipo de Smalltalk del Citilab en el año 2010, y desde entonces se ha usado en todo el mundo para una gran variedad de proyectos.

Nuestra motivación principal fue proporcionar una forma sencilla para interactuar con el mundo real, aprovechándonos de la facilidad de uso de Scratch.
Documentación y ejemplos

Aquí encontraréis toda la documentación, vídeos, ejemplos y ejercicios que hemos producido hasta la fecha.
Taller

Desde aquí podéis descargaros un zip con materiales y ejercicios completos para realizar un taller:

Materiales Taller Elisava 2011

Nuestro equipo creó y utilizó estos materiales en un curso de S4A en la escuela Elisava durante el año 2011.
Ejemplos Básicos

Aquí encontraréis ejemplos básicos de S4A, con los esquemas de Arduino y un archivo .sb con el proyecto Scratch para descargar.
Pulsador y LED

Un ejemplo simple mostrando como activar un LED mediante un pulsador.



Código
LED RGB

Como usar un LED RGB desde Scratch.



Código
Pulsador, LED y conservación de estado

Un LED que cambia de estado al pulsar un botón.



Código
Fotoresistor y LED

Como usar la entrada de un fotoresistor para activar un LED.



Código
Vídeos

Aquí encontraréis una coleción de demos en catalán o castellano. Algunos de estos vídeos también han sido subtitulados al inglés.
Robot completo

Un robot con una cámara rotativa, sensores de distáncia y control remoto. Consta de dos placas arduino (para el control remoto y el robot), un módulo wireless XBee, tres sensores de infrarojos, un módulo de cámara y tres servomotores.


Introducción al taller de S4A

Este vídeo sirve como introducción para los talleres de S4A que se imparten en elCitilab. Encontraréis unos cuantos ejemplos de casos de uso de nuestro software.


Ejercicios

Música: Un instrumento similar a un theremin

Domótica: Un controlador de persiana

Robótica: Un coche controlado por teclado
Para programadores

Especificación del protocolo S4A
Enlaces externos de documentación

Scratch IO Wiki - por José Javier Vitón

Blog Arduteka: S4A
Android
Hi Scratch for Arduino!

Hemos desarrollado una aplicación simple de Android que puede comunicarse con S4A via HTTP mediante el protocolo de sensores remotos de Scratch. Os lo podéis descargar desde aquí, o escaneando este código QR:



Para utilizarlo, seguid estas instrucciones:
En S4A, activad los sensores remotos (clic derecho en cualquier bloque de "Sensores")
En HiS4A (Android), introducid la IP local del PC en qué S4A esté funcionando (la podéis encontrar desde el menú Editar > Host de red), y continuación el prefjo (sólo necesario si os estáis conectando desde más de un cliente de Android)
Los botones se corresponden con mensajes, y el touchpad y deslizador a sensores remotos
¡IMPORTANTE! ¡Tanto S4A como HiS4A tienen que estar conectados a la misma red local!
API HTTP

La aplicación Android utiliza un protocolo muy sencillo que hemos desarrollado sobre el protocolo de mensajes HTTP de Scratch, la cual cosa permite interactuar con S4A desde un navegador o cualquier otra aplicación con acceso a la red.

En primer lugar, debe activarse la opción de sensores remotos en S4A (clic derecho en cualquier bloque de "Sensores").
Especificación de los mensajes

Enviar un mensaje:
http://[IP]:42001/broadcast=[nombre-del-mensaje]

Enviar el valor de un sensor remoto (por ejemplo, el accelerómetro del cliente, la posición del puntero del ratón, etc):
http://[IP]:42001/sensor-update=[nombre-del-sensor]=[valor]

Actualizar una variable de S4A:
http://[IP]:42001/vars-update=[nombre-de-la-variable]=[valor]
Aplicación web de prueba

Para ver la API HTTP en funcionamento, podéis utilizar la aplicación web de prueba:

Hi S4A! desde el Web

Uso de la aplicación web de ejemplo:
Las variables de S4A con nombres que empiecen con un signo más (ej. +nombreJugador) son visibles y modificables desde el cliente web
Las variables de S4A con nombres que empiecen con un signo menos (ej. -puntuacionJugador) sólo son visibles y modificables desde el cliente web
Las variables de S4A con nombres que no empiecen con los signos más o menos no son visibles desde el cliente web
Los mensajes de S4A con nombres que empiecen con un signo más (ej. +iniciarJuego) son visibles desde cliente web
Los mensajes de S4A con nombres que no empiecen con un signo más no son visibles desde el cliente web
Cambios
Versión 1.5
Arreglado bug de colisión entre objetos (Arduino y no Arduino)
Arreglado bug relacionado con un error persistente al parar y reanudar la conexión con la placa
Primitivas indexadas cambiadas a primitivas con nombre para una mejor compatibilidad con las nuevas máquinas virtuales de Squeak (gracias a Miriam Ruiz por el parche)
Cambiado el pin 12 de servo estándar a salida digital normal
Cambiado el pin por defecto de los bloques digital on/off de 13 a 10
Añadido bloque de reiniciar actuadores
Traducciones al catalán y castellano mejoradas
Versión 1.4
Añadida compatibilidad completa con el protocolo HTTP (POST y GET). Ahora es posible mandar mensajes a S4A y observar/modificar valores de variables desde un navegador web (entre otras cosas). Ver sección deAndroid.
Añadida opción para comprobar si hay actualizaciones disponibles desde el menú de ayuda. Ya no hace falta visitar la web para comprobarlo
El idioma se detecta automáticamente al arrancar por primera vez (cuando el archivo Scratch.ini no existe). También se guarda en este mismo archivo al cambiarse desde el menú de idioma
El puerto serie en qué se conecta una placa se abre correctamente al arrancar S4A
Arreglado bug de la versión para Windows, en qué la barra de título no mostraba el nombre y la versión de S4A
Versión 1.3
Arreglada la compatibilidad con Arduino UNO en Linux (gracias a Jorge Gómez). Es imprescindible cargar el nuevo firmware, así como actualizar el bootloader en determinadas placas
Cambiados los nombres del panel de sensores y sus correspondientes bloques de Arduino para mostrar números de pin reales
Añadidos comandos de servidor en el menú "Editar" para trabajar con comunicación en red sobre sockets
Añadida compatibilidad para aplicaciones Android (HiS4A)
Traducciones al catalán y castellano mejoradas
Muchos bug arreglados
Descarga e instalación



Para instalar S4A, hay que instalar software tanto en el PC como en la placaArduino. Aquí encontraréis los pasos detallados para poner S4A en marcha.
Instalar S4A en el ordenador

S4A funciona sobre los tres sistemas operativos de escritorio más populares. Descargad e instalad el que os convenga.
Windows
Mac
Linux (Debian)
Linux (Fedora) (version 1.5)
Raspbian (Debian para RaspberryPi)
Instalar el firmware en el Arduino

Este firmware es un programa que debe instalarse en vuestra placa Arduino para poderos comunicar con ella desde S4A.
Descargad e instalad el entorno Arduino siguiendo las instrucciones dehttp://arduino.cc/en/Main/Software. Hay que tener en cuenta que, para trabajar con Arduino Uno, se necesita la versión 0022 o superior.
Descargad nuestro firmware aquí
Conectad la placa Arduino a un puerto USB de vuestro ordenador
Abrid el archivo de firmware (S4AFirmware15.ino) desde el entorno Arduino
En el menú Herramientas, seleccionad la versión de la placa y el puero serie en qué esté conectada la placa
Cargad el firmware a la placa mediante la opción de menú Archivo > Subir
Para programadores

S4A es software libre sujeto a una licencia MIT.

Como Scratch es, en realidad, una imagen de Squeak Smalltalk, todo su código viene incluido en la versión final. Para acceder a él, pulsad mayúsculas + clic izquierdo sobre el menú "Archivo" de S4A, y seleccionad "Salir del modo de usuario". Os encontraréis delante de el entorno clásico de una imagen de Squeak2.8, y tendréis acceso a un Browser, Workspace y todas las herramientas a qué estáis acostumbrados.

De todas formas, a la versión final de S4A hay código que ha sido compilado, y se habrán perdido varios nombres de variables y argumentos de mensajes. Por este motivo, también distribuimos una imagen con el código fuente limpio para desarrolladores, descargable desde este enlace:

S4A para desarrolladores
Preguntas más frecuentes
¿Qué placas son compatibles con S4A?

S4A funciona correctamente con Arduino Diecimila, Duemilanove y Uno. No se ha probado con otras placas, pero es posible que también funcionen.
¿Funcionará S4A en mi ordenador?

S4A funciona sobre los tres sistemas operativos de escritorio más populares: Microsoft Windows, GNU/Linux and MacOS. Así que, muy probablemente, funcionará en vuestro ordenador.




OBJETIVOS




Descargar e instalar el IDE de Arduino.
Descargar el firmware para el IDE y cargarlo en nuestro Arduino.
Descargar el entorno gráfico de programación S4A.
Instalación y puesta en marcha del entorno S4A.
Comprobar su correcto funcionamiento.









DESCARGAR E INSTALAR EL IDE DE ARDUINO.



Para poder trabajar con Arduino necesitamos descargar e instalar el entorno gráfico de programación o IDE por sus siglas en ingles, y para ello disponéis de una sesión dedicada aquí.

Siguiendo sus instrucciones conseguiréis instalar el entorno Arduino y configurar vuestra modelo Arduino (Porque los hay de muchos tipos creedme, y solo funcionará si seleccionáis correctamente vuestro modelo)

Para que Scratch for Arduino pueda comunicarse con la placa, necesitamos volcarle un pequeño programa necesario para que se entiendan. Por eso tras instalar el IDE, vamos a cargar el firmware en la placa Arduino para que S4A pueda comunicarse con él.

Haced click con el botón derecho aquí y seleccionad:



Descargará un programa Arduino que podemos cargar en nuestro IDE:



Para después, volcarlo a nuestra placa (Asegúrate de que tu Arduino está conectado al USB, o va a ser difícil programarlo)





Aparecerán un montón de líneas de código en el entorno de trabajo. Pulsamos el botón de subir, el que tiene un icono con una flecha horizontal en amarillo y esperamos a que cargue la barra verde.

Una vez que lo hayamos subido, no hay que volver a hacerlo mientras trabajemos con S4A, a no ser que carguemos otro programa en la placa desde el IDE.



DESCARGA E INSTALACIÓN DEL ENTORNO GRÁFICO S4A



Descargamos S4A de la página oficial seleccionado Descargas y elegimos el sistema operativo que usamos en nuestro ordenador. O bien podeís descargarlo directamente desde aquí.





Windows
Mac
Linux (Debian)
Linux (Fedora) (version 1.5)
Raspbian (Debian para RaspberryPi).

Una vez finalizada la descarga, descomprimimos el archivo y ejecutamos el fichero descargado. El asistente de instalación nos guiará a lo largo de la misma. Una vez terminada la instalación, el icono de S4A aparecerá en nuestra área de trabajo.




PUESTA EN MARCHA DEL ENTORNO S4A



Antes de ejecutar el programa es conveniente enchufar la placa al ordenador, ya que lo primero que hará será buscarla automáticamente.



Cuando la haya encontrado veremos que las cantidades mostradas en el cuadro de resumen de valores irán variando rápidamente.



En caso de que no la encuentre automáticamente, pulsamos en el cuadro de resumen de valores con el botón derecho y nos aparecerá un menú desplegable donde podemos buscar la placa automáticamente o seleccionar manualmente el puerto al que está conectado.






INSTALACIÓN EN RASPBERRY PI (RASPBIAN)




Si queremos realizar la instalación de S4A en una Raspberry Pi, nos tenemos que asegurar de que esté conectada a internet y abrir el explorador el navegador Midori. Entonces accedemos a http://s4a.cat y cuando estemos en la sección de descargas seleccionamos Raspbian (Debian for RaspberryPi) y elegimos “Save”.




La Raspberry PI 2, corre con alegría el entorno S4A y es una opción excelente, en lugar de un PC con sistema completo tipo Windows o Mac, en los entornos en los que el presupuesto es algo a considerar.

Cuando se haya descargado abrimos una ventana del terminal haciendo click en el icono de LXTerminal en el escritorio.

Al abrir el terminal estaremos en el directorio /home/pi/. Si queremos comprobarlo podemos teclear pwd y tras pulsar la tecla Intro nos devolverá el directorio en el que estamos.

Si a continuación escribimos ls nos mostrará todos los ficheros y carpetas que hay en /home/pi/. Entre ellos deberíamos encontrar el archivo que hemos descargado “S4A15_RP.deb”.

Si no lo encontramos en este directorio, es posible que se haya descargado en /home/pi/Downloads/. Para comprobarlo tecleamos cd Downloadspara acceder a ese directorio y a continuación ls.

Una vez lo hayamos localizada tecleamossudo dkpg –i SA415_RP.deb.


Hay que respetar las letras mayúsculas, ya que el terminal distingue entre mayúsculas y minúsculas (Esto es una manía de Linux y hay que acostumbrarse).



Mientras se instala veremos que en el terminal se van escribiendo diferentes textos hasta que vuelve a aparecer pi@raspberrypi ~$. Entonces ya podemos cerrar el terminal.

Si ahora abrimos el menú de inicio y vamos a Programming, S4A aparecerá entre las aplicaciones. Pulsamos en el icono e iniciamos Scratch 4 Arduino.




OTRAS CONSIDERACIONES



Como hemos comentado, una las ventajas de Arduino es que su IDE es multiplataforma. Esto hace que podamos correrlo en micro ordenadores de bajo coste como Raspberry Pi u Orange Pi.




Estos nuevos ordenadores en una placa unica o SBC (Single Board Computers por sis siglas en Inglés) que inició la Raspberry PI, han causado una autentica revolución en el mundo de los aficionados y como ordenadores de bajo coste.
Normalmente usan un procesador de teléfono móvil pero con una potencia creciente año a año y pronto rivalizaran con los procesadores de Intel o AMD a una fracción de su coste.
La Raspberry PI inició el camino, pero ya existen rivales muy a tener en cuanta como las Orange PI o Banana PI que son mas o menos compatibles con la Raspi y otras como las PCduino, CubieBoard y BeagleBone que corren directamente Linux.

Además, en algunas distribuciones de GNU/Linux vienen instalados por defecto tanto el IDE de Arduino como el S4A.

Como comentamos en la introducción, para ejecutar el programa nuestro Arduino tiene que estar conectado a un PC, así que si queremos construir un proyecto que necesite libertad para moverse podemos usar alguno de esos mini-ordenadores e integrarlo en la maqueta con una batería.

Por eso recomendamos este tipo de micro ordenadores SBC, como una opción a tener en cuenta dado su bajo precio y versatilidad.



Desarrollos de Scratch para robótica, Enchanting y S4A - Scratch for Arduino (S4A)

SOFTWARE - Software educativo
Écrit par Sergio González Moreau
Lundi, 07 Novembre 2011 22:45

Index de l'article
MONOGRÁFICO: Desarrollos de Scratch para robótica, Enchanting y S4A
Introducción
Enchanting: Scratch para Lego Mindstorms NXT
Scratch for Arduino (S4A)
Enlaces
Toutes les pages

Page 4 sur 5
Scratch for Arduino (S4A)


Introducción

Scratch for Arduino (S4A) ha sido creado por Marina Conde, Víctor Casado, Joan Güell, José García y Jordi Delgado con la ayuda del Grupo de Programación Smalltalk del Citilab[1], un centro dedicado a la investigación, formación y promoción de la tecnología digital (http://citilab.eu). Si quieres saber más sobre este proyecto puedes visitar el apartado dedicado a Arduino que tienen en su página web: http://seaside.citilab.eu/scratch/arduino.


Software necesario

Para poder utilizar S4A será necesario tener instalado previamente el software de Arduino y actualizar el firmware (software base) de la placa. Son dos actos que nos permiten equipar a nuestro ordenador con un entorno de programación muy intuitivo y sencillo.



Programas necesarios

Software para Arduino

La parte simple de este proceso consiste en la descargar el archivo comprimido de la última versión y su descompresión. Para ello, accedemos a la página web del proyecto, http://www.arduino.cc/ y nos vamos a la sección de Descargas (Downloads).



Es conveniente acceder a su versión en inglés ya que tiene las últimas versiones de software, la 0022 en este momento. Como estamos trabajando en entorno MS Windows, pulsaremos en su opción (Windows).




La descarga requiere algo de tiempo ya que el archivo tiene casi 86 MB.



Cuando ya lo tengamos en nuestro disco duro, lo descomprimimos y obtendremos una carpeta con el siguiente contenido.



Lo importante es el archivo arduino.exe que nos permite programar y acceder a la placa, y la carpeta de drivers que vamos a utilizar a continuación.

La cuestión algo complicada en este apartado es la instalación de los controladores (drivers) de la placa Arduino. En nuestro caso vamos a instalar el modelo Mega 2560 y para el resto de las versiones se puede proceder de la misma manera. Los pasos a seguir son:

Conectamos la placa a nuestro ordenador y el sistema operativo se pondrá a buscar los drivers del dispositivo. Puede ser que no los encuentre como en nuestro caso.



Nos vamos a Panel de Control > Sistema > Administrador de dispositivos y aparecerá la placa pero con un signo de advertencia delante de ella indicando que no está bien instalada. Nos situamos sobre ella y pulsamos el botón derecho del ratón. Del menú contextual que saldrá escogemos la primera opción Actualizar software del controlador.



Aparece el asistente que nos ofrece dos opciones, buscar automáticamente el controlador, que ya lo ha intentado antes y no ha dado resultado; y buscar el software en el ordenador, que será la que vamos a escoger.



En la siguiente ventana, pulsaremos en el botón Examinar y navegaremos hasta la carpeta drivers que hemos mencionado antes.




El sistema mostrará un mensaje de advertencia sobre el posible problema de inseguridad al instalar este controlador. Escogeremos la segunda opción, Instalar este software de controlador de todas formas.



Ya tenemos todo el proceso hecho y en el listado de hardware del sistema aparece reflejada nuestra placa Arduinocorrectamente configurada.



Firmware de S4A

Hay que cambiar el software base que tiene la placa Arduino para que pueda comunicarse con ella S4A y así trabajar.

Este software está disponible en la página web de S4A en la zona de descargas. Para acceder a ella, al final del apartado dedicado a Arduino se proporciona el siguiente enlace: http://seaside.citilab.eu/scratch/downloads.



El segundo párrafo contiene el enlace directo para bajar el archivo de firmware más reciente, actualmente el 12.




Puede ocurrir, como en Mozilla Firefox en este caso, que al pulsar sobre él aparezca el contenido del fichero. Si esto ocurre, hay que pulsar con el botón derecho del ratón sobre el enlace y escoger del menú contextual Guardar enlace como… y archivarlo donde deseemos.



Cuando lo tengamos en nuestro ordenador, habrá que descargarlo a la placa y para ello nos valdremos del software de Arduino.

Nos vamos a la carpeta arduino-0022 y pulsamos dos veces sobre el archivo ejecutable arduino.exe para abrirlo.



Tras unos instantes de carga, aparece la ventana principal del programa, similar a la mostrada a continuación:



Para abrir el firmware descargado nos vamos a la opción del menú File y escogemos Open. En el cuadro de búsqueda que surgirá, nos desplazaremos hasta el lugar en el que lo tenemos guardado.



Puede que aparezca una advertencia en la que se nos pide permitir crear una carpeta con el mismo nombre del fichero y moverlo dentro de ella. Pulsaremos sobre el botón OK para continuar.



Aparece en una nueva ventana el archivo que vamos a pasar a la placa.




Volvemos al menú File y ahora pulsamos sobre la opción Upload to I/O Board, o pulsamos en la barra de herramientas el iconoUpload.



En la parte inferior aparece el estado del proceso y tras un momento, si no hay problemas, nos indicará que se ha realizado (Done uploading).


Scratch for Arduino (S4A)

Ya estamos en disposición de instalar S4A y para ello habrá que volver a visitar la sección de descargas de la página web del proyecto, http://seaside.citilab.eu/scratch/downloads; o utilizar el siguiente enlace, http://seaside.citilab.eu/S4A12.exe. Si hemos escogido la primera opción, el tercer párrafo contiene enlaces para distintos sistemas operativos y en este ejemplo, ya que estamos trabajando en el entorno MS Windows, escogemos el primero de ellos.



La última versión hasta el momento, S4A12, tiene un tamaño de 27 MB por lo que puede tardar un poco su descarga.



El procedimiento de instalación como la mayoría de las veces en MS Windows, se inicia pulsando dos veces sobre el fichero.

Lo primero será escoger el idioma que se usará durante la instalación.




Pulsaremos en el botón Siguiente en la bienvenida y en la siguiente ventana aceptaremos el acuerdo.



El resto de los pasos, salvo que deseemos ubicar el programa en otro lugar o no crear accesos directos en el menú de Inicio o en el escritorio, bastará con hacer clic en la opción Siguiente. La última ventana nos permite abrir el programa (Ejecutar S4A), en nuestro supuesto la hemos desmarcado ya que lo dejamos para el siguiente apartado.



Probando S4A

Antes de ejecutar el programa es conveniente tener conectada al ordenador la placa Arduino, ya que su búsqueda será una de las primeras cosas que hará.

La primera vez que abrimos el programa, desplegará el menú de idiomas para que elijamos el nuestro. Pulsamos sobre la opción correcta y dejamos que el programa siga examinando el sistema para enlazar con la placa.



Cuando la haya encontrado, en el cuadro resumen de valores de entrada las cantidades mostradas irán variando muy rápidamente.



Estamos preparados para probar el programa y lo mejor será utilizar los ejemplos que ya tiene creados el equipo del proyecto y que están a disposición de todos.


Abrimos el navegador y volvemos a la sección de descargas del proyecto, http://seaside.citilab.eu/scratch/downloads. Dentro de ella hay un apartado dedicado a ejemplos que contiene un enlace a un archivo comprimido, s4a_basic_examples.zip.



Al descomprimirlo, tendremos cuatro ejemplos sencillos con sus esquemas de montaje.



Hemos escogido la práctica de un led con un interruptor, que se llama button_led_with_state.sb, y cuyo diseño está recogido en el archivo switch_led.png.




Nos harán falta los siguientes materiales: placa de conexiones, resistencia de 10 kW, led, interruptor y cables de conexión. Como ya hemos comentado, la forma de montarlo aparece en el fichero switch_led.png.



Imagen del archivo switch_led.png

Nuestra construcción ha quedado tal y como se muestra en la fotografía que aparece a continuación. Podemos ver que la placaArduino está conectada por USB a nuestro ordenador.




Cuando lo tengamos todo hecho, hay que abrir el archivo button_led_with_state.sb con S4A. Cuidado porque si tenemos instaladoScracth, si pulsamos dos veces sobre el archivo éste será el programa que lo inicie. Por tanto lo mejor será, estando en S4A, pulsar en Archivo y escoger Abrir. Aparecerá una advertencia sobre si deseamos guardar el archivo existente, ya que no contiene nada diremos que no.



En el cuadro de diálogo, nos desplazamos hasta nuestra carpeta que contiene estos ejemplos y seleccionamos el fichero.




Cargará el archivo y volverá a buscar la placa por un momento.



Fijaros que la estructura del programa no tiene un final, si no que es un bucle sin fin que se iniciará cuando pulsamos en la bandera verde y se detendrá al hacerlo sobre el botón rojo de stop.




Hacemos clic en la bandera verde que está en la parte superior izquierda para comprobar si nuestro montaje funciona correctamente. Si pulsamos el interruptor debería encenderse nuestro led rojo, que es lo que ocurre tal y como refleja la siguiente fotografía. Si volvemos a presionar se apaga la luz.



Podemos probar el resto de los ejemplos si queremos hacernos una idea más precisa de cómo se programa en este entorno y se relaciona la placa con S4A. Lo que resta son los ensayos/proyectos que cada uno quiera hacer y que podemos enviar al equipo de S4A ya que estará encantado de publicarlos.

mBlock = Scratch + Arduino


Programa tus robots y placas de Arduino de forma visual con Scratch
 

mBlock  es un entorno gráfico de programación basado en el editor Scratch 2.0 para que escuelas y centros de formación pueda introducir la robótica de forma sencilla y enseñar a programar robots basados en Arduino.


- Permite programar tus robots de forma inalámbrica mediante tecnología bluetooth o 2.4G
- Te permite traducir los bloques de Scratch a código fuente de Arduino
- Puedes probar en tiempo real el programa que relices en Scratch sin necesidad de grabarlo en la placa
- Y una vez probados puedes grabarlo de forma permanente en tu robot 
Puedes usarlo con tus placas de Arduino o también con los robots educativos de Makeblock:
- Para los que se inician: Robot Educativo mBot
- Para los que quieren un kit básico de Makeblock: Starter Kit
- Para los que necesitan un robot más avanzado con muchos sensores mBot Ranger
- Y para los más experimentados en robótica: Ultimate Kit

 

Descarga gratuita

Sólo necesitas descargar mBlock para PC o Mac y seguir los pasos de instalación
Descarga mBlock

Si quieres usar mBlock en Linux puedes leer el siguiente post de nuetsro foro:
Usar mBlock desde Linux

Manual de uso

1- Conectar tu robot


Tienes 3 maneras diferentes de conectar tu robot con mBlock
- cable USB
- Bluetooth
- 2.4G ( la misma tecnología que usan los teclados inalámbricos)

2- Actualizar el Firmware

Para que el robot o tu placa de Arduino se pueda comunicar con mBlock y ejecutar las acciones de Scratch en tiempo real, es necesario que cargues previamente un Firmware en la placa.
Para ello sólo necesitas hacer click en la opción correspondiente y esperar a que finalice la carga (ver imagen anterior).

Nota: Es muy importante que selecciones la placa correspondiente de tu robot (o la placa de Arduino con la que trabajes)



- Me Orion ( placa del Starter Kit, Plotter, mDrawBot e Inventor Kit )
- Me UNO Shield ( shield de Makeblock para acoplar a tu Arduino UNO )
- mBot
- Auriga ( placa del nuevo kit mBot Ranger )
- Mega Pi ( Placa del nuevo Ultimate Kit que puedes usar con tu Raspberry Pi)

3- Realiza tu programa

Arrastrando los bloques correspondientes puedes empezar a programar tus robots de una forma muy sencilla y en tiempo real con tan sólo pulsar labanderita verde y ver el resultado en tu robot.

Puedes encontrar algunos ejemplos de Scratch para Arduino en nuestro foro

Otros ejemplos

Controlar un motor DC


Controlar un display de 7 segmentos


Leer el un sensor de temperatura


Controlar el módulo de LEDS RGB

4- Graba el programa en tu placa

Para grabar de forma permanente tu programa en la placa sólo tienes que sustituir el bloque de banderita verde por el bloque correspondiente a tu placa , en el ejemplo siguiente, usamos el bloque mBot Program



Con el botón derecho sobre el bloque mBot Program haremos click en la opción "Upload to Arduino" accederemos a otra ventana con el código fuente equivalente traducido a Arduino de tu programa en Scratch.
Y esperar a que termine de subir a nuestra placa

Importante : Ahora hemos sustituido el firmware de la placa por tu programa. Si quieres seguir usando Scratch con mBlock nuevamente, deberás volver a actualizar el firmware como hemos visto anteriormente

Programación CON ARDUINO


Scratch es un entorno gráfico de Programación de computadores ampliamente utilizado en educación escolar. Entre sus características, este entorno admite la conexión de dispositivos externos equipados con sensores, tales como: PicoBoard”, la Tarjeta de Sensores de Eduteka (TDS), Makey MakeyLego WeDo,Teléfonos celulares inteligentes o Tabletas (Android) y la tarjeta/placa Arduino. Estos dispositivos, mediante sensores, captan estímulos del mundo físico y Scratch puede leer los datos que estos arrojan. Con excepción de Arduino, todos los dispositivos anteriores funcionan con la versión 1.4 de Scratch. En el caso de Arduino, el Citilab [Centro de Innovación Social y Digital de Barcelona, España] creó una variante deScratch que denominaron Scratch Para Arduino (S4A) que permite controlar la tarjeta con ese entorno. Todos estos dispositivos posibilitan enriquecer los ambientes de aprendizaje estimulando  el desarrollo delPensamiento Computacional mediante la Programación de computadores.

El entorno S4A en asocio con la tarjeta Arduino, permite generarActividades de clase, con diferentes grados de dificultad, en las cuales los estudiantes pueden construir Simulaciones o Juegos a partir de laLectura de datos del mundo físico. Por ejemplo, simular el funcionamiento de un semáforo o generar valores aleatorios que simulen tanto el lanzamiento de un dado como los resultados que acción arroja.
TARJETA ARDUINO
Según sus creadores, Arduino es una tarjeta/placa electrónica de código abierto basada en hardware ySoftware fácil de usar. Está dirigida a quienes deseen realizar proyectos interactivos y es muy utilizada hoy en procesos educativos. Existen varias versiones de esa tarjeta, sin embargo, para los proyectos de clase presentados en este artículo,  Eduteka trabajó con la versión conocida como “Arduino Uno”, por ser la diseñada para trabajar con el entorno de Programación S4A y por encontrar que permite realizar Actividadesde aula con estudiantes de secundaría con las que se busca complementar temas ya vistos en clase; por ejemplo, el de  circuitos eléctricos.  
A continuación presentamos una tabla con algunos modelos de tarjetas Arduino y sus características:

Fuente: El Boy

La tarjeta “Uno” de Arduino consiste en una placa electrónica que tiene un microprocesador Atmega328; 14 pines digitales de entrada/salida, de los cuales 6 pueden utilizarse como salidas PWM (modulación de ancho de pulsos); 6 entradas anaLógicas; un resonador cerámico de 16 MHz; una conexión USB; un conector de alimentación; un microcontrolador (circuito) ICSP y, un botón de reinicio. La alimentación de corriente de esta tarjeta es dual, se puede conectar al puerto USB de un computador o a un adaptador de Corriente Alterna (CA) o de Corriente Contínua (CC).


Scratch PARA ARDUINO (S4A)
Arduino cuenta con su propio entorno de Programación (basado en Wiring), pero dado que este es textual y poco atractivo para los estudiantes, se han adaptado otros entornos de Programación gráficos para que puedan leer las señales que genera la tarjeta Arduino. Entre estos entornos gráficos que facilitan laProgramación de la tarjeta, tenemos: MindplusMinibloqModkitArdublock y Scratch para Arduino (S4A).
Interfaz gráfica del entorno S4A

La versión de Scratch para Arduino se descarga según  el sistema operativo del equipo en el que se vaya a trabajar; en este caso, Windows. Los archivos que se necesitan son S4A y su respectivo Firmware. Este último es un programa que permite reconocer la Tarjeta Ardunio y comunicarse con ella desde S4A. Una vez instalado el entorno S4A y el Firmware, se abre el programa que luce muy similar a la versión 1.4 de Scrach, pero que ofrece unos bloques adicionales que permiten controlar los sensores conectados a Arduino. En el menú Movimiento del programa se puede verificar el estado de los sensores.

El entorno S4A cuenta también con una tabla de sensores en la cual se puede observar el estado, tanto de las entradas digitales como de las análogas. Esta tabla aparece en el momento en que se abre el programa y se conecta la tarjeta Arduino al puerto USB del computador
A continuación, citamos un conjunto de aspectos a tener en cuenta y algunos consejos que permiten trabajar mejor con Arduino tomados de la siguiente fuente: “Herramientas graficas para la Programación de Arduino, de José Manuel Ruiz Gutiérrez”.
Para que el programa reconozca la placa/tarjeta se siguen los siguientes pasos:
  1. Localizamos donde quedó almacenado el firmware que permite, no solo comunicarnos con el Arduino de manera serial, sino configurar las entradas y las salidas de la placa.
  2. Abrimos el programa Arduino y copiamos en él el código para cargar el firmware.
  3. Volvemos al entorno Scratch para buscar la tarjeta Arduino y seleccionamos el puerto, en este caso, para Windows se reconocen los puertos COM, lo cual verificamos en la administración de dispositivos del equipo.
  • Trabajamos los montajes con un Protoboard en el que se conectan los dispositivos electrónicos (resistencias, switches, potenciómetros, leds, etc) mediante cables que permiten establecer puentes de conexión con la Tarjeta Arduino.
  • Recomendamos usar cables con conector en el extremo macho, a manera de conectores jumper. El cable a usar puede ser de los mismos utilizados para hacer cableado de red (UTP). Cada uno de sus hilos puede cortarse en pequeños trozos dejando libre los extremos; esto es, retirando de estos el recubrimiento de caucho para lograr un mejor contacto.

EJEMPLOS DE PROYECTOS DE CLASE CON ARDUINO

A continuación presentamos dos Simulaciones y un juego construidos con la tarjeta Arduino y el programa S4A: Funcionamiento de un semáforo, lanzamiento de un dado digital y un juego tradicional de ping-pong. Consulte en el Gestor de Proyectos de Eduteka los montajes de estos, en Arduino y S4A.
Para elaborar la simulación del funcionamiento de un semáforo, los estudiantes deben realizar un esquema eléctrico del montaje sobre la protoboard. Para ello, deben utilizar tres diodos led de diferente color (rojo, amarillo y verde), usar tres resistencias de 330 ohmios, la Tarjeta Arduino UNO y cables de conexión. Posteriormente, deben analizar cómo programar la secuencia de encendido/apagado de los tres diodos de manera que funcionen como lo hace un semáforo. Se debe tener en cuenta con cuál color se inicia y cuánto tiempo debe durar este encendido; tener en cuenta además, qué sucede en este tiempo con los otros dos diodos.
Foto tomada al ensamble de la Actividad que simula un semáforo


Semáforo en Protoboard y conexión a la tarjeta Arduino UNO

Para simular los resultados arrojados por un Dado Digital, los estudiantes deben lograr que cada vez que se pulse el botón pulsador de la tarjeta Arduino, se generen números aleatorios entre 1 y 6 y se enciendan los diodos led correspondientes. Estos diodos deben permanecer encendidos durante periodos de tiempo muy cortos para mostrar los valores aleatorios que se van generando simulando que el dado está rodando. Luego de un tiempo determinado, se genera un número aleatorio definitivo (resultado) y deben quedar encendidos, durante un tiempo más largo, la cantidad de diodos led equivalente a dicho número.

Simulación de lanzamiento de dados y su conexión a la tarjeta Arduino UNO

En el caso del juego de Ping-Pong, los estudiantes deben utilizar dos potenciómetros de 2K ohmios o de 5K ohmios que cumplan la función de mandos del juego. Asimismo, deben usar la Tarjeta Arduino UNO, cables de conexión y una tarjeta Protoboard. 
Cada uno de los potenciómetros debe controlar el movimiento de una raqueta en el S4A y el objeto “bola” debe moverse con trayectorias rectas, pero con direcciones aleatorias. Los estudiantes deben programar el juego para que al girar los potenciómetros, cada objeto “raqueta” se desplace en el eje Y (hacia arriba o hacia abajo), de manera que pueda tocar el objeto “bola”. Si cualquiera de las dos raquetas toca la bola, esta, la bola, debe rebotar en una dirección aleatoria.

Juego de Ping-Pong y su conexión a la tarjeta Arduino UNO

CRÉDITOS:
Los desarrolladores del entorno de Programación S4A  fueron los españoles Marina Conde, Víctor Casado, Joan Güell, José García y Jordi Delgado con la ayuda del Grupo de Programación Smalltalk del Citilab. 
Articulo elaborado por Eduteka con información preveniente de las siguientes fuentes: