4
S4A
(Scratch) + Arduino
Utilización de S4A (Scratch) más la tarjeta Arduino en un ambiente
de programación gráfica orientado a la educación
Ver. 1.0
+
José Manuel Ruiz Gutiérrez
Serie: Herramientas Gráficas para la programación de
Arduino
S4A (Scrtach) + Arduino
José Manuel Ruiz Gutiérrez
Índice
1.
2.
3.
4.
5.
Objetivo de este trabajo.
Una Introducción general a S4A
Salida Intermitente
Salida intermitente con visualización de estado en pantalla
Salida intermitente con visualización de estado en pantalla y control
de frecuencia mediante un canal de entrada analógica.
Gobierno de una salida mediante un pulsador
Gobierno de salida con pulsador en pantalla: Pulsador virtual
Gobierno de salida en modo biestable “memoria”
Control de una salida mediante el teclado
6.
7.
8.
9.
10. Contador Sencillo
11. Contador Adelante/atrás
12. Contador con puesta a “cero”
13. Semáforo
14. Control de un motor
15. Control de un servomotor (giro 180º)
16. Lectura de un canal analógico de entrada.
17. Simulador de un Termóstato
18. Traspaso de un valor analógico de entrada a una salida analógica
19. Gobierno de una salida analógica desde la pantalla del Escenario
20. Gobierno de una salida analógica mediante el valor de la posición x
del ratón.
21. Gobierno de una salida analógica mediante un bucle secuencial
continuo
22. Termómetro con leds y sensor LM35
23.
Instalación domótica
Enero de 2012 Versión de Documento: V1.0
José Manuel Ruiz Gutiérrez
[email protected]
Blog de referencia: http://josemanuelruizgutierrez.blogspot.com/
2
S4A (Scrtach) + Arduino
1. Objetivo de este trabajo.
José Manuel Ruiz Gutiérrez
Con el presente trabajo práctico pretendo dar a conocer las posibilidades de la
herramienta S4A en conjunción con la tarjeta Open Hardware Arduino UNO.
S4A es un entorno desarrollado a partir del prestigioso entorno Scratch
desarrollado en el MIT Media Lab de muy amplia difusión en el mundo de la educación.
La intención de este trabajo es facilitar a los profesores, estudiantes e interesados
en la programación grafica y en los entornos Open Hardware una primera iniciación
practica abordando la resolución de sencillos ejemplos en los que se hace uso de la
librería de objetos que se encargan de la comunicación con Arduino.
Es evidente que ya se terminaron aquellos entornos de programación en los que
había que “pelearse” con una sintaxis de comandos en ocasiones diabólica. En este caso
S4A realiza esa tarea tediosa y permite al usuario dedicarse a la creación y
perfeccionamiento del algoritmo que resolverá su problema.
En este trabajo aporto una colección de ejemplos que permitirán al lector
comprender las posibilidades de esta poderosa conjunción Arduino + S4A y le animarán
a continuar facilitándole el conocimiento de una de las plataformas Open Hardware más
interesantes y difundidas en el mundo.
Poner en la comunidad internacional Arduino este trabajo es para mí una
satisfacción porque con ello creo aportar un “pequeño grano de arena” al conocimiento y
a su pública y libre difusión a través de herramientas públicas y gratuitas.
Agradezco sinceramente a todos cuantos, antes de mi, trabajaron en este campo y
valoro sus aportaciones, especialmente a los creadores de S4A que han contribuido de
una manera notoria a la difusión de Arduino como herramienta de aprendizaje.
3
S4A (Scrtach) + Arduino
2. Una introducción a S4A
José Manuel Ruiz Gutiérrez
Citilab
Introducción
Citilab pone a disposición de la comunidad Arduino una aplicación basada en
Scratch para programar de manera gráfica Arduino. La aplicación se llama S4a (ficheros
para descargar S4A y Firmware)
S4A es una modificación de Scratch que proporciona una programación sencilla
de la plataforma abierta de hardware Arduino. Incluye nuevos bloques para controlar
sensores y actuadores conectados a Arduino. También hay una tabla que informa del
estado de los sensores similar a la PicoBoard.
Ha sido desarrollada para atraer a la gente al mundo de la programación. Su
objetivo es también proporcionar una interfaz de nivel alto para programadores de
Arduino con funcionalidades como la interacción de varias placas a través de eventos de
usuario.
Características
Los objetos de
librería Arduino ofrecen bloques para
funcionalidades básicas del microcontrolador, escrituras y lecturas
tanto analógicas como digitales, además de alguna de más nivel.
la
4
S4A (Scrtach) + Arduino
José Manuel Ruiz Gutiérrez
Puedes encontrar bloques para controlar servomotores de rotación
continua Parallax.
Se pueden crear objetos Arduino a través de 3 maneras distintas en el
entorno de Scratch. Puedes elegir entre crear una nueva conexión o
usar una ya existente. Esta característica permite a los objetos virtuales
Arduino funcionar de forma colaborativa usando la misma conexión
(el objeto físico). El objeto Arduino encontrará él mismo el puerto
USB donde la placa esté conectada.
S4A interactúa con Arduino enviando el estado de los actuadores y
recibiendo el de los sensores cada 75 ms, por lo tanto el ancho de
pulso ha de ser mayor que este período. Este intercambio de
información se efectúa usando el protocolo de la PicoBoard, el cual ya
está implementado en un programa específico (llamado firmware) en
la placa. Encontrareis instrucciones de cómo cargarlo a través del
entorno Arduino.
Funciona con las versiones Duemilanove/Diecimila y Uno, quizás
también con otras pero no las hemos testeado aún. También se puede
controlar una placa de manera inalámbrica si se añade un módulo RF
como por ejemplo XBee. Una característica importante es que se
puede crear un proyecto utilizando tantas placas como puertos USB
haya disponibles.
S4A es compatible con Scratch, se puede trabajar con proyectos
Scratch y también con la PicoBoard. Sin embargo, no se pueden
compartir proyectos ya que va en contra de los términos de uso de
Scratch.
Por otra parte, la configuración de entrada/salida aún está siendo
desarrollada, así que por ahora los componentes tienen que conectarse
de una forma concreta. Dicha configuración ofrece 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 y 13) y 4 salidas especiales para conectar servomotores
de rotación continua Parallax (pines digitales 4, 7, 8 y 12).
5
S4A (Scrtach) + Arduino
José Manuel Ruiz Gutiérrez
Creadores: S4A ha sido desarrollado 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. Para informar de errores o simplemente darnos sugerencias podéis escribir a:
[email protected].
Modo de instalación.
1. Para instalar S4A +Arduino se deberán seguir los siguientes pasos.
2. Primero instalar el software S4A una vez que se haya descargado del
su lugar de origen.
3. Se deberá instalar en la tarjeta Arduino el Firmware correspondiente
que facilita la comunicación con S4A. Esto se realiza cargando el
fichero firmware en el IDE de Arduino y después descargándolo sobre
la tarjeta.
4. Finalmente se ejecuta S4A y de realiza el diseño haciendo uso de las
librerías de bloques correspondientes una parte de las cuales se
encarga de la lectura y escritura de datos en la tarjeta de acuerdo
siempre con
la configuración que establezca el firmware. A
continuación se detallan estas configuraciones de E/S que no
olvidemos que no se pueden modificar desde S4A.
ENTRADAS/SALIDAS
salidas digitales (pines digitales 10,11 y 13)
salidas analógicas (pines digitales 5, 6 y 9)
entradas analógicas (todos los pines analógicos de entrada)
entradas digitales (pines digitales 2 y 3)
servomotores RC (pines digitales 4, 7, 8 y 12)
6
S4A (Scrtach) + Arduino
3. Salida intermitente
José Manuel Ruiz Gutiérrez
Nuestro primer ejercicio será el encendido y apagado de un diodo led conectado
en la salida PIN 13 de la Tarjeta Arduino.
En la siguiente imagen se ve el gráfico correspondiente a esta sencilla aplicación.
Se han utilizado dos funciones “digital” de la librería “movimiento” asociadas a
la salida PIN 13 una en estado “encendido” y otra en estado “apagado”
Las temporizaciones se hacen con los bloques “pensar” de la librería
“apariencia” a los que les hemos quitado el texto que muestran por defecto y en los que
se ha colocado el valor del tiempo en segundos, se pueden realizar también con el bloque
“esperar … segundos” de la librería “control”
En la pantalla “escenario no se ha puesto ningún objeto, por lo que aparece la que
muestra por defecto.
El montaje de este primer ejemplo es muy sencillo y se muestra en la siguiente
imagen.
7
S4A (Scrtach) + Arduino
4. Salida intermitente con visualización de estado
José Manuel Ruiz Gutiérrez
en pantalla.
Si queremos que en la pantalla del escenario aparezca una imagen de un diodo led
que simula encendido y apagado debemos crear con la herramienta “disfraces” del
entorno dos imágenes una que llamados led_off y otra led_on que muestran el estado.
Después en el programa lo que hacemos es util
Comentarios de: Utilización de S4A (Scratch) más la tarjeta Arduino en un ambiente de programación gráfica orientado a la educación (0)
No hay comentarios