“Cacharreando con S4A” 1. ¿Qué es Arduino? Arduino es una placa programable con entradas y salidas digitales y analógicas. Es ideal para automatización y robótica. Esto significa que disponemos de un pequeño “autómata”, capaz de recibir información del entorno (sensores) y realizar acciones (actuadores, motores…), según un programa que introducimos con un ordenador, y que puede ejecutar de forma autónoma. 2. Partes de la placa Arduino Uno
Lleva 14 entradas/salidas digitales y 6 de estas pueden utilizarse para salidas PWM (Modulación por ancho de pulsos). Además, dispone de 6 entradas analógicas. Arduino suministra 5V a la salida de cada pin, la técnica PWM cambia rápidamente de 5V a 0V, formando una onda cuadrada y nos servirá para poder emular una señal analógica a partir de otra digital. En los sistemas electrónicos, una magnitud física variable se representa generalmente mediante una señal eléctrica que varía, de manera tal que describe esa magnitud. Por lo general, se hace referencia a las señales continuas como señales analógicas, mientras que asociamos las señales discretas a señales digitales: el ejemplo más claro es el de las señales binarias, donde la señal sólo pueden tomar dos niveles, 0 o 1. Arduino incorpora terminales digitales (señales discretas) pero de tal forma que tenemos un gran abanico de valores con los que trabajar (de 0 a 255). Susana Oubiña Falcón
Página 1
“Cacharreando con S4A”
3. S4A Es un programa que combina Scratch con Arduino y hace posible una conexión entre la placa y el programa S4A cada 75ms, enviando el estado de los actuadores y recibiendo el estado de los sensores. Su interfaz es muy similar al Scratch 1.4, incluyendo objetos arduino que presentan comandos para controlar ciertas entradas y salidas analógicas y digitales de la placa Arduino Uno, así como el control de servos. Descarga Para intercambiar datos entre S4A y la placa, la placa debe tener cargado un programa o firmware específico, gracias al cual, S4A entiende cómo es la placa Arduino Uno (sus pines analógicos y digitales). Atendiendo a ese firmware, los componentes deben conectarse de una forma determinada. S4A habilita: 6 entradas analógicas (pines analógicos 0 al 5)
2 entradas digitales (pines digitales 2 y 3)
Susana Oubiña Falcón
Página 2
“Cacharreando con S4A”
3 salidas analógicas (pines digitales 5, 6 y 9)
4 salidas digitales (pines 10, 11, 12 y 13)
3 salidas especiales para conectar servomotores de rotación continua (pines digitales 4, 7) y, para un servo (pin 8).
Susana Oubiña Falcón
Página 3
“Cacharreando con S4A”
S4A permite controlar tantas placas como puertos USB tenga vuestro PC, interconectando objetos arduino en S4A. Existe la posibilidad de usar un firmware que modifica el firmware de S4A logrando aumentar el número de entradas y salidas digitales. Esta posibilidad, aplicada a ciertos proyectos de tecnología, puede interesarnos implementarla. Esa nueva versión modificada del firmware 1.6 de S4A, ideada por los creadores de S4A, no es más que un “parche” llamado S4AFirmwareDT que habilita un total de seis entradas digitales (pines 2, 3, 4, 5, 6 y 7) y cuatro salidas digitales (pines 10, 11, 12 y 13 ). Esta modificación ha sido realizada por Joaquín López, miembro de Edutictac, y está disponible en un fichero comprimido que se puede descargar del siguiente link: S4A16DT.zip. El archivo zip incluye el firmware modificado S4AFirmwareDT.ino que es el que se debe cargar en la placa Arduino antes de abrir S4A y un archivo de imagen llamado S4A.image que se debe instalar o sobrescribirlo al directorio donde está instalado el S4A, junto a la carpeta “locale”. En LliureX, el S4A se encuentra en / usr/lib/s4a. El editor gráfico del S4A no es tan potente como el editor gráfico del Scratch 2.0. Pero no es problema porque podemos crear nuestro archivo en Scratch 2.0 y transformarlo en un archivo utilizable en S4A. Para ello, necesitamos convertir un archivo con extensión .sb2 (Scratch2.0) en uno con extensión .sb (S4A). La herramienta que nos permite hacer eso, de forma muy sencilla, se llama “Retro Converter”. Susana Oubiña Falcón
Página 4
“Cacharreando con S4A” 4. Comunicación Inalámbrica El programa creado en el software S4A requiere de una comunicación directa entre la placa y el software. S4A no carga el programa en Arduino sino que se comunica con él cada 75ms. Por lo tanto, necesita estar comunicándose de alguna forma cada cierto tiempo. La forma más común de comunicación es por el cable de conexión de la placa Arduino Uno al PC, pero no es la única. A veces nos interesa realizar otro tipo de comunicación que evite el cableado y que haga de nuestro proyecto un elemento con mayor independencia de movimiento. Para ello, tenemos dos opciones o posibilidades: mediante radiofrecuencia (utilizando los módulos de RF Xbee) o mediante bluetooth. En los siguientes links se muestra cómo hacerlo: Bluetooth (HC-06) Radiofrecuencia (2 módulos de RF configurados bajo 38400 baudios). Información de los módulos en el siguiente link: http://ftp1.digi.com/support/documentation/manual_xb_oem-rfmodules_802.15.4_v1.xAx.pdf 5. ScratchX ScratchX es el futuro de S4A. Yo lo comparo con el Scratch 2.0 frente a Scratch 1.4. ScratchX es una extensión experimental de Arduino sobre Scratch. Para usarlo necesitaos cargar en la placa arduino un Firmware que se llama Firmata e instalar el plugin de la web de scratch (el mismo que se usa para las extensiones de WeDo y Picoboard). Ejemplo: Vídeo de la Práctica “Blink” en ScratchX 6. Prácticas (Desarrollo Completo) 1. Blink: Consiste en hacer parpadear un led cada segundo. Práctica 1 2. Button: Consiste controlar el encendido y apagado de un LED a partir de un botón pulsador, de modo que si se presiona el botón, el LED se encienda y si no se presiona, el LED se muestre apagado. Práctica 2 3. Control de un Led por LDR: Consiste controlar el encendido y apagado de un LED utilizando una LDR, de modo que atendiendo al valor de luz que reciba, enciende o apague el LED. Práctica 3
Susana Oubiña Falcón
Página 5
“Cacharreando con S4A” 4. Control del brillo de un LED por Potenciómetro: Consiste en controlar el brillo de un LED (cantidad de corriente) a través de un potenciómetro. Práctica 4 5. a. Control de un motor de continua con L295: El objetivo de esta práctica es controlar el cambio de giro de un motor de continua con S4A. Lo conseguiremos no a través de un transistor, si no que usaremos el circuito integrado L293D Práctica 5.a. 5. b. Control de un motor de continua con I298N: El objetivo de esta práctica es controlar el cambio de giro de un motor de continua con S4A. Para ello, utilizaremos un driver controlador de motores de doble puente para motores de continua en lugar del integrado L293D que ya hemos usado en la práctica 5. El driver que utilizaremos es el I298N. Práctica 5.b. 6. Detección de un objeto por sensor de ultrasonidos: esta práctica es conseguir detectar un objeto programando el sensor de ultrasonidos HC-SR04 en S4A Práctica 6 7. Control de giro y velocidad de un servomotor: El objetivo de esta práctica es controlar el cambio e incluso velocidad en el giro de un servomotor usando S4A. Práctica 7 8. Control del color de un LED RGB: Esta práctica consiste controlar los colores que nos puede aportar un LED RGB (Red, Green and Blue) utilizando para ello tres resistencias variables o potenciómetros. Práctica 8 9. Sensor óptico de IR: El objetivo de esta práctica es conseguir detectar un objeto programando el sensor óptico de infrarrojos en S4A. Práctica 9 10. Control de un display 7 segmentos: El objetivo de esta práctica es conseguir programar un display 7 segmentos realizando un contador descendente en el entorno S4A. Práctica 10
Susana Oubiña Falcón
Página 6
“Cacharreando con S4A” 11. Proyecto de Tecnología: Semáforo con LEDs y zumbador. Se pretende implementar un semáforo físico de coches y peatones programando su funcionamiento con el software S4A. Semáforo Tecnología Para Fikis Semáforo PI Tarjeta K4S: 1. Conexión de K4S con S4A 2. Ejemplo “Intrusos en casa”
“Cacharreando con S4A” por Susana Oubiña Falcón fue creado bajo la licencia Creative Commons Reconocimiento 4.0 Internacional License.
Susana Oubiña Falcón
Página 7