sábado, 20 de abril de 2013

S4A para Arduino: Programación de un semáforo de leds

El entorno de programación de Arduino me gusta más, da la sensación de tener un control completo de la placa y con más posibilidades, pero ver líneas de código a muchos alumnos les puede impresionar o desanimar. Por ello me he decidido a probar el programa S4A (Scratch for Arduino) que combina una interfaz de programación más intuitiva y, sobre todo, creo que más atractiva para que los alumnos se animen a la programación.
Scratch es un lenguaje de programación con el que incluso los niños pueden adentrarse en este fascinante mundo. Scratch for Arduino (S4A) es una adaptación que permite conectar Scratch con la tarjeta Arduino y controlar "cosas" físicas: motores, resistencias, leds, etc.
Así que, para usar S4A lo primero que he hecho ha sido instalarlo en Ubuntu (también es posible en windows). Para ello he seguido estas instrucciones :
  1. Instalar el entorno Arduino . Para Ubuntu lo hice así.
  2. Conectar la placa Arduino al puerto USB y abrir o ejecutar el IDE de Arduino. Cargar el firmware para que conecte S4A con la placa Arduino. Se copia todo el código del firmware en el IDE de Arduino y se transfiere a la placa.
  3. Bajar e instalar S4A eligiendo el sistema operativo apropiado. En mi caso, Línux (Debián). Se descarga un paquete .deb, se hace doble click sobre él y aparece el instalador de Ubuntu. Una vez instalado, se ejecuta S4A y se puede empezar a programar.
La primera vez que he probado S4A tenía abierto a la vez el IDE de Arduino y la placa conectada al ordenador. Supongo que una vez que se ha descargado el firmware a la placa Arduino en principio no hay que volver a hacerlo, salvo que se reinicie la placa. Así pues, al día siguiente no he hecho más que encender el ordenador, conectar la placa al usb del ordenador y empezar a programar con S4A.



He elegido, para probar, un programa de lo más sencillo. Encender tres leds: verde, amarillo y rojo, simulando un semáforo. Lo único que hay que indicar en el programa es qué led se enciende y durante cuánto tiempo.





 Los leds verde, amarillo y rojo están conectados a los pins 10, 11 y 13 de la placa Arduino y con una duración de encendido sucesiva de 5, 3 y 10 segundos respectivamente.  El programa comienza al presionar la banderita verde y la secuencia se realiza sucesivamente, con el comando "por siempre".
Los pins 10, 11 y 13 son los únicos que controla S4A, por lo que si queremos utilizar más habrá que utilizar el propio IDE de Arduino.

El resultado es el siguiente:




Por último, también podemos dotar al programa de más realismo en la pantalla, introduciendo escenarios y disfraces. Por ejemplo, con tres imágenes de semáforos en verde, amarillo y rojo podemos hacer que el programa, a la vez que enciende el led verde muestre la imagen de semáforo verde. Igualmente ocurre cuando está en amarillo y rojo.






1 comentario:

david bachiller alcalá dijo...

se nota que la electrónica se le da muy bien , pero el vídeo es un poco soso ya que podrían haber explicado el funcionamiento del circuito.