Practicando con S4A
Título original: Practicando con S4A Diseño de la portada: Sesé González García 1ª Edición: agosto, 2015 Susana Oubiña Falcón ISBN: 978-84-608-1890-8
"Practicando con S4A (Scratch for Arduino)", por Susana Oubiña Falcón, es publicado bajo la licencia Creative Commons Reconocimiento 4.0 Internacional License. Susana Oubiña Falcón
Página 1 de 208
Practicando con S4A Índice 1. Introducción ................................................................................................................ 3 1.1. Generalidades del entorno S4A ........................................................................... 4 2. Pequeñas prácticas de robótica para secundaria en S4A .......................................... 8 Práctica 1: Blink .......................................................................................................... 8 Práctica 2: Button ...................................................................................................... 17 Práctica 3: Control de un LED por LDR .................................................................... 26 Práctica 4: Control del brillo de un LED mediante un potenciómetro ........................ 36 Práctica 5: Control de un motor de continua a través del L293D.............................. 46 Práctica 5B: Control de un motor de continua a través de I298N ............................. 62 Práctica 6: Detección de un objeto por medio del sensor de ultrasonidos ............... 68 Práctica 7: Control de giro y velocidad de un servomotor ......................................... 79 Práctica 8: Control del color de un LED RGB ........................................................... 87 Práctica 9: Detección de un objeto por medio del sensor óptico de IR ..................... 99 Práctica 10: Control de un display 7 segmentos ..................................................... 111 3. Investiga, combina y crea en el aula taller.............................................................. 122 3.1. Semáforo con LEDs y zumbador ..................................................................... 122 3.2. Tarjeta teclado K4A.......................................................................................... 133 3.2.1. Práctica: Intrusos en casa ......................................................................... 138 3.3. Tarjeta NENO................................................................................................... 144 3.4. PicoBoard trabajando con S4A ........................................................................ 155 3.4.1. Conectar el mundo PicoBoard................................................................... 157 3.4.2. Ejemplos para Scratch Sensor Board y PicoBoard Actual ........................ 172 3.4.3. Ejemplos PicoBoard para S4A .................................................................. 178 3.5. Un dilema: ¿Cuál usar? ................................................................................... 189 4. Un paso más........................................................................................................... 191 4.1. Convertir un archivo sb2 en sb ........................................................................ 191 4.2. Modificación de la versión 1.6 de S4A para el control de proyectos de tecnología................................................................................................................ 192 4.3. Bye bye USB (Conexiones inalámbricas) ........................................................ 193 4.4. ScratchX: generalidades y PicoBoard .............................................................. 194 4.4.1. Leap Motion & ScratchX ............................................................................ 199
Susana Oubiña Falcón
Página 2 de 208
Practicando con S4A 1. Introducción Tras trabajar con Scratch en las versiones 1.4 y 2.0, decidí dar un paso más en la robótica educativa “económica” y adentrarme en el entorno S4A (Scratch for Arduino). Sin duda un acierto porque presenta un gran potencial en la materia de Tecnología. Obviamente, en un mundo donde la automatización juega un rol tan importante, que nuestros alumnos/as aprendan y desarrollen con la robótica es, como mínimo realista y siempre muy valioso para su formación integral. Su utilidad no radica exclusivamente en la posibilidad de que el alumnado programe, automatice y realice un control sensorizado de un proyecto tecnológico que de solución a un problema real. Además, como en los sueños, dentro de S4A suceden cosas extraordinarias permitiendo que el docente vaya más allá y lo explote para mostrar a sus alumnos/as, de forma práctica y más atractiva, el funcionamiento y aplicaciones de contenidos muy específicos de nuestra materia. Personalmente, considero que este software no sólo es apto ni debe únicamente enfocarse en el nivel de la ESO. Es un hecho que, fuera de España, se emplea y tiene éxito en la enseñanza primaria mostrándose como una maravillosa herramienta que ayuda y potencia la creatividad, la innovación, la curiosidad y el auto-aprendizaje de los estudiantes, permitiéndoles desarrollar sus proyectos en múltiples materias y logrando que comuniquen lo abstracto con lo concreto. Reconozco que mis primeros pinitos con S4A fueron pobres en cuanto a calidad pero, al mismo tiempo alentadores; presentía su utilidad en mis aulas. Por experiencia, sé que su curva de aprendizaje es rápida si se domina la programación en scratch y si se dispone de un pequeño hardware para implementar las primeras ideas. En mi caso, una placa Arduino Uno y una PicoBoard. Pero el crecimiento de esta curva se amplifica considerablemente si el usuario trabaja con tutoriales completos en lugar de meras guías que omiten la explicación desarrollada y detallada de cada pequeña práctica. Resulta difícil evolucionar por uno mismo y dar rienda suelta a la imaginación si no disponemos de unos conocimientos iniciales a partir de los cuales avanzar. Pulular por la red, buscando información e investigando el campo S4A fueron mis pasos iniciales en este programa y tras este sondeo, asumí que el material publicado y orientado a educación no se había enfocado para dummies. En mi opinión, esos documentos, imágenes y vídeos, estaban poco desarrollados y no era tan sencillo asimilar su información. Un problema a dos bandas. Por un lado, entendí que mis alumnos/as no serían capaces de crear partiendo de ella, y por otro lado, incluso un docente precisaría “gastar” horas en trabajo e investigación antes de sentirse capaz de aprovechar esta herramienta en su aula. Viendo estas carencias en cuanto a la ausencia de tutoriales completos y prácticos enfocados a la materia de tecnología, me lancé a la creación de mi
Susana Oubiña Falcón
Página 3 de 208
Practicando con S4A primera práctica y esa llevó a la segunda y así sucesivamente. Y casi sin darme cuenta, de forma accidental y por un vacío, se fue gestando este libro. La documentación que aborda “Practicando con S4A” se ha estructurado en cuatro partes. Aunque la primera describe de forma resumida algunas generalidades del programa, el libro no es un tutorial que se limite a explicar la herramienta. Debe entenderse como un trabajo práctico, siempre muy mejorable y orientado hacia la materia de Tecnología. Por este motivo, el segundo punto es el más relevante. En él se describen, paso a paso y en detalle, posibles y pequeñas prácticas que se pueden desarrollar en las aulas taller con: objetivos, montaje eléctrico, objetos y su programación en el entorno S4A, así como, el vídeo demostrativo del funcionamiento de la práctica. Espero y deseo que ellas sirvan como aprendizaje hacia el desarrollo de un proyecto final: construir y programar un “robot” funcional a través del entorno S4A. Un robot que aporte solución a un reto, a un problema o a un desafío. Al igual que en el entorno Scratch, considero interesante la posibilidad que ofrece el software S4A en cuanto a la combinación del mismo con otras posibles tarjetas de sensores. Buscando abrir una ventana a este atractivo, sensorizar entornos, nace un tercer apartado que enfoca el uso educativo de S4A hacia los dispositivos K4S, NENO y PicoBoard en sus tres versiones. Por último pero no por ello carente de alicientes, he desarrollado un cuarto apartado de mejoras que acierto en llamar “Un paso más”. Con él pretendo orientar al lector hacia un mayor aprovechamiento de la herramienta, ofreciendo utilidades relativas a un conexionado más independiente y a una calidad de diseño. Funcionalidades que aplicadas, enriquecen multitud de proyectos del aula taller de Tecnología. En este punto y como colofón, veo conveniente descubriros un futuro campo de trabajo, ScratchX. Seductora herramienta que hoy en día se encuentra en fase beta y que, en mi opinión, sucederá o como mínimo complementará, al software S4A.
1.1. Generalidades del entorno S4A Como su nombre indica, S4A es un programa que combina Scratch con Arduino. La conexión entre la placa y el software S4A se realiza cada 75ms, enviando el estado de los actuadores y recibiendo el estado de los sensores. Su interfaz es muy similar a la del Scratch 1.4, incluyendo objetos arduino que presentan nuevos comandos para controlar ciertas entradas y salidas, analógicas y digitales, de la placa Arduino, así como el control de servos. La descarga del programa así como, la del firmware necesario, puede hacerse desde el siguiente link: Descarga1 1
Descarga: http://s4a.cat/index_es.html
Susana Oubiña Falcón
Página 4 de 208
Practicando con S4A Para intercambiar datos entre S4A y la placa, la placa debe tener cargado un archivo o firmware específico, gracias al cual, S4A entiende cómo es la placa Arduino (sus pines analógicos y digitales). Atendiendo a ese firmware, los componentes deben conectarse de una forma determinada. Con S4AFirmware15.ino2 , el programa S4A habilita: 6 entradas analógicas (pines analógicos 0 al 5)
Entradas, read, analógicas. Susana Oubiña Falcón (CC-BY)
2 entradas digitales (pines digitales 2 y 3)
Entradas, read, digitales. Susana Oubiña Falcón (CC-BY)
2
Link de descarga de S4AFirmware15.ino: s4a.cat/downloads/S4AFirmware15.ino
Susana Oubiña Falcón
Página 5 de 208
Practicando con S4A
Entradas, read, analógicas y digitales. Susana Oubiña Falcón (CC-BY)
3 salidas analógicas (pines digitales 5, 6 y 9)
Salidas, writer, analógicas. Susana Oubiña Falcón (CC-BY)
4 salidas digitales (pines 10, 11, 12 y 13)
Salidas, writer, digitales. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 6 de 208
Practicando con S4A 3 salidas especiales para conectar servomotores de rotación continua (pines digitales 4, 7) y, para un servo (pin 8).
Salida para servo. Susana Oubiña Falcón (CC-BY)
Salidas para motores DC. Susana Oubiña Falcón (CC-BY)
S4A posibilita una doble vertiente de trabajo que lo hace fascinante. Por un lado, S4A admite controlar tantas placas arduino como puertos USB dispongamos en el PC, interconectando objetos arduino en S4A. Y por otro lado, permite utilizar la PicoBoard conjuntamente con una placa arduino. Este potencial de conectividad abre la puerta a la creación de un gran abanico de proyectos que logren sensorizar entornos y que impulsen la creatividad de nuestro alumnado.
Susana Oubiña Falcón
Página 7 de 208
Practicando con S4A 2. Pequeñas prácticas de robótica para secundaria en S4A Práctica 1: Blink
“Blink” en S4A. Susana Oubiña Falcón (CC-BY)
1. Objetivo Esta primera práctica será muy sencilla. Su objetivo es hacer parpadear (cada segundo) un LED. Como preámbulo, se explicarán qué pines vamos a utilizar porque la configuración de entrada/salida de la placa arduino en el software S4A debe hacerse de una forma muy concreta:
Las 6 entradas (read) analógicas (son variables discretas y pueden tener una gran variedad de valores): se implementarán en los pines analógicos del 0 al 5 y usan el comando:
Las 2 entradas (read) digitales (son variables discretas y finitas, que describen 2 estados: 1/0, ON/OFF): se utilizan los pines digitales 2 y 3 y usan el comando:
Susana Oubiña Falcón
Página 8 de 208
Practicando con S4A
Las 3 salidas (writer) analógicas: utilizan los pines 5, 6 y 9 y usan el comando:
Las 4 salidas (writer) digitales: utilizan los pines 10, 11, 12 y 13 y usan los comandos:
Para los motores de continua (DC) utilizan los pines digitales 4 y 7 con los comandos:
Para los motores servo utiliza el pin digital 8 con el comando:
En nuestra práctica Blink, utilizaremos un LED rojo que se conectará al pin 13 (salida de escritura digital) de la placa arduino. 2. Montaje eléctrico Los componentes electrónicos que requiere el montaje eléctrico son los siguientes: 1 LED rojo y 1 resistencia de 220
Susana Oubiña Falcón
Página 9 de 208
Practicando con S4A Diodo emisor de luz: LED Un diodo LED es un componente electrónico que emite fotones de luz cuando deja pasar una corriente. Eso sucede, cuando la corriente circula de ánodo a cátodo y se dice que el diodo está polarizado en directa (Va>Vk o Vak>0). Cuando la corriente circula en el sentido contrario, es decir, cuando está polarizado en inversa, se comporta como si fuera un interruptor abierto, no dejando pasar corriente. Su símbolo eléctrico es el siguiente:
Físicamente, presenta dos patillas siendo el ánodo (+) la patilla larga y el cátodo (-) la patilla corta: Los LEDs no siempre emiten luz visible de diferentes colores. Entre su gran variedad, los hay que emiten luz ultravioleta. Tanto el tipo de luz y color determinado vienen condicionados por la composición química de los materiales semiconductores que se han usado en su fabricación. En cualquier caso, la frecuencia de emisión de la luz y color de un determinado LED depende de la composición química de los materiales semiconductores utilizados en la fabricación del chip, tal y como se muestra en la siguiente imagen:
Susana Oubiña Falcón
Página 10 de 208
Practicando con S4A Resistencia eléctrica: R La resistencia eléctrica es la oposición o dificultad que opone un material al paso de la corriente eléctrica. Todos los componentes (que no sean perfectamente conductores) presentan una resistencia eléctrica. Entre ese gran número, existen unos que se construyen exclusivamente para que dificulten el paso de la corriente eléctrica y se denominan resistencias eléctricas. Su símbolo eléctrico es el siguiente:
Físicamente, presentan dos patillas, y se reconoce su valor (en ) por sus cuatro franjas de colores, siendo la 3º el multiplicador y la 4º la tolerancia de la resistencia
Tabla de colores para el cálculo de la R
Susana Oubiña Falcón
Página 11 de 208
Practicando con S4A
Muestra de diferentes R
Todas las salidas de la placa Arduino Uno, excepto la salida 13, son a 5V. Esto es importante porque un LED, para funcionar, necesita entre 2,5V y 3V, por lo que usaremos una R para consumir esos 2V extra que nos sobran. El pequeño circuito eléctrico de la práctica se muestra en las sucesivas imágenes:
Circuito de prueba usando el pin13. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 12 de 208
Practicando con S4A
Circuito de prueba usando el pin10. Susana Oubiña Falcón (CC-BY)
Esquema en la placa protoboard usando el pin13. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 13 de 208
Practicando con S4A
Esquema en la placa protoboard usando el pin10. Susana Oubiña Falcón (CC-BY)
Esquema eléctrico con el pin 10. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 14 de 208
Practicando con S4A 3. Objetos en el entorno S4A El objeto arduino que he representado en el programa y que implementa esta práctica es un circuito eléctrico que dispone de un diodo y de una resistencia. Este objeto dispone de dos disfraces: uno con el diodo encendido y otro con el diodo apagado. La imagen del objeto (circuito eléctrico) en el escenario de S4A puede verse en la siguiente figura:
Objeto arduino con el disfraz de encendido en el escenario. Susana Oubiña Falcón (CC-BY)
4. Programación en el entorno S4A La práctica es muy simple. En ella se debe programar un bucle infinito “por siempre” sobre la entrada digital 13 (conectada al LED), de modo que se encienda y se apague de forma ininterrumpida a intervalos de tiempo de 1 segundo. Como la idea es, no sólo ver el encendido y el apagado del diodo en Susana Oubiña Falcón
Página 15 de 208
Practicando con S4A el propio circuito físico sino también en el escenario de S4A, debemos iniciar el programa con el disfraz encendido y hacer que cambie al siguiente disfraz cada segundo. Por lo tanto, un posible programa del objeto creado podría ser:
Programa del objeto Arduino (S4A). Susana Oubiña Falcón (CC-BY)
El programa que enciende y apaga un led con un retardo de 1 segundo= 1000ms, en el entorno Arduino, sería:
Defino el pin a utilizar
Lazo de encendido y apagado (intermitente) cada segundo
Encendido y apagado intermitente de un LED (Arduino). Susana Oubiña Falcón (CC-BY)
5. Vídeo demostrativo del funcionamiento de la práctica El vídeo que muestra el funcionamiento de la práctica “blink” se visiona en el siguiente link: https://vimeo.com/141602175
Susana Oubiña Falcón
Página 16 de 208
Practicando con S4A Práctica 2: Button
“Button” en S4A. Susana Oubiña Falcón (CC-BY)
1. Objetivo Con esta práctica se pretende 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. Para ello utilizaremos un LED rojo que se conectará al pin 13 (salida de escritura digital) de la placa arduino, así como una resistencia y un pulsador que se conectará al pin 2 (entrada digital). 2. Montaje eléctrico Los componentes electrónicos que requiere el montaje eléctrico son los siguientes: 1 LED rojo, 1 resistencia de 220, 1 resistencia de 10K (opcional, ver NOTA al final de la práctica) y un botón pulsador. Diodo emisor de luz: LED Un diodo LED es un componente electrónico que emite fotones de luz cuando deja pasar una corriente. Eso sucede, cuando la corriente circula de ánodo a cátodo y se dice que el diodo está polarizado en directa (Va>Vk o Vak>0). Cuando la corriente circula en el sentido contrario, es decir, cuando está Susana Oubiña Falcón
Página 17 de 208
Practicando con S4A polarizado en inversa, se comporta como si fuera un interruptor abierto, no dejando pasar corriente. Su símbolo eléctrico es el siguiente:
Físicamente, presenta dos patillas siendo el ánodo (+) la patilla larga y el cátodo (-) la patilla corta: Los LEDs no siempre emiten luz visible de diferentes colores. Entre su gran variedad, los hay que emiten luz ultravioleta. Tanto el tipo de luz y color determinado vienen condicionados por la composición química de los materiales semiconductores que se han usado en su fabricación. En cualquier caso, la frecuencia de emisión de la luz y color de un determinado LED depende de la composición química de los materiales semiconductores utilizados en la fabricación del chip, tal y como se muestra en la siguiente imagen:
Resistencia eléctrica: R La resistencia eléctrica es la oposición o dificultad que opone un material al paso de la corriente eléctrica. Todos los componentes (que no sean perfectamente conductores) presentan una resistencia eléctrica. Entre ese gran Susana Oubiña Falcón
Página 18 de 208
Practicando con S4A número, existen unos que se construyen exclusivamente para que dificulten el paso de la corriente eléctrica y se denominan resistencias eléctricas. Su símbolo eléctrico es el siguiente:
Físicamente, presentan dos patillas, y se reconoce su valor (en ) por sus cuatro franjas de colores, siendo la 3º el multiplicador y la 4º la tolerancia de la resistencia.
Tabla de colores para el cálculo de la R
Susana Oubiña Falcón
Página 19 de 208
Practicando con S4A
Muestra de diferentes R
Botón o pulsador Es un dispositivo eléctrico que permite o interrumpe el paso de la corriente mientras está accionado. Cuando no se actúa sobre él, vuelve a su posición de reposo. Los hay de 2 patillas pero los típicos son de 4 patas.
Su símbolo eléctrico es el siguiente:
Físicamente, el de 4 patas se observa en las siguientes imágenes:
En este esquema, vemos que el pulsador de 4 patas se compone de dos cables paralelos de modo que el botón, al presionarlo, conecta uno con otro (quizás se construya con 4 patas para darle mayor estabilidad, ya que hemos de presionarlo). Un esquema del mismo, algo más simplificado es el siguiente: Susana Oubiña Falcón
Página 20 de 208
Practicando con S4A
El pequeño circuito eléctrico que vamos a implementar para controlar el LED con un pulsador, puede verse en las sucesivas imágenes:
Circuito de prueba: Botón accionado. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 21 de 208
Practicando con S4A
Circuito de prueba: Botón sin accionar. Susana Oubiña Falcón (CC-BY)
Esquema en la placa protoboard. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 22 de 208
Practicando con S4A
Esquema eléctrico. Susana Oubiña Falcón (CC-BY)
3. Objetos en el entorno S4A El programa requiere de un único objeto arduino que representa el circuito eléctrico. Este objeto posee dos disfraces: button led on (muestra el botón presionado y el led encendido) y button led off (muestra el botón no presionado y el led apagado). Este objeto en el disfraz led apagado puede verse en la siguiente imagen del escenario de la práctica en el entorno S4A:
Susana Oubiña Falcón
Página 23 de 208
Practicando con S4A
Escenario de la práctica. Susana Oubiña Falcón (CC-BY)
4. Programación en el entorno S4A. Esta práctica es muy simple. En ella se debe programar la entrada digital pin 2 y la salida digital pin 13, de modo que, en un bucle continuo (por siempre) si mantenemos presionado el pulsador (pin 2) se encienda el led (pin 13) mostrándose durante 1 segundo el disfraz del led encendido en el escenario, pero, en caso de que no presionemos el botón, en el escenario se debe mostrar el led apagado. Por lo tanto, una posible programación para nuestro objeto arduino que simula perfectamente la práctica es la que se ve en la siguiente imagen:
Susana Oubiña Falcón
Página 24 de 208
Practicando con S4A
Programa de nuestro objeto arduino. Susana Oubiña Falcón (CC-BY)
5. Vídeo demostrativo del funcionamiento de la práctica El vídeo que muestra el funcionamiento de la práctica “Button (control de LED por botón o pulsador)” se visiona en el siguiente link: https://vimeo.com/118029175 Nota: Si queremos que nuestro pin 2 note que hemos dejado de presionar el botón, sin retardos (a veces el diodo se queda encendido durante un instante), lo que podemos hacer es conectarle una resistencia de 10K a tierra. De este modo, una vez que el pulsador deja de actuar, y los 5 voltios no llegan al pin 2, la carga que quede en ese pin fluirá hacia la tierra a través de la resistencia pull-down de 10K.
Susana Oubiña Falcón
Página 25 de 208
Practicando con S4A Práctica 3: Control de un LED por LDR
“Control de un LED por LDR” en S4A. Susana Oubiña Falcón (CC-BY)
1. Objetivo Con esta práctica se pretende controlar el encendido y apagado de un LED utilizando una LDR, de modo que atendiendo al valor de luz que reciba, se encienda o se apague el LED. Para ello utilizaremos un LED rojo que se conectará al pin 10 (salida de escritura digital) de la placa arduino. Al no utilizar el pin13, necesitará de una R. Nuestra LDR la conectaremos a la entrada analógica A0. Esta LDR necesita de una R pull down. 2. Montaje eléctrico Los componentes electrónicos que requiere el montaje eléctrico son los siguientes: 1 led rojo, 2 resistencias de 220 (*Ver nota) y 1 LDR (Resistencia Dependiente de la Luz). *NOTA: La forma correcta de conectar una resistencia variable (como la LDR) a una entrada analógica de Arduino es a través de un divisor de tensión, obteniéndose el mayor rango de lectura si utilizamos una resistencia pull down con un valor semejante al valor máximo que puede adquirir la resistencia variable (para este dato puede ser muy útil un polímetro). Esta resistencia suele ser de 10K. Esta resistencia estabilizará la salida o valor de la resistencia LDR. Susana Oubiña Falcón
Página 26 de 208
Practicando con S4A Diodo emisor de luz: LED Un diodo LED es un componente electrónico que emite fotones de luz cuando deja pasar una corriente. Eso sucede, cuando la corriente circula de ánodo a cátodo y se dice que el diodo está polarizado en directa (Va>Vk o Vak>0). Cuando la corriente circula en el sentido contrario, es decir, cuando está polarizado en inversa, se comporta como si fuera un interruptor abierto, no dejando pasar corriente. Su símbolo eléctrico es el siguiente:
Físicamente, presenta dos patillas siendo el ánodo (+) la patilla larga y el cátodo (-) la patilla corta: Los LEDs no siempre emiten luz visible de diferentes colores. Entre su gran variedad, los hay que emiten luz ultravioleta. Tanto el tipo de luz y color determinado vienen condicionados por la composición química de los materiales semiconductores que se han usado en su fabricación. En cualquier caso, la frecuencia de emisión de la luz y color de un determinado LED depende de la composición química de los materiales semiconductores utilizados en la fabricación del chip, tal y como se muestra en la siguiente imagen:
Susana Oubiña Falcón
Página 27 de 208
Practicando con S4A Resistencia eléctrica: R La resistencia eléctrica es la oposición o dificultad que opone un material al paso de la corriente eléctrica. Todos los componentes (que no sean perfectamente conductores) presentan una resistencia eléctrica. Entre ese gran número, existen unos que se construyen exclusivamente para que dificulten el paso de la corriente eléctrica y se denominan resistencias eléctricas. Su símbolo eléctrico es el siguiente:
Físicamente, presentan dos patillas, y se reconoce su valor (en ) por sus cuatro franjas de colores, siendo la 3º el multiplicador y la 4º la tolerancia de la resistencia.
Muestra de diferentes R
Susana Oubiña Falcón
Página 28 de 208
Practicando con S4A
Tabla de colores para el cálculo de la R
Susana Oubiña Falcón
Página 29 de 208
Practicando con S4A Resistencia Dependiente de la Luz: LDR Las LDR también llamadas fotorresistencias, son componentes electrónicos que aportan un valor en ohmnios () atendiendo a la cantidad de luz que logran recibir en ese momento. En consecuencia, pueden ser utilizados como sensores de luz. Se construyen utilizando materiales semiconductores, como lo es el sulfuro de cadmio que presenta la propiedad de ser sensible a la luz. Su funcionamiento es el siguiente: -
-
Nos muestran un valor de R eléctrica elevada cuando las situamos en lugar de oscuridad o poca luz. Es decir, en oscuridad no dejan pasar corriente a su través. Nos muestran un valor de R eléctrica bajo cuando las exponemos a la luz (bien sea artificial o no). Es decir, al iluminarlas, dejan pasar la corriente eléctrica a su través (a mayor I, menor valor de R), haciéndose más conductor.
Sus posibles símbolos eléctricos son los siguientes:
Físicamente, presenta dos patillas, una superficie superior sensible a la luz y de una carcasa que la rodea, tal y como se observa en la siguiente figura:
El pequeño circuito eléctrico que debemos construir para controlar el LED a través de una LDR se muestra en las sucesivas imágenes: Susana Oubiña Falcón
Página 30 de 208
Practicando con S4A
Circuito de prueba. Susana Oubiña Falcón (CC-BY)
Esquema eléctrico. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 31 de 208
Practicando con S4A
Esquema en la placa protoboard. Susana Oubiña Falcón (CC-BY)
3. Objetos en el entorno S4A Creo dos objetos arduino: uno es la imagen de una LDR y el otro objeto es un LED con 2 disfraces (on y off). También, creo un escenario con dos disfraces: una linterna apagada (oscuridad) y otro con una linterna encendida (luminosidad).
Susana Oubiña Falcón
Página 32 de 208
Practicando con S4A
Objetos en el escenario “oscuridad”. Susana Oubiña Falcón (CC-BY)
Objetos en el escenario “luminosidad”. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 33 de 208
Practicando con S4A 4. Programación en el entorno S4A. A la hora de programar mi objeto arduino, necesito crear una variable, que llamaré intensidad y que se la asocio o fijo al valor que nos mida el sensor analógico LDR en el entorno S4A. El sensor, en el pin A0 no nos mide una intensidad real, pero me sirve de símil porque, cuando nuestra LDR está en oscuridad, el sensor nos ofrece un valor numérico pequeño y que podemos asociar a que la LDR está evitando el paso de corriente por el diodo. En cambio cuando ilumino la LDR, el valor del sensor en el pin analógico A0 aumenta mucho el valor numérico (y puedo asociar este aumento con una circulación de corriente por el diodo que hará que se ilumine). Si el valor medido es inferior a 100 (se testeará), el LDR recibe poca luz y el diodo del pin digital 10 no está encendido, pero, en caso contrario (mayor o igual a 100) se encendería ya que la LDR estaría lo suficientemente iluminada para encender el diodo. Así pues, un posible programa para nuestro circuito sería el siguiente:
Programa de nuestro objeto arduino (LDR). Susana Oubiña Falcón (CC-BY)
Los mensajes apagar y encender son recibidos por el segundo objeto arduino LED (off y on) y por el escenario (oscuridad y luminosidad), modificando los disfraces atendiendo al valor que capta su sensor A0. Susana Oubiña Falcón
Página 34 de 208
Practicando con S4A 5. Vídeo demostrativo del funcionamiento de la práctica El vídeo que muestra el funcionamiento de la práctica “Control de un LED por LDR) se visiona en el siguiente link: https://vimeo.com/118214690
Susana Oubiña Falcón
Página 35 de 208
Practicando con S4A Práctica 4: Control del brillo de un LED mediante un potenciómetro
“Control del brillo de un LED por potenciómetro” en S4A. Susana Oubiña Falcón (CC-BY)
1. Objetivo El objetivo de esta práctica es controlar el brillo de un LED utilizando para ello una resistencia variable o potenciómetro. Con este potenciómetro ajustaremos gradualmente la intensidad de corriente que circula por él. Esto significa que en lugar de usar el pin 13 (digital), necesitamos usar un pin PWM (por ejemplo el pin 5) para el diodo. La modulación por ancho de pulso (PWM) es una técnica utilizada para simular una salida analógica con una digital, creando una onda cuadrada que constantemente conmuta entre encendido y apagado. El momento en que la onda está a 5V (ON) es el ancho de pulso, que se modifica para cambiar el valor analógico. En cuanto al potenciómetro, usaremos sus dos patillas exteriores para conectarlas a tierra y 5V y la patilla intermedia a la entrada de datos analógica A1. 2. Montaje eléctrico Los componentes electrónicos que requiere el montaje eléctrico son los siguientes: 1 led rojo, 1 resistencia de 220 y un potenciómetro de 10K.
Susana Oubiña Falcón
Página 36 de 208
Practicando con S4A Diodo emisor de luz: LED Un diodo LED es un componente electrónico que emite fotones de luz cuando deja pasar una corriente. Eso sucede, cuando la corriente circula de ánodo a cátodo y se dice que el diodo está polarizado en directa (Va>Vk o Vak>0). Cuando la corriente circula en el sentido contrario, es decir, cuando está polarizado en inversa, se comporta como si fuera un interruptor abierto, no dejando pasar corriente. Su símbolo eléctrico es el siguiente:
Físicamente, presenta dos patillas siendo el ánodo (+) la patilla larga y el cátodo (-) la patilla corta: Los LEDs no siempre emiten luz visible de diferentes colores. Entre su gran variedad, los hay que emiten luz ultravioleta. Tanto el tipo de luz y color determinado vienen condicionados por la composición química de los materiales semiconductores que se han usado en su fabricación.
En cualquier caso, la frecuencia de emisión de la luz y color de un determinado LED depende de la composición química de los materiales semiconductores utilizados en la fabricación del chip, tal y como se muestra en la siguiente imagen:
Susana Oubiña Falcón
Página 37 de 208
Practicando con S4A
Resistencia eléctrica: R La resistencia eléctrica es la oposición o dificultad que opone un material al paso de la corriente eléctrica. Todos los componentes (que no sean perfectamente conductores) presentan una resistencia eléctrica. Entre ese gran número, existen unos que se construyen exclusivamente para que dificulten el paso de la corriente eléctrica y se denominan resistencias eléctricas. Su símbolo eléctrico es el siguiente:
Físicamente, presentan dos patillas, y se reconoce su valor (en ) por sus cuatro franjas de colores, siendo la 3º el multiplicador y la 4º la tolerancia de la resistencia.
Muestra de diferentes R
Susana Oubiña Falcón
Página 38 de 208
Practicando con S4A
Tabla de colores para el cálculo de la R
Potenciómetro Es una resistencia variable cuya función es limitar el paso de la corriente eléctrica a su través. Por lo tanto, nos da una medida de ohmios que afectará al valor de la intensidad de corriente que pasa por ella. Los potenciómetros más simples son los reóstatos y en ellos, el valor de la resistencia se varía de forma mecánica. Usando, por ejemplo, un destornillador. Los potenciómetros disponen de tres terminales que podemos llamar A, B y C. Unos de ellos se pueden mover o desplazar de forma manual (reóstato) provocando un gran abanico de valores diferentes de resistencias posibles. Susana Oubiña Falcón
Página 39 de 208
Practicando con S4A Uno de los tres terminales del potenciómetro se conecta a la fuente de electricidad y otro es conectado a un punto neutral (toma de tierra – un punto con voltaje cero y sin resistencia). El tercer terminal se conecta a una resistencia. Esta resistencia generalmente está construida en una pieza cuya resistividad (nivel de resistencia) va creciendo desde un extremo hasta el otro. Este tercer terminal es el que manipula el usuario a través de un mando o palanca. Su símbolo eléctrico es el siguiente:
Símbolos de un potenciómetro
Físicamente, se observa en las siguientes imágenes:
El pequeño circuito eléctrico que vamos a implementar para controlar el LED con un pulsador, puede verse en las sucesivas imágenes: Susana Oubiña Falcón
Página 40 de 208
Practicando con S4A
Circuito de prueba: Diodo apagado. Susana Oubiña Falcón (CC-BY)
Circuito de prueba: Diodo encendido con brillo máximo. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 41 de 208
Practicando con S4A
Esquema en la placa protoboard. Susana Oubiña Falcón (CC-BY)
Esquema eléctrico. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 42 de 208
Practicando con S4A 3. Objetos en el entorno S4A El programa requiere de un único objeto arduino que representa el diodo. Este objeto posee tres disfraces: diodo off (diodo en polarización inversa, con una valor de la variable sensor de 0), diodo off_on (por él pasa corriente, la suficiente para comenzar a brillar) y diodo on (muestra el brillo máximo que presentará el diodo cuando la variable sensor tome un valor de 255). Este objeto en el disfraz “diodo on” puede verse en la siguiente imagen del escenario de la práctica en el entorno S4A:
Escenario de la práctica. Susana Oubiña Falcón (CC-BY)
4. Programación en el entorno S4A. Esta práctica es muy simple. En ella se debe programar el pin 5 de modo que adquiera los valores que mide el sensor analógico A1 (potenciómetro). Los valores que aporta el comando “Valor del sensor Analog1” variarán entre 0 y 5V y eso quiere decir que la placa arduino nos aportará un valor entre 0 y 1023. Susana Oubiña Falcón
Página 43 de 208
Practicando con S4A Como pretendo utilizar valores entre 0 y 255 en lugar de entre 0 y 1023, creo una variable que llamo “sensor” y que me dividirá y redondeará los valores reales a la escala de 0 a 255. Pensar que 255*4= 1020 y no 1023, de ahí el redondeo y la siguiente fila de comandos (ver siguiente imagen) en la cual si la variable “sensor” fuese mayor que 255, la ajustaría a 255. Finalmente, sólo resta hacer que el pin 5 del diodo adquiera el valor de la variable “sensor”, es decir, un valor entre 0 y 255:
Cuadro resumen “Cambio de escala”. Susana Oubiña Falcón (CC-BY)
La segunda parte del programa (ver siguiente imagen) sólo nos sirve para el entorno scratch, para simular de forma muy simple el brillo de los diodos en el escenario. De modo que, si la variable sensor toma el valor 0 (0V) el diodo está apagado, pero si toma un valor entre 0 y 100, el diodo brilla levemente y si, finalmente toma un valor superior a 100 el diodo brilla con mayor intensidad. Por lo tanto, una posible programación para nuestro objeto arduino que simula perfectamente la práctica es la que se ve en la siguiente imagen:
Susana Oubiña Falcón
Página 44 de 208
Practicando con S4A
Programa de nuestro objeto arduino. Susana Oubiña Falcón (CC-BY)
5. Vídeo demostrativo del funcionamiento de la práctica El vídeo que muestra el funcionamiento de la práctica “Control del brillo de un LED por un potenciómetro” se visiona en el siguiente link: https://vimeo.com/119965976
Susana Oubiña Falcón
Página 45 de 208
Practicando con S4A Práctica 5: Control de un motor de continua a través del L293D
“Control de giro de un motor DC con L293D” en S4A. Susana Oubiña Falcón (CC-BY)
1. Objetivo El objetivo de esta práctica es controlar el cambio de giro de un motor de continua con S4A. Podríamos hacerlo utilizando un transistor BD135, pero, en esta práctica usaremos el circuito integrado L293D. Los dos terminales del motor de continua se conectarán a los pines de salida digitales pin 10 y pin 11 de la placa arduino (patillas 11 y 14 del integrado L293 D). Si quisiéramos, podríamos a mayores usar una resistencia y un pulsador que se conecte al pin 2 (entrada digital) pero lo vamos a hacer con el teclado. 2. Montaje eléctrico Los componentes electrónicos que requiere el montaje eléctrico son los siguientes: 1 motor de continua, 1 circuito integrado L293D y una batería de 9V. Motor de continua (DC) Un motor de corriente continua es un dispositivo que convierte la energía eléctrica en mecánica. Se compone de dos partes, el estator y el rotor, siendo el estator la parte mecánica del motor, donde están los polos del imán, y el rotor la parte móvil del motor con devanado y un núcleo, al que llega la corriente a través de las escobillas.
Susana Oubiña Falcón
Página 46 de 208
Practicando con S4A Cuando la corriente eléctrica circula por el devanado del rotor, se crea un campo electromagnético que interactúa con el campo magnético del imán del estator. Esto deriva en un rechazo entre los polos del imán del estator y del rotor creando un par de fuerza donde el rotor gira en un sentido de forma permanente. Por lo tanto, para cambiar el sentido de giro del rotor tenemos que cambiar el sentido de la corriente que le proporcionamos al rotor; y eso se consigue invirtiendo la polaridad de la pila o batería. Su símbolo eléctrico es el siguiente:
Físicamente, presenta dos patillas que se conectan a tierra y a la fuente de tensión:
Motor de DC físico. Susana Oubiña Falcón (CC-BY)
Circuito integrado L293 D Una de las opciones para controlar un motor DC desde Arduino es utilizar un driver para motores. De ese modo logramos proporcionarle más corriente al motor ya que las salidas del Arduino sólo dan 40mA. También, con el driver podemos alimentar el motor con una fuente de alimentación externa. Susana Oubiña Falcón
Página 47 de 208
Practicando con S4A El L293D es un integrado para controlar motores DC y se basa en el sistema puente en H. ¿Qué es el puente en H? Es un sistema para controlar el sentido de giro de un motor DC usando cuatro transistores (Q1, Q2, Q3 y Q4) que se comportan como interruptores abiertos o cerrados dos a dos.
Puente en H. Susana Oubiña Falcón (CC-BY)
En la siguiente imagen observamos que si conducen los transistores Q1 y Q4 (Q2 y Q3 no lo hacen) el motor gira hacia un sentido (por ejemplo derecha), pero si ocurre lo contrario y conducen Q2 y Q3 (no lo harían Q1 y Q4) y el motor giraría en el sentido contrario.
Susana Oubiña Falcón
Página 48 de 208
Practicando con S4A
Funcionamiento del puente en H. Susana Oubiña Falcón (CC-BY)
El L293D tiene dos puentes H y proporciona 600mA al motor soportando un voltaje entre 4,5V y 36V. El símbolo eléctrico del L293D, que incluye 4 medios puentes, es el siguiente:
Susana Oubiña Falcón
Página 49 de 208
Practicando con S4A
EN: H
En la imagen anterior se observa que las patillas EN (número 1 y 9) se deben conectar en alta (H). En nuestro caso, conectamos la patilla 9 al pin digital 2 de la placa Arduino. Además, las patillas A son las que controlan los motores. En nuestro caso, usaremos las patillas 10 y 15 del integrado (3A y 4A) para conectarlas a los pines 11 y 10 de la plana arduino. La programación de los pines 11 y 10 nos darán los giros del motor hacia la derecha o izquierda. En la figura anterior también observamos cómo se puede parar el motor: basta con poner los pines 11 y 10 los dos en alta o los dos en baja. Físicamente, el L293D presenta 16 patillas, tal y como se observa en la siguiente imagen:
Susana Oubiña Falcón
Página 50 de 208
Practicando con S4A
Patilla 8
Patilla 1
El pequeño circuito eléctrico que vamos a implementar para controlar el sentido de giro de un motor, a través del integrado L293D, puede verse en las sucesivas imágenes:
Circuito de prueba. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 51 de 208
Practicando con S4A
L293D (1Motor):
GND: Patillas 4, 5, 12 y 13 Motor: Patillas 11 y 14 Pila 9V: (+) Patilla 8 Arduino Uno: Patilla 16 (5V), patilla 9 (D2), patilla 10 (D11), patilla 15 (D10) y patilla 16 (5V)
Esquema en la placa protoboard. Susana Oubiña Falcón (CC-BY)
Esquema eléctrico. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 52 de 208
Practicando con S4A 3. Objetos en el entorno S4A El programa requiere de un único objeto arduino que representa el motor. A mayores, en nuestro caso, he introducido un objeto “Instructor” (adivino de la lámpara mágica) que es el que indica las instrucciones que deben seguir los usuarios del programa para interactuar con él y con el motor físico y un último objeto “Texto” que muestra el título de esta práctica. La siguiente figura muestra el objeto motor en uno de sus disfraces:
Objeto Arduino “Motor”. Susana Oubiña Falcón (CC-BY)
Ambos objetos, “Instructor” y “Texto”, pueden verse en la siguiente imagen del escenario de la práctica en el entorno S4A:
Susana Oubiña Falcón
Página 53 de 208
Practicando con S4A
Escenario de la práctica al inicio. Susana Oubiña Falcón (CC-BY)
La figura anterior muestra una información importante. Cuando hablé del integrado L293D comenté que disponía de unas patillas que reciben el nombre de EN (enable) y que debían estar a nivel alto. Como en esta práctica sólo se controla un motor (ambos giros), no he necesitado utilizar las dos patillas EN del integrado, pero si una que se corresponde con la patilla 9 del L293D y que conecté al pin digital 2 de la placa arduino. La información que nos muestra la imagen anterior (ver flecha indicativa) es que el pin Digital2 está en “true” (verdadero o activo) que es justamente lo que se necesita para que al programar los otros pines que activan el movimiento del motor, estos realmente funcionen en la forma deseada. Si estuviera en “false” (falso) el motor siempre estaría parado. Susana Oubiña Falcón
Página 54 de 208
Practicando con S4A 4. Programación en el entorno S4A. Por lo tanto, el objeto importante a programar es el objeto arduino, el motor, el cual dispone de 46 disfraces: unos se usarán cuando esté girando hacia la derecha y otros cuando gire hacia la izquierda. He decidido introducir tantos disfraces porque, de este modo, me resultaba más cómodo programarlo. Por supuesto, hay multitud de opciones que evitan el incluir tantos disfraces en un único objeto. En nuestro caso, los primeros 24 disfraces muestran el giro del motor a la izquierda y los restantes (hasta el disfraz 46) simulan el giro hacia la derecha. En el motor, debemos programar ambos giros y la parada del motor. Para seguir el orden de ejecución del programa, prefiero comenzar a explicar los otros dos objetos que he utilizado y que dan paso al objeto realmente importante de este proyecto: el motor. Al pulsar la bandera verde, sólo actúan los objetos “Instructor” y “Texto”. Los dos se activan a la vez. La función del objeto “Texto” es mostrar el título del proyecto. Título que desaparecerá cuando el programa de paso al objeto arduino, lo cual ocurrirá cuando el objeto “Instructor” envíe el mensaje “Elige”. Por lo tanto, el script del objeto “Texto” es muy simple y es el siguiente:
Programa de nuestro objeto “Texto”. Susana Oubiña Falcón (CC-BY)
La función del objeto “Instructor” es explicarle al usuario cómo puede interactuar con el programa y dar paso a la elección de giro que quiere que haga no sólo el motor físico real, sino también el motor que hemos diseñado en scratch. En nuestro caso, dispone de 6 disfraces que se ejecutan al inicio, antes de mostrar las instrucciones. Susana Oubiña Falcón
Página 55 de 208
Practicando con S4A El programa dispone de una variable “Giro” que nos mostrará mediante letra en el escenario el giro que está realizando el motor: derecha, izquierda o parada. Es una variable muy útil pero que no deseo que se muestre al inicio del programa. Su funcionalidad o utilidad la activa el motor y, por esta razón, la escondo al inicio del programa, para más tarde mostrarla. Como puede observarse en la siguiente imagen que muestra el script del objeto “Instructor”, lo que hago inicialmente es esconder la variable “Giro”, situando el objeto en un lugar concreto del escenario y haciendo correr sus disfraces partiendo del primero (sólo dispone de 6 disfraces por lo que debo hacer un bucle de 5 repeticiones). A continuación es cuando ejecuta realmente su función, dejando claro al usuario que para interactuar con el programa sólo debe escoger los giros utilizando las flechas derecha o izquierda y, para que se pare el motor, elegir la tecla espacio. Finalmente, da paso a la ejecución del script del motor usando el comando que envía a todos el mensaje “Elige”. En ese momento, el objeto “Instructor” debe esconderse. Por lo tanto, debemos incluir en su script que, cuando reciba el mensaje “Elige”, se esconda:
Susana Oubiña Falcón
Página 56 de 208
Practicando con S4A
Programa de nuestro objeto “Instructor”. Susana Oubiña Falcón (CC-BY)
Sólo nos resta explicar el script del objeto arduino, el motor. Al pulsar la bandera verde, este no se muestra (se encuentra escondido) y sólo comienza a visionarse al recibir el mensaje “Elige” que le ha enviado el objeto “Instructor”, situándolo y dejando que se vea en el punto (0,0) del escenario. En ese momento, se muestra la variable “Giro”, pero se entiende que, por ahora, mientras el usuario no interactúe con las teclas flecha derecha o izquierda y espacio, el motor debe estar parado, y por eso muestra y se fija la variable de giro como “Parada”. Esto se observa en la siguiente imagen:
Susana Oubiña Falcón
Página 57 de 208
Practicando con S4A
Escenario de la práctica en el objeto arduino antes de ejecutar la elección del giro del motor. Susana Oubiña Falcón (CC-BY)
A continuación, en un bucle “por siempre” comenzamos a programar las tres posibilidades de elección. El usuario puede desear que el motor gire hacia la derecha, o hacia la izquierda o que continúe parado. Tras pulsar la tecla correspondiente a la elección deseada, he decidido que el programa espere un segundo y que envíe el mensaje correspondiente: Izquierda (girará hacia la izquierda), Derecha (girará hacia la derecha) o Parada (parará el motor). Toda esta explicación se programa en el objeto arduino como muestra la siguiente imagen:
Susana Oubiña Falcón
Página 58 de 208
Practicando con S4A
1ª parte del script de nuestro objeto arduino. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 59 de 208
Practicando con S4A Sólo nos resta programar como se ejecutará cada uno de los mensajes enviados: Izquierda, Derecha y Parada. Esta 2º parte del script del objeto arduino motor puede verse en la siguiente imagen:
2ª parte del script de nuestro objeto arduino. Susana Oubiña Falcón (CC-BY)
En la imagen anterior se observa que he incluido una variable que llamo “orden”. Esta variable, simplemente, se ha creado para que los disfraces del motor, en cada elección, se vean en la secuencia deseada simulando, de esa forma, el movimiento del motor en el escenario scratch hacia el lado correspondiente. Los disfraces que muestran el giro del motor a la izquierda son del 1 al 24. Por eso, cuando se encuentre con el disfraz número 25, este no puede verse y debe saltar la secuencia al número 1, y así continuamente mientras esté girando hacia la izquierda. Esto se consigue con el bucle “por siempre si…”. Lo mismo ocurre en el sentido de giro hacia la derecha, siendo los disfraces utilizados aquí desde el número 24 al 45. Susana Oubiña Falcón
Página 60 de 208
Practicando con S4A Para que ambos giros los reconozca el motor, deben programarse los pines 10 y 11 de la placa arduino, que son los que se dirigen al motor. Tras una prueba inicial (recordar que, por ser un motor de continua no hay una polaridad específica en sus dos terminales), nos encontramos con que si encendemos el pin 10 (manteniendo apagado el pin 11) el motor gira hacia la derecha y si encendemos el pin 11 (manteniendo apagado el pin 10) el motor gira hacia la izquierda. Al encender un determinado número de pin lo que hacemos es comunicarle 5V a ese cable correspondiente del motor, y si lo apagamos, le comunicamos 0V.
Puesta en marcha de un motor DC. Susana Oubiña Falcón (CC-BY)
En cuanto a la parada del motor, he decidido hacerlo con los dos pines (10 y 11) apagados. El mismo efecto sería si pongo ambos pines encendidos.
5. Vídeo demostrativo del funcionamiento de la práctica Los vídeos que muestran el funcionamiento de la práctica “Control de giro de un motor DC” se visionan en los siguientes links: Funcionamiento físico del motor en la placa protoboard: https://vimeo.com/120261913 Funcionamiento o simulación del programa en el entorno S4A: https://vimeo.com/120262069
Susana Oubiña Falcón
Página 61 de 208
Practicando con S4A Práctica 5B: Control de un motor de continua a través de I298N
“Control de giro de un motor DC con I298N” en S4A. Susana Oubiña Falcón (CC-BY)
1. Objetivo 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. 2. Montaje eléctrico Los componentes electrónicos que requiere el montaje eléctrico son los siguientes: 1 motor de continua, 1 driver I298N y una batería de 9V. Motor de continua (DC) Un motor de corriente continua es un dispositivo que convierte la energía eléctrica en mecánica. Se compone de dos partes, el estator y el rotor, siendo el estator la parte mecánica del motor, donde están los polos del imán, y el rotor la parte móvil del motor con devanado y un núcleo, al que llega la corriente a través de las escobillas. Cuando la corriente eléctrica circula por el devanado del rotor, se crea un campo electromagnético que interactúa con el campo magnético del imán del estator. Esto deriva en un rechazo entre los polos del imán del estator y del rotor creando un par de fuerza donde el rotor gira en un sentido de forma permanente. Susana Oubiña Falcón
Página 62 de 208
Practicando con S4A
Por lo tanto, para cambiar el sentido de giro del rotor tenemos que cambiar el sentido de la corriente que le proporcionamos al rotor; y eso se consigue invirtiendo la polaridad de la pila o batería. Su símbolo eléctrico es el siguiente:
Físicamente, presenta dos patillas que se conectan a tierra y a la fuente de tensión:
Motor de DC físico. Susana Oubiña Falcón (CC-BY)
Driver I298 N El driver controlador de motores de doble puente para DC es el I298N. Este driver se muestra en la siguiente imagen:
Susana Oubiña Falcón
Página 63 de 208
Practicando con S4A El driver es un controlador de doble puente H y con él se pueden controlar dos motores (A y B). A mayores, se puede utilizar para controlar un motor paso a paso pero éste no es el objetivo de esta práctica.
I298N. Susana Oubiña Falcón. (CC-BY)
En la siguiente imagen se muestra en donde podemos conectar nuestros motores de continua (A o B), las fuentes de alimentación que debemos suministrar y los pines de control de cada motor hacia los pines digitales de la placa arduino:
Esquema de conexión. Susana Oubiña Falcón (CC-BY)
El botón de selección de la imagen anterior tiene la misión de proteger la placa (la corriente máxima de salida es de 2A), de modo que: Si está presionado, utiliza la alimentación lógica de 5 voltios. Susana Oubiña Falcón
Página 64 de 208
Practicando con S4A Si no está presionado, utiliza el voltaje de alimentación del motor (pila) NOTA: Un motor paso a paso es aquel que es capaz de avanzar una serie de grados (paso) transformando impulsos eléctricos en movimientos de giro controlados. Nos aportan velocidades y posiciones muy precisas. El pequeño circuito eléctrico que vamos a implementar para controlar el sentido de giro de un motor, a través del driver I298N, puede verse en las sucesivas imágenes:
Circuito de prueba. Susana Oubiña Falcón (CC-BY)
El motor va conectado a los pines de salida OUT C y D de color azul en el lateral derecho (ha sido sólo una elección ya que podría usar la salida A y B). Ese motor se controla en la placa arduino por los pines digitales 10 y 11 (eso es así porque queremos implementar la misma práctica 5 y aprovecharemos el programa que ya tenemos hecho de la misma). Por lo tanto, conectaremos los pines de control INC e IND del driver I298N a los pines digitales 11 y 10, respectivamente. Sólo nos falta conectar la alimentación (tanto de la placa como del motor) en Vcc, GND y +5 del driver (color azul):
Susana Oubiña Falcón
Página 65 de 208
Practicando con S4A
Conexión de la alimentación. Susana Oubiña Falcón (CC-BY)
Las conexiones son las siguientes: La pila de 9V presenta dos salidas, llevando el rojo a Vcc y el negro a GND. Al mismo tiempo, la placa arduino conecta una GND con el mismo GND del integrado (en la imagen anterior se observan 2 cables negros en el mismo GND, uno de la pila u otro de la placa arduino) así como, llevará un cable desde la alimentación lógica del driver al pin de 5V de la placa arduino. Debemos utilizar la alimentación del motor (botón de selección sin presionar). NOTA: Como su potencia es de 25W, este driver puede alimentar 4 motores de un pequeño robot. Para ello, agruparemos los motores de tal forma que los dos correspondientes a la parte izquierda del chasis serán cableados en paralelo (comprobar que cada pareja gira en el mismo sentido) y lo mismo para los dos motores correspondientes a la parte derecha del chasis. Es decir, los alimentamos en parejas. Con esto, podremos conectar los dos motores izquierdos a la salida A y los dos motores derechos a la salida B. El montaje final en nuestra práctica, para un sólo motor, es el siguiente:
Susana Oubiña Falcón
Página 66 de 208
Practicando con S4A
Conexionado completo. Susana Oubiña Falcón (CC-BY)
3. Objetos en el entorno S4A Ver práctica 5 (utilizaremos el mismo programa y objetos que desarrollamos para la práctica 5)
Objeto Arduino “Motor”. Susana Oubiña Falcón (CC-BY)
4. Programación en el entorno S4A. Ver práctica 5 (utilizaremos el mismo programa y objetos que desarrollamos para la práctica 5).
Susana Oubiña Falcón
Página 67 de 208
Practicando con S4A Práctica 6: Detección de un objeto por medio del sensor de ultrasonidos
“Detección de un objeto por medio del sensor de ultrasonidos HC-SR04” en S4A. Susana Oubiña Falcón (CC-BY)
1. Objetivo El término ultrasonido se asocia con ondas acústicas que no pueden ser detectadas por el oído humano, debido a su elevada frecuencia. Los radares, murciélagos, submarinos y diversas ramas de la industria, utilizan este principio. El objetivo de esta práctica es conseguir detectar un objeto programando el sensor de ultrasonidos HC-SR04 en S4A. Este sensor distancia clásico posee 4 terminales: Los dos laterales derecho e izquierdo se conectarán a tierra y 5V en la placa arduino. Y los dos del medio, llamados Trig y Echo, se conectarán, respectivamente, al pin digital 10 y al analógico A5 de la placa arduino. Estas conexiones nos vienen dadas en la configuración del firmware que vamos a utilizar (S4Afirmware14_distancia.ino3); firmware modificado por Pablo en el siguiente link4. Debemos cargar este firmware en la placa arduino desde el entorno Arduino IDE. (Si se quiere usar el firmware S4Afirmware15, ver el final de esta práctica) 2. Montaje eléctrico El único componente electrónico que requiere la práctica es 1 sensor de ultrasonidos HC-SR04.
3 4
S4Afirmware14_distancia.ino: www.tr3sdland.com/wp-content/uploads/2013/01/S4Afirmware14_distancia.ino_.zip Link: http://www.tr3sdland.com/2013/02/ultrasonidos-s4a-arduino/
Susana Oubiña Falcón
Página 68 de 208
Practicando con S4A Sensor HC-SR04 Los sensores de ultrasonidos son elementos que, al incluirlos en un robot, le aportan la posibilidad de orientarse por el espacio, consiguiendo que el robot detecte objetos. HC-SR04 es un sensor de ultrasonidos porque emite a una frecuencia muy elevada, del orden de 40KHz. Frecuencia que el oído humano no logra percibir. Físicamente dispone de 4 pines: Vcc y GND que son los de alimentación (+5V y masa) respectivamente, y Trig y Echo que son los pines de datos. Para realizar una medición que nos aporta una distancia (mide distancias entre un rango de 2cm a 450cm), se debe aplicar un pulso en Trig y luego leer el “rebote” en Echo:
Sensor HC-SR04
Internamente, el sensor está formado por dos transductores (que aquí son componentes electrónicos que transforman una magnitud eléctrica en sonido). Cada uno de estos transductores presenta su función: uno es el emisor o Trig y actúa como un altavoz, lanzando un pulso de ultrasonidos; y el otro transductor es el receptor o Echo, actuando como un micrófono, escuchando el eco que se produce al chocar el pulso de ultrasonido con el objeto y rebotar. Dicho así, podemos pensar que lo que nos muestra no es una distancia sino el tiempo que tarda el pulso en llegar al objeto (chocando) y venir de vuelta para ser captado por el transductor Echo. Pero, si tenemos en cuenta la velocidad a la que se propaga el sonido en el aire (340m/s) y ese tiempo que tarda el eco en llegar al transductor micrófono, aplicado la fórmula del MRU e=v×t y dividiendo ese espacio entre 2 (ya que estamos contabilizando el de ida y el de vuelta), obtendríamos la distancia a la cual se encuentra el objeto. Esta explicación del funcionamiento del sensor distancia se clarifica con la siguiente imagen:
Susana Oubiña Falcón
Página 69 de 208
Practicando con S4A
Por lo tanto, la distancia que nos mide el sensor en metros es: (m)
Podemos encontrar el sensor con 3 patillas (Vcc, GND y Señal) en lugar de 4. Es el sensor PING de Parallax. El pin de “Señal” se utilizara tanto como entrada o salida digital. El sensor envía ultrasonidos por un lado y mide el tiempo de rebote del sonido. En su pin de salida podremos medir el ancho de pulso PWM en función de la distancia del obstáculo.
El pequeño circuito eléctrico que vamos a implementar para detectar un objeto usando este sensor puede verse en las sucesivas imágenes: Susana Oubiña Falcón
Página 70 de 208
Practicando con S4A
Circuito de prueba. Susana Oubiña Falcón (CC-BY)
Trig: D10 Echo: A5
Esquema en la placa protoboard. Imagen rescatada de TR3SDLAND
Susana Oubiña Falcón
Página 71 de 208
Practicando con S4A 3. Objetos en el entorno S4A Un posible programa que simule y controle el sensor distancia para que detecte un objeto puede ser el se crea a continuación. Necesitamos de dos objetos: un objeto arduino que llamo “ArduinoBat” y que es un murciélago y un objeto que se moverá por el escenario atendiendo a la variable “distancia” en el eje X y que llamo “PlofBat”. La siguiente figura muestra ambos objetos en el escenario:
Objetos en la Práctica 6. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 72 de 208
Practicando con S4A 4. Programación en el entorno S4A. Para su programación se ha tenido en cuenta la programación modificada del firmware que se presenta en el siguiente link de TR3SDLAND. Las modificaciones en el firmware que posibilitan el uso de este sensor, le otorgan al pin 10 la patilla Trig y al pin A5 la patilla Echo, tal y como puede verse en la siguiente imagen:
También, observamos que se define la variable “distancia”, variable que según la siguiente imagen se muestra en el pin A5:
El programa que se ha diseñado muestra dos objetos: el murciélago (ArduinoBat) y el objeto que se moverá por el escenario en el sentido del eje X variando su color según la distancia de aproximación al objeto arduino, de modo que, si se encuentra a su lado, presentará un color rojo de peligro y escucharemos un sonido de forma intermitente. Pero, al estar lejos, el color del objeto se aleja del color rojo (peligro) y no se escucha ningún sonido de peligro por proximidad. En el caso de que este objeto, llamado “PlofBat” se esté acercando al objeto arduino (pero no demasiado, un valor de distancia entre 20 y 50) comenzará a avisarnos con un sonido más espaciado en el tiempo y con un color cercano al rojo. El script para el objeto arduino “ArduinoBat” es el siguiente:
Susana Oubiña Falcón
Página 73 de 208
Practicando con S4A
Programa de nuestro objeto “ArduinoBat”. Susana Oubiña Falcón (CC-BY)
En el pequeño script inferior de la figura anterior se pretende darle sensación de movimiento al objeto arduino a la vez que lo dejamos fijo en la posición lateral izquierda del escenario (-177, 105). El script para el objeto móvil “PlofBat” es el siguiente:
Susana Oubiña Falcón
Página 74 de 208
Practicando con S4A
Programa de nuestro objeto “PlofBat”. Susana Oubiña Falcón (CC-BY)
Al pulsar la bandera verde, el objeto se sitúa en el lateral derecho del escenario. A continuación comienza a moverse en el eje X atendiendo al valor de proximidad o distancia del sensor HC-SR04. Para que no se salga del escenario en el eje X se ha ponderado la distancia a un valor máximo y mínimo del eje X mediante la ecuación (distancia-60)×2.
5. Vídeo demostrativo del funcionamiento de la práctica Los vídeos que muestran el funcionamiento de la práctica “Detección de un objeto por medio del sensor de ultrasonidos HC-SR04” se visiona en el siguiente link: https://vimeo.com/120643134 Actualización de la práctica Si queremos usar el firmware actual de S4A también podemos hacerlo, aunque igualmente debemos modificarlo. El firmware modificado lo ha creado el usuario Archimon de YouTube y usa el pin digital 4 como Echo y el pin digital 2 como Trig (un pin de entrada y uno de salida). En el siguiente link se observa los cambios en el firmware y un ping pong diseñado partiendo de este sensor para el control de movimiento de la barra. https://www.youtube.com/watch?v=_M8b98xwByg Susana Oubiña Falcón
Página 75 de 208
Practicando con S4A Sensores de infrarrojos para detectar objetos En lugar de aplicar ultrasonidos, podemos lograr detectar un objeto utilizando un sensor de infrarrojos como los sensores analógicos de la serie Sharp 5(su rango de medición depende de cada modelo). En el modelo Sharp GP2Y0A21YK, su margen de medida es de 10cm a 80cm y su salida analógica nos proporciona la distancia medida. Es decir, por debajo de 10 cm o por encima de 80cm, el 2wwvalor que nos entrega no será correcto. Es un sensor que se basa en un sistema de emisión/recepción de radiación lumínica en el espectro de los infrarrojos (menor que las ondas de radio y mayor que la luz) y cuyas
características principales pueden verse en la siguiente tabla:
Funcionan por triangulación de luz que rebota sobre el objeto y el tipo de detección que realizan es siempre direccional. Es decir, sólo pueden detectar objetos que estén delante del sensor. Podemos leer en el *1 de la tabla de características, que la salida depende del objeto al que esté apuntando: en el caso de ser objetos blancos, nos llegara más luz, pero, si apunta a un objeto de color negro y la misma distancia, la distancia medida será diferente. Estos cambios son apreciables pero tampoco imposibilitan el uso de este sensor para medidas de distancia. La mayor desventaja que tiene este tipo de sensores es que son incapaces de medir objetos transparentes y además, si algún foco de luz como el sol (que emite en el espectro de luz infrarroja) o una lámpara, le da directamente en el sensor, también puede hacer variar la medida.
Sensor analógico de infrarrojos Sharp
5
https://www.sparkfun.com/search/results?term=Infrared+Proximity+Sensor+sharp
Susana Oubiña Falcón
Página 76 de 208
Practicando con S4A Este sensor de tecnología infrarroja dispone de un conector JST de tres pines: uno para GND, otro para Vcc (5 V) y el otro para la salida analógica (Vo). Su conexión, en una placa Arduino Uno, es muy sencilla y puede verse en la siguiente imagen:
“Detección de un objeto con el sensor Sharp” en S4A. Susana Oubiña Falcón (CC-BY)
En S4A, este sensor conectado al pin analógico A0 (por ejemplo), nos devolverá un valor numérico que será función de la distancia a la que se sitúe el objeto que tiene delante. La siguiente imagen muestra dos pequeños ejemplos u aplicaciones: un programa que lea el valor del sensor y modifique el color y a la vez el tamaño del objeto. Como el “tamaño” es un número de 0 a 100% y el sensor nos lee valores mayores, realizamos un cambio de escala dividiendo el valor del sensor A0 entre 4. Cuando situamos algo delante del sensor, variará su tamaño y su color:
Susana Oubiña Falcón
Página 77 de 208
Practicando con S4A
“Ejemplos con el sensor Sharp” en S4A. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 78 de 208
Practicando con S4A Práctica 7: Control de giro y velocidad de un servomotor
“Control de giro y velocidad de un servomotor” en S4A. Susana Oubiña Falcón (CC-BY)
1. Objetivo El objetivo de esta práctica es controlar el cambio e incluso velocidad en el giro de un servomotor usando S4A. Los tres terminales del servomotor de rotación continua se conectarán de la siguiente forma a la placa arduino: el rojo (Vcc) a 5V, el negro (o marrón) a tierra (GND) y el blanco (naranja o amarillo) que es la entrada de datos, se conectará al pin digital 8 (podría ser el 4 o el 7) de la placa arduino. En cuanto al potenciómetro: los extremos irán a Vcc y GND y el pin intermedio se conectará a la entrada analógica A0. 2. Montaje eléctrico Los componentes electrónicos que requiere el montaje eléctrico son los siguientes: 1 servo de rotación continua (podríamos usar un servo de 180⁰) y 1 potenciómetro. Servomotor Los motores servo son similares a motores de corriente continua mejorando sus prestaciones. Ellos presentan la capacidad de permitir crear toda clase de movimientos de forma controlada y además, conseguir mover cargas pesadas. Comercialmente, podemos encontrarlos en tres “versiones”. A saber: Susana Oubiña Falcón
Página 79 de 208
Practicando con S4A
Servos normales (con una rotación de 180º) Servos rotativos (limitados a unas pocas vueltas) Servos de rotación continua (giran 360⁰).
Los servos de rotación continua son interesantes porque, además de la fuerza que lleva implícita todo servo, pueden girar de forma continua en un sentido u otro, consiguiendo implementar una vuelta completa. Evidentemente, se pueden comprar y añadirlos a nuestro proyecto para, por ejemplo, conseguir que muevan unas ruedas y formar así un sencillo vehículo autónomo o un robot. Eso sí, el precio de estos servos es muy superior a otros de media vuelta de rotación. Podemos subsanar el “problemilla pasta” convirtiendo un servo de media vuelta (180⁰), mucho más económico, en uno de rotación continua. Esto se consigue haciendo un hack al servo, que no es más que trucarlo a rotación continua. A mayores, trucándolos aprendemos más. Un servo se compone de tres partes principales: motor, reductora y circuito de control con un potenciómetro que permite controlar el ángulo de giro del servo motor, que por lo general suele estar entre 0 y 180 grados, aunque como ya dije, los hay de rotación continua. Cuando modificamos o trucamos un servomotor para conseguir un motor de corriente continua, éste adquirirá la fuerza, velocidad y la baja inercia de los servos, pero eso sí, perderá la capacidad de control de sus giros. Hay que pensar que al hacer el hack eliminamos el tope mecánico del engranaje de salida y así este piñón puede girar libremente. Los servos, para su conexión, poseen 3 terminales que son: el terminal positivo (4 a 8V, de color rojo), el negativo (tierra de color marrón o negro) y la señal de entrada de datos (de color blanco, naranja o amarillo). Estos colores dependen de cada fabricante. Para controlar un servo, es decir, conseguir modificar la posición del mismo según deseemos, se usa la modulación por anchura de pulsos PWM (Pulse Width Modulation), que consiste en generar una onda cuadrada en la que se varía el tiempo que el pulso está a nivel alto, manteniendo el mismo período (normalmente). En la siguiente imagen se observa el tiempo en el que la onda cuadrada está a nivel alto consiguiendo diferentes giros. Cada servo motor, dependiendo de la marca y modelo, presenta sus propios márgenes de operación:
Susana Oubiña Falcón
Página 80 de 208
Practicando con S4A 0.3ms
1.2ms 1.5ms
2.1ms 2.5ms
T
PWM para recorrer el rango de operación del servo Futaba S3003 (0⁰, 90⁰ y 180⁰)
Para el servomotor Futaba S3003 los valores posibles de la señal en alto están entre 0,3 y 2,1 ms, que posicionan al motor en ambos extremos de giro (0° y 180°, respectivamente). El valor 1,2 ms indica la posición central, y otros valores de duración del pulso dejarían al motor en la posición proporcional a dicha duración. Podemos conocer la duración del pulso alto para un determinado giro o ángulo de posición θ grados. Esta duración viene dada por la siguiente fórmula: (ms) Por lo tanto, en el motor Futaba la duración del pulso alto para conseguir un ángulo de posición θ grados estará dada por la fórmula: (ms) Los siguientes vídeos muestran cómo hacer un hack en un servo de media vuelta para convertirlo en uno de vuelta entera: https://www.youtube.com/watch?v=wXqn1ATzSwY https://www.youtube.com/watch?v=UKBdr6GrKv8 https://www.youtube.com/watch?v=phMV591infI Potenciómetro Es una resistencia variable cuya función es limitar el paso de la corriente eléctrica a su través. Por lo tanto, nos da una medida de ohmios que afectará al valor de la intensidad de corriente que pasa por ella. Los potenciómetros más simples son los reóstatos y en ellos, el valor de la resistencia se varía de forma mecánica. Usando, por ejemplo, un destornillador. Los potenciómetros disponen de tres terminales que podemos llamar A, B y C. Unos de ellos se pueden mover o desplazar de forma manual (reóstato) provocando un gran abanico de valores diferentes de resistencias posibles. Uno de los tres terminales del potenciómetro se conecta a la fuente de Susana Oubiña Falcón
Página 81 de 208
Practicando con S4A electricidad y otro es conectado a un punto neutral (toma de tierra – un punto con voltaje cero y sin resistencia). El tercer terminal se conecta a una resistencia. Esta resistencia generalmente está construida en una pieza cuya resistividad (nivel de resistencia) va creciendo desde un extremo hasta el otro. Este tercer terminal es el que manipula el usuario a través de un mando o palanca. Su símbolo eléctrico es el siguiente:
Símbolos de un potenciómetro
Físicamente, se observa en las siguientes imágenes:
El pequeño circuito eléctrico que vamos a implementar para controlar el servomotor puede verse en la siguiente imagen:
Susana Oubiña Falcón
Página 82 de 208
Practicando con S4A
Esquema en la placa protoboard. Susana Oubiña Falcón (CC-BY)
3. Objetos en el entorno S4A En este caso, usamos un único objeto arduino, el cual estará fijo en el escenario y no presenta movilidad ninguna. La imagen del mismo es la siguiente:
Susana Oubiña Falcón
Página 83 de 208
Practicando con S4A
Escenario de la práctica con el objeto arduino. Susana Oubiña Falcón (CC-BY)
4. Programación en el entorno S4A. Para controlar un servomotor del tipo 180⁰ de ángulo de giro, el entorno S4A dispone del comando:
Comando para el servomotor. Susana Oubiña Falcón (CC-BY)
Donde el ángulo es un valor entero comprendido entre 0⁰ y 180⁰. En nuestro circuito, el cable de control se usa para comunicar el ángulo y este ángulo va determinado por la duración del pulso de modo que la longitud del pulso determinará los giros del servomotor de la siguiente forma: (para un servo Futaba S3003)
Un pulso de 1,2ms hará que el motor vaya a 90⁰ (que es lo que denomina posición neutra). Un pulso mayor que 1,2ms hará que el motor se acerque a 180⁰
Susana Oubiña Falcón
Página 84 de 208
Practicando con S4A
Un pulso inferior a 1,2ms hará que el motor se acerque a 0⁰
Nosotros no visionaremos los pulsos en el escenario de S4A. El valor Analógico 0 del potenciómetro será nuestro sensor aportándonos un valor entre 0 y 1023. A partir de él, crearemos el valor del ángulo del servomotor, de modo que un ángulo de 90⁰hará que el servo se pare y si es superior o inferior a noventa hará que gire hacia un lado u otro. Por lo tanto, necesitamos crear dos variables, que llamaremos “Potenciómetro” y “angulo”. Estas variables, dejaremos que se muestren en el escenario:
Variables en el escenario. Susana Oubiña Falcón (CC-BY)
El programa del objeto arduino es el siguiente:
Programa de nuestro objeto arduino. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 85 de 208
Practicando con S4A En él se observa un comando separado del programa principal. Como indica su nota adjunta, ese comando se usará para apagar el servo (primero debemos hacer clic en la bandera roja).
Comando para parar el servomotor. Susana Oubiña Falcón (CC-BY)
Inicialmente, fijamos la posición de reposo del motor a 0⁰ (podríamos escoger noventa). A continuación, dentro de un bucle “Por siempre” definimos las variables Potenciómetro y ángulo enviándole al servo el ángulo de giro (número entero, por eso utilizo el redondeo) que debe girar. Ese ángulo, se convierte en un giro a la derecha o izquierda, con una velocidad determinada. La fórmula del ángulo a partir del potenciómetro (ver siguiente imagen) se debe a que la variable potenciómetro nos dará un valor entre 0 y 1024, pero la variable ángulo, necesariamente, debe ser un valor entero entre cero y 180 grados. Por lo tanto, por una regla de tres, debo conocer el valor del potenciómetro para variarlo un grado. Para ello, dividimos 180 grados entre 1023 y ese resultado, aproximado a tres decimales, es 0.176:
(Lo correcto sería hacer la división de 180 entre lo que abarca el canal, que son 1024, pero no aprecian cambios si se opera con 1023).
5. Vídeo demostrativo del funcionamiento de la práctica El vídeo que muestra el funcionamiento de la práctica “Control de giro y velocidad de un servomotor” se visiona en el siguiente link: https://vimeo.com/121811334
Susana Oubiña Falcón
Página 86 de 208
Practicando con S4A Práctica 8: Control del color de un LED RGB
“Control de un LED RGB de cátodo común” en S4A. Susana Oubiña Falcón (CC-BY)
1. Objetivo 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. Cada potenciómetro nos servirá para controlar gradualmente la intensidad de corriente que circula por cada uno de los materiales semiconductores que ofrecen el respectivo color del diodo. Necesitamos usar pines PWM (en nuestro caso, usaremos el pin 5, 6 y 9) para el diodo RGB. La modulación por ancho de pulso (PWM) es una técnica utilizada para simular una salida analógica con una digital, creando una onda cuadrada que constantemente conmuta entre encendido y apagado. El momento en que la onda está a 5V (ON) es el ancho de pulso, que se modifica para cambiar el valor analógico. En cuanto a cada potenciómetro, usaremos sus dos patillas exteriores para conectarlas a tierra y 5V y la patilla intermedia a las entradas de datos analógica A0, A5 y A3. 2. Montaje eléctrico Los componentes electrónicos que requiere el montaje eléctrico son los siguientes: 1 LED RGB de cátodo común, 3 resistencias de 220 y 3 potenciómetros. Susana Oubiña Falcón
Página 87 de 208
Practicando con S4A Diodo LED RGB Los LEDs RGB son diodos que logran iluminarse con los colores basicos: rojo, verde y azul. Por lo tanto, poseen tres materiales semiconductores diferentes. Para controlar la iluminación de los diferentes colores sólo hace falta dejar pasar más o menos corriente por el material semiconductor respectivo. De este modo, podríamos conseguir el color rojo, o el verde o el azul manipulando la corriente que circula por cada unos de estos tres potenciómetros. Obviamente y quizás más bonito, también se puede jugar con la corriente en varios potenciómetros a la vez, obteniendo colores diferentes a los tres básicos, como el amarillo, el rosa, etc. Existen dos tipos de diodos LED RGB: los de cátodo común y los de ánodo común. A la hora de utilizar un diodo Led RGB hemos de tener claro si es de cátodo común o de ánodo común ya que se conectan de forma diferente. Físicamente, ambos tipos son iguales, presentando 4 patillas, siendo la segunda (más larga) la del ánodo o cátodo común. La siguiente imagen muestra como es un diodo Led RGB, asi como, los cátodos y ánodos que dispone cada uno de sus diferentes tipos o clases de diodos. El de ánodo común tiene una patilla ánodo y 3 cátodos, pero el de cátodo común, presenta una patilla cátodo y 3 ánodos. En ambos tipos, la primera patilla, con la segunda, nos ofrece el color rojo, la tercera patilla, con la segunda, nos implementa el verde y, por último, la cuarta patilla con la segunda nos ofrece el color azul. En esta práctica usaremos un diodo Led RGB de cátodo común y, por lo tanto, la segunda patilla, que es el cátodo (-), deberé conectarla a GND.
LEDs RGB. Susana Oubiña Falcón (CC-BY)
En la siguiente imagen se observa cómo conseguir el verde manipulando el valor de entrada (0 o 255):
Susana Oubiña Falcón
Página 88 de 208
Practicando con S4A
Verde RGB. Susana Oubiña Falcón (CC-BY)
Su simbología eléctrica, para cada tipología, es la siguiente:
Resistencia eléctrica: R La resistencia eléctrica es la oposición o dificultad que opone un material al paso de la corriente eléctrica. Todos los componentes (que no sean perfectamente conductores) presentan una resistencia eléctrica. Entre ese gran número, existen unos que se construyen exclusivamente para que dificulten el paso de la corriente eléctrica y se denominan resistencias eléctricas. Su símbolo eléctrico es el siguiente:
Físicamente, presentan dos patillas, y se reconoce su valor (en ) por sus cuatro franjas de colores, siendo la 3º el multiplicador y la 4º la tolerancia de la resistencia Susana Oubiña Falcón
Página 89 de 208
Practicando con S4A
Muestra de diferentes R
Tabla de colores para el cálculo de la R
Susana Oubiña Falcón
Página 90 de 208
Practicando con S4A Potenciómetro Es una resistencia variable cuya función es limitar el paso de la corriente eléctrica a su través. Por lo tanto, nos da una medida de ohmios que afectará al valor de la intensidad de corriente que pasa por ella. Los potenciómetros más simples son los reóstatos y en ellos, el valor de la resistencia se varía de forma mecánica. Usando, por ejemplo, un destornillador. Los potenciómetros disponen de tres terminales que podemos llamar A, B y C. Unos de ellos se pueden mover o desplazar de forma manual (reóstato) provocando un gran abanico de valores diferentes de resistencias posibles. Uno de los tres terminales del potenciómetro se conecta a la fuente de electricidad y otro es conectado a un punto neutral (toma de tierra – un punto con voltaje cero y sin resistencia). El tercer terminal se conecta a una resistencia. Esta resistencia generalmente está construida en una pieza cuya resistividad (nivel de resistencia) va creciendo desde un extremo hasta el otro. Este tercer terminal es el que manipula el usuario a través de un mando o palanca. Su símbolo eléctrico es el siguiente:
Símbolos de un potenciómetro
Físicamente, se observa en las siguientes imágenes:
Susana Oubiña Falcón
Página 91 de 208
Practicando con S4A
El circuito eléctrico que vamos a implementar para controlar el LED tricolor RGB, puede verse en las sucesivas imágenes:
Circuito de prueba: Diodo Led RGB. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 92 de 208
Practicando con S4A
Circuito de prueba: Conexionado de los potenciómetros. Susana Oubiña Falcón (CC-BY)
Circuito de prueba: Conexionado del diodo. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 93 de 208
Practicando con S4A
Circuito de prueba: Conexionado de la placa Arduino Uno. Susana Oubiña Falcón (CC-BY)
Esquema en la placa protoboard. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 94 de 208
Practicando con S4A 3. Objetos en el entorno S4A El programa requiere de un único objeto arduino que representa el diodo RGB. Este objeto posee 4 disfraces: blanco (diodo en polarización inversa y no se ilumina), rojo (pasa corriente por el material semiconductor que nos ofrece el color rojo), verde (pasa corriente por el material semiconductor que nos ofrece el color verde) y azul (pasa corriente por el material semiconductor que nos ofrece el color azul). Este objeto en el disfraz “blanco” puede verse en la siguiente imagen del escenario de la práctica en el entorno S4A:
Escenario de la práctica. Susana Oubiña Falcón (CC-BY)
4. Programación en el entorno S4A. Esta práctica es muy simple. En ella se debe programar los pines 5, 6 y 9 de modo que adquiera los valores que mide el sensor analógico A0, A5 y A3 (rojo, verde y azul, respectivamente), respectivamente (potenciómetro). Los valores que aportan los comandos “Valor del sensor Analog0, 5 y 3” variarán entre 0 y Susana Oubiña Falcón
Página 95 de 208
Practicando con S4A 5V y eso quiere decir que la placa arduino nos proporcionará un valor entre 0 y 1023. Como pretendo utilizar valores entre 0 y 255 en lugar de entre 0 y 1023, he de dividir y redondear los valores reales a la escala de 0 a 255. Pensar que 255*4= 1020 y no 1023, de ahí el redondeo con el factor de escala 4.012. Finalmente, sólo resta hacer que los pines 5 (rojo), 6 (verde) y 9 (azul) del diodo adquieran los valores respectivos de las variables analógicas, es decir, un valor entre 0 y 255.
Programación del Led RGB con sus potenciómetros en nuestro objeto arduino. Susana Oubiña Falcón (CC-BY)
La segunda parte del programa (ver siguiente imagen) sólo nos sirve para el entorno scratch, para simular de forma muy simple el color del diodos en el escenario. Si las variables analógicas 0, 5 y 3 superan el valor 0, entonces estamos dejando pasar corriente y esto hará que se ilumine el color correspondiente (o una mezcla de colores). En el script siguiente del objeto arduino RGB se envían mensajes “fondo”. Esto hará que en cada color se visione en el escenario una franja vertical correspondiente a su color de iluminación.
Susana Oubiña Falcón
Página 96 de 208
Practicando con S4A
Programación de los disfraces del LED RGB. Susana Oubiña Falcón (CC-BY)
En el script anterior se observa que el programa dispone de 4 fondos diferentes en el escenario. Estos son: rojo, verde, azul y blanco. (Ver siguiente imagen)
Fondos del programa. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 97 de 208
Practicando con S4A El script del escenario que nos llama o simula el cambio de color en cada fondo en el siguiente:
Script del escenario. Susana Oubiña Falcón (CC-BY)
5. Vídeo demostrativo del funcionamiento de la práctica El vídeo que muestra el funcionamiento de la práctica “Control de un diodo LED RGB de cátodo común” se visiona en el siguiente link: https://vimeo.com/123821885
Susana Oubiña Falcón
Página 98 de 208
Practicando con S4A Práctica 9: Detección de un objeto por medio del sensor óptico de IR
“Detección de un objeto por medio de un sensor óptico de IR” en S4A. Susana Oubiña Falcón (CC-BY)
1. Objetivo El objetivo de esta práctica es conseguir detectar un objeto programando el sensor óptico de infrarrojos en S4A. El sensor óptico de infrarrojos posee 3 terminales. Dos de ellos se conectarán a tierra y 5V en la placa arduino y el tercero, llamado OUT, se conectará a una entrada analógica, en nuestro caso A1, pero antes debemos calibrarlo o ajustarlo a una distancia y para ello lo conecto a una entrada digital PWM, como puede ser D3. Este sensor de infrarrojos tiene las siguientes características:
VCC: alimentación 3V-12V (se puede conectar directamente a 5V o 3.3V microcontrolador) GND: Conexión GND OUT: interfaz de salida digital (0 y 1)
Usaremos un Led Rojo conectado al pin 13 y que se iluminará al detectar el sensor un objeto. 2. Montaje eléctrico Los componentes electrónicos que requiere el montaje eléctrico son los siguientes: Susana Oubiña Falcón
Página 99 de 208
Practicando con S4A 1 led rojo y un sensor óptico de IR (usaremos el TRCT5000 Sensor NSOR que ya incluye el comparador y el potenciómetro de ajuste). Diodo emisor de luz: LED Un diodo LED es un componente electrónico que emite fotones de luz cuando deja pasar una corriente. Eso sucede, cuando la corriente circula de ánodo a cátodo y se dice que el diodo está polarizado en directa (Va>Vk o Vak>0). Cuando la corriente circula en el sentido contrario, es decir, cuando está polarizado en inversa, se comporta como si fuera un interruptor abierto, no dejando pasar corriente. Su símbolo eléctrico es el siguiente:
Físicamente, presenta dos patillas siendo el ánodo (+) la patilla larga y el cátodo (-) la patilla corta: Los LEDs no siempre emiten luz visible de diferentes colores. Entre su gran variedad, los hay que emiten luz ultravioleta. Tanto el tipo de luz y color determinado vienen condicionados por la composición química de los materiales semiconductores que se han usado en su fabricación. En cualquier caso, la frecuencia de emisión de la luz y color de un determinado LED depende de la composición química de los materiales semiconductores utilizados en la fabricación del chip, tal y como se muestra en la siguiente imagen:
Susana Oubiña Falcón
Página 100 de 208
Practicando con S4A Sensor óptico de IR (TRCT5000 Sensor NSOR)
El sensor de infrarrojos es un dispositivo que funciona por reflexión, detectando la cantidad de luz reflejada en un objeto o superficie. Esta característica lo hace capaz de diferenciar entre blanco y negro e incluso entre claro y oscuro. Internamente está formado por un comparador estable. En nuestro caso, usa el comparador LM393 y además, está formado por un diodo emisor de luz infrarroja y un fototransistor como receptor de la luz infrarroja reflejada. Nuestro sensor detecta objetos a distancias desde 2cm a 60cm, con un ángulo de detección de 35⁰. Esta distancia de detección puede ajustarse mediante el potenciómetro que dispone el integrado del sensor. El ajustarlo, implica darse cuenta de lo siguiente: Ajustar el potenciómetro en sentido horario, aumenta la distancia de detección. Ajusta el potenciómetro en sentido antihorario, reduce la distancia de detección. Nota: Se puede ajustar por rango o por dimensión del objeto: Por rango de detección implica que Negro (el objeto absorbe gran parte de la luz emitida enviando un 1) es el más pequeño y el Blanco (gran parte de la luz emitida por el diodo es reflejada al fototransistor y el sensor envía un 0) es el más grande; y por dimensión implica que en Pequeño objeto la distancia es pequeña y un gran objeto significa que la distancia es grande. Sensor de IR
Presenta 3 pines: Vcc, GND y OUT. En la imagen anterior del sensor se puede observar las dos piezas claves de un sensor de infrarrojos: el diodo infrarrojo (emisor) y el fototransistor (receptor). Ambos son físicamente muy parecidos a un LED común. De hecho, algunos emisores los encontramos transparentes o con un ligero color púrpura y los receptores podemos encontrarlos trasparentes o negros; estos últimos disponen de un filtro UV que les permite trabajar mejor incluso expuesto a la luz solar.
Susana Oubiña Falcón
Página 101 de 208
Practicando con S4A Tras la calibración o ajuste, funciona por reflexión. Es decir, el diodo emisor emite luz infrarroja y el receptor, por reflexión, la detecta.
Esquema de funcionamiento.
El siguiente link nos muestra cómo ajustar o calibrar el IR: Calibración6: https://www.youtube.com/watch?v=S38js8mGvKE En un sensor de luz infrarroja, el valor que nos aporta puede variar dependiendo de la intensidad del LED, de la distancia entre ambos componentes e incluso por la luz natural. Por lo tanto, el fototransistor (receptor que será la salida OUT del sensor) tendrá que estar conectado a un Pin analógico para poder leer esta variación. El circuito de prueba que puede verse en la siguiente imagen es muy simple. En él se observa el LED rojo conectado al pin 13 y el pin OUT del sensor conectado al pin analógico A1 de la placa arduino. Los otros cables sólo muestran la alimentación Vcc (5V) y GND:
6
Calibración IR: https://www.youtube.com/watch?v=S38js8mGvKE
Susana Oubiña Falcón
Página 102 de 208
Practicando con S4A
Circuito de prueba: Sensor óptico IR con Led Rojo. Susana Oubiña Falcón (CC-BY)
3. Objetos en el entorno S4A El programa que se crea en el entorno S4A simula la detección de un objeto por proximidad. Para ello utilizo 3 objetos: el objeto arduino, el objeto barrera y el objeto título de la práctica. Este último no presenta ningún interés en cuanto a la programación. Objeto arduino presenta tres disfraces (amarillo, rojo y verde) y será programado para encender el LED rojo de la placa arduino cuando el sensor detecte la presencia de un objeto delante del sensor de IR. El disfraz “amarillo” es el que se mostrará cuando el sensor no detecte un objeto cercano y por eso la variable “Detección” toma el valor cero. Los otros dos disfraces (rojo y verde) se mostrarán al detectar el objeto y en ellos, la variable “Detección” toma el valor 1.
Susana Oubiña Falcón
Página 103 de 208
Practicando con S4A
Disfraces del objeto arduino. Susana Oubiña Falcón (CC-BY)
En la simulación se ha pretendido crear una barrera de modo que esta suba y baje. Por lo tanto, mientras sube y mientras baja, el objeto no puede pasar y eso se refleja en el disfraz “rojo” (pare) del objeto arduino. En el momento en que la barrera está completamente subida, ésta se quedará quieta por unos segundos y ahí es cuando se el disfraz del objeto arduino cambia a “verde” (adelante).
Susana Oubiña Falcón
Página 104 de 208
Practicando con S4A
Escenario en “Detección=0”: disfraz amarillo. Susana Oubiña Falcón (CC-BY)
Escenario en “Detección=1”: disfraz rojo subida de barrera. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 105 de 208
Practicando con S4A
Escenario en “Detección=1”: disfraz verde subida completada. Susana Oubiña Falcón (CC-BY)
El objeto barrera presenta 9 disfraces que se programan de forma cíclica llamando a los respectivos disfraces del objeto arduino (amarillo, rojo y verde).
Susana Oubiña Falcón
Página 106 de 208
Practicando con S4A
Disfraces del objeto Barrera. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 107 de 208
Practicando con S4A El objeto título simplemente se ha creado para mostrar en una posición determinada del escenario (99, -101) el título de la práctica. 4. Programación en el entorno S4A. El sensor de IR se programa de modo que, al detectar la proximidad de un objeto, nos avise encendiendo un LED Rojo del pin digital 13 de la placa arduino. El valor que mide el sensor en su pin OUT se refleja en la entrada analógica 1 de la placa. El sensor se ha ajustada inicialmente a una cierta distancia que se asocia con el número 100 o menor de la entrada analógica A1 (para un número superior, el objeto se considera alejado y no lo detecta, mostrándose el diodo rojo apagado). Para facilitar la compresión del programa se ha creado una variable que llamo “Detección” y que tomará 2 valores: 1 en el caso de que detecte al objeto en cercanía y 0 si el objeto no es detectado. El programa es muy sencillo y se muestra en la siguiente imagen:
Programación del sensor IR en el objeto arduino. Susana Oubiña Falcón (CC-BY)
Inicialmente el objeto arduino se muestra con el disfraz amarillo en una posición determinada del escenario. Sólo resta programar la aparición de los disfraces “rojo” y “verde” a partir del objeto “barrera”:
Susana Oubiña Falcón
Página 108 de 208
Practicando con S4A
Programación de los disfraces del objeto arduino. Susana Oubiña Falcón (CC-BY)
En el objeto “Barrera” sólo debe programarse la secuencia de aparición de sus disfraces, así como el momento en que se activan. Inicialmente, cuando el objeto arduino presenta el disfraz “amarillo” la barrera debe estar en el disfraz horizontal (barrera-azul gris) y la variable “Detección” toma el valor cero, pero al detectar el sensor el objeto (Detección=1), los disfraces de la barrera deben ir pasando secuencialmente (4 disfraces implica un bucle de repetición de 4 unidades) hasta lograr mostrar la barrera subida. Allí, el disfraz del objeto arduino debe cambiar a “verde” durante unos segundos y ponerse en “rojo” cuando la barrera vuelva otra vez a bajar (otros 4 disfraces y por este motivo usamos un bucle de 4 repeticiones de cambio de disfraz). El programa que refleja esta secuencia es el siguiente:
Susana Oubiña Falcón
Página 109 de 208
Practicando con S4A
Programación del objeto “Barrera”. Susana Oubiña Falcón (CC-BY)
Finalmente, el objeto título se programa para que aparezca un texto en una determinada posición del escenario. En concreto, en (99, -101). 5. Vídeo demostrativo del funcionamiento de la práctica El vídeo que muestra el funcionamiento de la práctica “Detección de un objeto por medio de un sensor óptico de IR” se visiona en el siguiente link: https://vimeo.com/126683857 Susana Oubiña Falcón
Página 110 de 208
Practicando con S4A Práctica 10: Control de un display 7 segmentos
“Simulación del despegue de un cohete” en S4A. Susana Oubiña Falcón (CC-BY)
1. Objetivo El objetivo de esta práctica es conseguir programar un display 7 segmentos realizando un contador descendente en el entorno S4A. Disponemos de un display 7 segmentos de cátodo común y eso implica que los pines números 3 y 8 del cátodo los deberé conectar a tierra.
2. Montaje eléctrico El único componente electrónico que requiere el montaje eléctrico de la práctica es un display 7 segmentos. Display 7 segmentos Un display 7 segmentos es un visualizador de 7 LEDs que se utiliza para mostrar o representar los números del 0 al 9. Está formado por 7 segmentos que incorporan 7 LEDs, los cuales se pueden encender o apagar de forma individual. Cada uno de los segmentos que forman la pantalla del display están marcados con las siete primeras letras del alfabeto ('a'-'g'), y se montan, de forma que permiten activar cada segmento por separado, consiguiendo formar los dígitos numéricos del 0 al 9, tal y como se muestra en la siguiente imagen:
Susana Oubiña Falcón
Página 111 de 208
Practicando con S4A
“Activación y desactivación de los leds en numeración”. Susana Oubiña Falcón (CC-BY)
Algunos displays presentan un octavo segmento, denominado dp. (decimal point,) que no es más que el punto decimal. Se clasifican en dos tipos: de ánodo común y de cátodo común Eléctricamente, un display 7 segmentos se representa de la siguiente forma:
En la imagen anterior se observan los dos tipos de displays: En los de tipo de ánodo común, todos los ánodos de los LEDs o segmentos están unidos internamente a una patilla común, que debe ser conectada a potencial positivo (nivel “1” o 5 V). El encendido de cada segmento individual se realiza aplicando potencial negativo (nivel “0” o 0V) por la patilla correspondiente a través de una resistencia que límite el paso de la corriente. En los de tipo de cátodo común, todos los cátodos de los LEDs o segmentos están unidos internamente a una patilla común que debe ser Susana Oubiña Falcón
Página 112 de 208
Practicando con S4A conectada a potencial negativo (nivel “0” o tierra). El encendido de cada segmento individual se realiza aplicando potencial positivo (nivel “1”) por la patilla correspondiente a través de una resistencia que límite el paso de la corriente. En nuestro caso, usaremos un display 7 segmentos de cátodo común, como el que se muestra en la siguiente figura: Dispone de 10 pines, numerados en sentido antihorario desde el lateral inferior izquierdo (e como 1), y que asociaré a las siguientes conexiones de la placa arduino uno dentro del entorno S4A:
Pin del display 1 2 3 4 5 6 7 8 9 10
Segmento e d K (Cátodo común) c dp (Punto decimal) b a K (Cátodo común) f g
Pin en Arduino Uno 13 12 GND 11 Sin conexión 10 5 GND 6 9
Conexionado Display 7 segmentos con Arduino Uno. Susana Oubiña Falcón (CC-BY)
El circuito de prueba puede verse en la siguiente imagen:
Susana Oubiña Falcón
Página 113 de 208
Practicando con S4A
Circuito de prueba: Display 7 segmentos de cátodo común. Susana Oubiña Falcón (CC-BY)
3. Objetos en el entorno S4A El programa que se crea en el entorno S4A simula el lanzamiento de un cohete. A mayores, visualiza en el display los dígitos del 0 al 9 según la tecla que se presione en el teclado. El programa se compone de 3 objetos: el objeto arduino que es el propio display, el objeto de inicio y el objeto cohete. Objeto arduino presenta 11 disfraces (el disfraz para el escenario de inicio y los 10 disfraces que simulan los dígitos del 0 al 9). El objeto arduino controla el display bajo do funcionalidades: Por un lado es un contador descendente: contando de 9 a 0 Y por otro lado es un mostrador de los dígitos que presionemos en el teclado (también de 0 a 9).
Susana Oubiña Falcón
Página 114 de 208
Practicando con S4A
10 de los 11 disfraces del objeto arduino. Susana Oubiña Falcón (CC-BY)
El objeto inicio es un botón y se crea para activar el contador descendente del display al hacer clic en él. El objeto cohete es una animación que se activa tras recibir el mensaje “despegue”.
Susana Oubiña Falcón
Página 115 de 208
Practicando con S4A
Botó inicio antes de pulsarse y disfraz 1 del objeto arduino. Susana Oubiña Falcón (CC-BY)
Disfraz 8 del objeto arduino (equivalente al número 6). Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 116 de 208
Practicando con S4A
Objeto cohete. Susana Oubiña Falcón (CC-BY)
4. Programación en el entorno S4A. Tras hacer clic en la bandera verde, se activan dos pequeños scripts. Uno es el del objeto Inicio (botón inicio) y otro es una pequeña parte del script del objeto arduino. El programa para el botón inicio es muy sencillo y se muestra en la siguiente imagen:
Susana Oubiña Falcón
Página 117 de 208
Practicando con S4A
Programación del botón Inicio. Susana Oubiña Falcón (CC-BY)
En la figura anterior, se observa que lo situamos en la posición (146, -105), reseteando antes los efectos gráficos que han cambiado el color del botón en otros usos del programa. También dejamos que se vea tras un segundo. Allí se pide que se haga clic en él y cambia 10 veces el efecto de color. Tras hacer clic en el botón, este se esconde y envía el mensaje “contador” que será recibido por el objeto arduino y comenzará su cuenta descendente. También, inicialmente, el objeto arduino está a la espera de que se le ordene contar. El script inicial que implementa hasta esta orden sitúa el primer disfraz del display en el centro del escenario:
Situación inicial del objeto arduino. Susana Oubiña Falcón (CC-BY)
Al recibir el objeto arduino el mensaje “Contador” se activan dos partes del script del display. Por un lado, un sonido que comienza el contaje descendente desde el número 10 y esto es importante porque nuestro contador comienza en 9. Por lo tanto, antes de que su disfraz muestre el número 9 deberá pasar 1 segundo. En la siguiente imagen se muestra el programa del contador Susana Oubiña Falcón
Página 118 de 208
Practicando con S4A descendente (sólo parcialmente, hasta el número 6, pero se sobreentiende como sería su programación). Ayuda ver al lado el mensaje de los pines de los segmentos con la placa arduino.
Programación del contador descendente. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 119 de 208
Practicando con S4A Finalizado el contador, el objeto arduino envía el mensaje “despegue”. Este mensaje es recibido por el objeto cohete y realiza la animación de despegue:
Programación final del contador descendente. Susana Oubiña Falcón (CC-BY)
A mayores, se ha programado del display de modo que muestre el dígito que desea el usuario, presionando cualquier tecla del teclado desde el 0 al 9. El script para que esto ocurra se muestra en la siguiente imagen. En ella sólo se observa la programación para las teclas del 0 al 2. Para las siguientes, se programaría de la misma forma:
Visualización de los números de teclado a display. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 120 de 208
Practicando con S4A Tras finalizar el contador (contador a cero) se activa el mensaje “despegue” en el objeto cohete. El cohete que inicialmente estaba escondido, se muestra tras 1 segundo y simula una aceleración (ejecutando un sonido) con una repetición de 12 veces de un movimiento de subida y bajada rápido en el eje Y desde el origen o centro del escenario para después seguir avanzando hacia el valor de Y 180. Al tocar el borde, el objeto cohete deja de mostrarse.
Programación del objeto “Cohete”. Susana Oubiña Falcón (CC-BY)
5. Vídeo demostrativo del funcionamiento de la práctica El vídeo que muestra el funcionamiento de la práctica “Display 7 segmentos en S4A” se visiona en el siguiente link: https://vimeo.com/127066709
Susana Oubiña Falcón
Página 121 de 208
Practicando con S4A 3. Investiga, combina y crea en el aula taller 3.1. Semáforo con LEDs y zumbador
Semáforo en S4A. Susana Oubiña Falcón (CC-BY)
1. Objetivo Se pretende implementar un semáforo físico de coches y peatones programando su funcionamiento con el software S4A. El circuito eléctrico se probará en una placa protoboard conectada con la placa Arduino UNO. El circuito eléctrico se compone de tres leds (rojo, verde y ámbar), con sus correspondientes resistencias y de un zumbador, de modo que: -
El Led verde se mantenga encendido durante 10 segundos. El Led ámbar parpadee 4 veces durante 2 segundos. El Led rojo se mantiene encendido durante 5 segundos y no debe pasar los peatones (semáforo de coches). El zumbador sonará intermitentemente (durante 5 segundos) avisando a los peatones que cuando dejen de oírlo, el semáforo estará otra vez en verde y podrán cruzar.
Los leds se conectarán, respectivamente, a los pines 13, 11 y 10 de la placa arduino y el zumbador al pin digital 5.
Susana Oubiña Falcón
Página 122 de 208
Practicando con S4A 2. Montaje eléctrico Los componentes electrónicos que requiere el montaje eléctrico son los siguientes: 1 led verde, 1 led ámbar, 1 led rojo, 1 zumbador y 3 resistencias de 220 Diodo emisor de luz: LED Un diodo LED es un componente electrónico que emite fotones de luz cuando deja pasar una corriente. Eso sucede, cuando la corriente circula de ánodo a cátodo y se dice que el diodo está polarizado en directa (Va>Vk o Vak>0). Cuando la corriente circula en el sentido contrario, es decir, cuando está polarizado en inversa, se comporta como si fuera un interruptor abierto, no dejando pasar corriente. Su símbolo eléctrico es el siguiente:
Físicamente, presenta dos patillas siendo el ánodo (+) la patilla larga y el cátodo (-) la patilla corta: Los LEDs no siempre emiten luz visible de diferentes colores. Entre su gran variedad, los hay que emiten luz ultravioleta. Tanto el tipo de luz y color determinado vienen condicionados por la composición química de los materiales semiconductores que se han usado en su fabricación. En cualquier caso, la frecuencia de emisión de la luz y color de un determinado LED depende de la composición química de los materiales semiconductores utilizados en la fabricación del chip, tal y como se muestra en la siguiente imagen:
Susana Oubiña Falcón
Página 123 de 208
Practicando con S4A Resistencia eléctrica: La resistencia eléctrica es la oposición o dificultad que opone un material al paso de la corriente eléctrica. Todos los componentes (que no sean perfectamente conductores) presentan una resistencia eléctrica. Entre ese gran número, existen unos que se construyen exclusivamente para que dificulten el paso de la corriente eléctrica y se denominan resistencias eléctricas. Su símbolo eléctrico es el siguiente:
Físicamente, presentan dos patillas, y se reconoce su valor (en ) por sus cuatro franjas de colores, siendo la 3º el multiplicador y la 4º la tolerancia de la resistencia.
Muestra de diferentes R
Susana Oubiña Falcón
Página 124 de 208
Practicando con S4A
Tabla de colores para el cálculo de la R
Zumbador: Un zumbador es un componente eléctrico que produce un sonido o zumbido continuo o intermitente. Generalmente el sonido es agudo, de ahí que se utilicen como mecanismo de aviso o señalización de un suceso. Sus símbolos eléctricos son los siguientes:
Susana Oubiña Falcón
Página 125 de 208
Practicando con S4A
Físicamente, presentan dos terminales (cables) de color negro y rojo. El negro se conectará a tierra y el rojo al pin respectivo e la placa.
Zumbador
Un ejemplo de un montaje del mismo sin placa arduino, en un circuito en serie con una bombilla, se observa en la siguiente figura:
El circuito eléctrico de la práctica se muestra en las sucesivas imágenes:
Susana Oubiña Falcón
Página 126 de 208
Practicando con S4A
Circuito de prueba. Susana Oubiña Falcón (CC-BY)
Esquema en la placa protoboard. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 127 de 208
Practicando con S4A
Esquema eléctrico. Susana Oubiña Falcón (CC-BY)
3. Objetos en el entorno S4A En el entorno de programación S4A debemos implementar los siguientes objetos: Un contador y el semáforo (que es el objeto arduino). Contador: Se compone de 17 disfraces que no son más que los números del 1 al 12 (en color rojo) seguidos de los número del 1 al 5 (en color verde). Este contador se visualiza en una posición determinada del semáforo contador. Semáforo (arduino): Representa los dos semáforos: el típico de los 3 LEDs y el semáforo de peatón que muestra el contador así como la imagen del peatón parado o andando. Este objeto tiene 4 disfraces, a saber: Verde, Amarillo, Negro y Rojo. En las siguientes imágenes se muestran los objetos del programa en el escenario:
Susana Oubiña Falcón
Página 128 de 208
Practicando con S4A
Led Verde (S4A). Susana Oubiña Falcón (CC-BY)
Led Ámbar (S4A). Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 129 de 208
Practicando con S4A
Led Rojo (S4A). Susana Oubiña Falcón (CC-BY)
4. Programación en el entorno S4A La práctica consiste en realizar el siguiente bucle “por siempre”: -
-
Inicialmente el semáforo enciende el led VERDE comenzando el contador en 12. Este led se mantiene encendido durante 10 segundos (los peatones podrán pasar). Pasados los 10 segundos, el semáforo enciende de forma alternativa durante 2 segundos el led ÁMBAR. Finalmente, el semáforo enciende el led ROJO a la vez que comienza a sonar (de forma intermitente) el zumbador avisando al peatón que próximamente (pasados 5 segundos) el peatón podrá cruzar. Estas acciones (LED rojo y sonido intermitente del zumbador) se realizan durante 5 segundos (contador con disfraces en verde).
Programa: El programa del contador debe realizarse de forma continua. Por lo tanto, consiste en un bucle por siempre que ejecuta los tiempos en los que está encendido cada led, con su disfraz correspondiente: El LED verde se enciende durante 10 segundos. Por lo tanto, comienza con el disfraz 12 y repite un bucle de intervalo de tiempo 1 segundo durante 11 veces. A continuación se enciende el LED ámbar que es intermitente. Por lo tanto, debe esconderse y mostrarse. A continuación se ejecuta el contador en verde Susana Oubiña Falcón
Página 130 de 208
Practicando con S4A (para el semáforo en rojo) que estará activo durante 5 segundos y por ese motivo, al partir de un disfraz 5Verde, requiere de un bucle de repetición de 4 iteraciones.
Programa del objeto Contador (S4A). Susana Oubiña Falcón (CC-BY)
En cuanto al programa del objeto Semáforo: Cuando el led encendido es el verde: Pin 10 encendido y los otros 2 apagados. Al mismo tiempo, el zumbador no suena (valor 0). Pasados 10 segundos se enciende el led amarillo y, por lo tanto: Pin 11 encendido y los otros apagados. El zumbador sigue valiendo 0.
Susana Oubiña Falcón
Página 131 de 208
Practicando con S4A Cuando el LED amarillo está encendido, debe haber un parpadeo intermitente en 2 segundos (por lo que hacemos un bucle que se repite dos veces y que, en ese bucle se enciende y se apaga cada 0,5 segundos). Finalmente, se enciende el led rojo (pin 13 encendido y los otros apagados). En ese momento, el zumbador comienza a sonar (valor 210) de forma intermitente y, por lo tanto, intercambia los valores 210 y 0 cada cierto tiempo (0,625segundos y 0,41666 segundos, simulando la inminente entrada del semáforo en verde)
Programa del objeto semáforo (S4A). Susana Oubiña Falcón (CC-BY)
5. Vídeo demostrativo del funcionamiento de la práctica. El vídeo que muestra el funcionamiento del semáforo se visiona en el siguiente link: https://vimeo.com/113306621 El proyecto final del mismo se presentará con la implementación del circuito eléctrico en un semáforo físico construido con madera. Susana Oubiña Falcón
Página 132 de 208
Practicando con S4A 3.2. Tarjeta teclado K4A K4A es una tarjeta diseñada e implementada por los fundadores del proyecto Leonardo1017: Juan Brito, Danny Macancela y Jesús Echevarria. Su tarjeta trabaja montada sobre una placa arduino en el entorno S4A y está pensada para facilitar la programación y montaje de ciertos elementos electrónicos en usuarios noveles. No requiere de unas librerías adiciones de instalación en el IDE Arduino ni de extensiones específicas. Programar sus componentes electrónicos es una tarea sencilla y funcional, convirtiéndola en una potente herramienta de control para un gran abanico de proyectos en el aula en múltiples materias y diferentes niveles educativos (primaria y secundaria). Los proyectos que se pueden desarrollar con ella dependerán, en gran medida, de la creatividad del alumnado. La que he probado (ver siguiente imagen) incluye 3 LEDs de colores amarillo, azul y rojo, un zumbador, un potenciómetro y 3 pulsadores (A, B y C).
Tarjeta teclado K4S. Susana Oubiña Falcón (CC-BY)
Cada uno de los elementos electrónicos de la tarjeta teclado K4S se conecta a un determinado pin de entrada o salida analógica o digital de la placa arduino. Esta obviedad, me lleva a explicar su uso a partir de pequeños ejemplos para cada conexión establecida en el diseño de la tarjeta:
7
http://leonardo101.org/
Susana Oubiña Falcón
Página 133 de 208
Practicando con S4A
LEDs:
El LED azul de la placa K4A se encuentra conectado al pin digital 10 de la placa Arduino Uno. El siguiente script muestra una posible programación: Tras presionar la tecla del teclado "flecha arriba", el led azul se enciende durante 1 segundo para después apagarse:
Script para programar el LED azul. Susana Oubiña Falcón (CC-BY)
El LED amarillo de la placa K4S se encuentra conectado al pin digital 11 de la placa arduino Uno. El siguiente script muestra una posible programación del diodo: tras presionar la tecla del teclado "flecha derecha", el LED amarillo se enciende y se apaga, simulando una intermitencia (0,5 segundos) dentro de un bucle de 3 repeticiones:
Script para programar el LED amarillo. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 134 de 208
Practicando con S4A El LED rojo del la placa K4A se conecta a pin analógico 9 de la placa arduino Uno. Un posible programa de control de este led se muestra en la siguiente imagen: Al presionar la tecla del teclado "flecha izquierda" el diodo recibe cada segundo los valores 0 (iluminación nula), 64, 128, 182 y 255 (iluminación máxima). Este proceso se repite tres veces. De este modo se simula el encendido paulatino del led rojo. Tras las repeticiones, finalmente, el diodo deja de iluminarse:
Script para programar el LED Rojo. Susana Oubiña Falcón (CC-BY)
Zumbador o timbre:
El zumbador del la placa K4A encaja con el pin digital 13 de la placa arduino Uno. Un posible script para programar el zumbador se muestra en la siguiente imagen: Tras presionar la tecla "z" del teclado se activa el mensaje "zumbador" que repite la activación y desactivación del elemento (cada medio segundo) en un bucle de repetición de 3 veces: Susana Oubiña Falcón
Página 135 de 208
Practicando con S4A
Script para programar el zumbador. Susana Oubiña Falcón (CC-BY)
Potenciómetro:
El potenciómetro de la placa K4A encaja con el pin analógico 5 de la placa Arduino Uno. Un posible script que muestra la programación del mismo es el que se ve en la siguiente imagen: Al presionar la tecla "p" del teclado, el diodo, gracias a un bucle continuo, se ilumina según el valor que le aporta el sensor analógico 5. Es decir, según el valor del potenciómetro. Al actuar sobre el potenciómetro, éste recorrerá los valores comprendidos entre 0 y 1023. Debemos tener en cuenta que: el valor que puede tomar el sensor analógico 9 ha de ser siempre entero (de ahí que utilice la función redondeo) y además, debe estar comprendido entre los valores 0 y 255. Para conseguirlo, divido el valor máximo 1023 entre 255, y el factor que nos aporta esta división es 4,012:
Script para programar el potenciómetro. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 136 de 208
Practicando con S4A
Pulsadores:
Los pulsadores A y B de la placa K4A están conectados, respectivamente, a los pines digitales 2 y 3. Ambos pulsadores presentan una lógica negativa. Es decir, al presionarlos, los pines digitales muestran al valor "falso". La siguiente imagen muestra una posible programación para ambos pulsadores: Al presionar la bandera verde se produce un testeo continuo, por siempre, de ambos pulsadores de modo que, si se pulsa el pulsador A se enciende durante 1 segundo primero el diodo amarillo, para al segundo siguiente apagarse y encenderse el diodo azul y, si pulsamos el pulsador B, se encienden a la vez ambos diodos, para, tras 1 segundo, apagarse:
Script para los pulsadores A y B. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 137 de 208
Practicando con S4A El pulsador C de la placa K4A es diferente a los dos anteriores y atiende a un entrada analógica conectada al pin analógico 2 de la placa Arduino Uno. En la siguiente imagen se muestra una posible programación del mismo: Tras presionar la tecla "c" del teclado, si pulsamos el pulsador C, el timbre o zumbador (conectado al pin digital 13) sonará durante 1 segundo. Este pulsador también presenta una lógica negativa en el sentido que: al pulsarlo introduce el valor 0 y sin pulsar se leerá el valor 1023 en la entrada analógica 2 de la placa arduino.
Script para el pulsador C. Susana Oubiña Falcón (CC-BY)
El siguiente vídeo muestra la placa en acción en el entorno S4A con los pequeños scripts que se han ido explicando: https://vimeo.com/122748408
3.2.1. Práctica: Intrusos en casa A modo de ejemplo he creado un programa para interaccionar con la tarjeta K4S en el entorno S4A. En este pequeño programa, llamado "Intrusos en casa", se han programado las acciones de los 3 diodos LED, el timbre o Susana Oubiña Falcón
Página 138 de 208
Practicando con S4A zumbador, el potenciómetro y sus 3 pulsadores (A, B y C). El programa se compone de 5 objetos, de los cuales, 4 son objetos arduino. Las acciones programadas en los diferentes elementos electrónicos de la tarjeta se resumen como sigue:
El diodo amarillo se acciona y enciende presionando la tecla del teclado "a". Tras pulsarla, se abre la puerta del "garaje" y el coche sale de la casa. Después de esta acción, se apaga el diodo amarillo.
Escenario tras pulsar “a”. Susana Oubiña Falcón (CC-BY)
El diodo azul se acciona y enciende al presionar la tecla "b" de nuestro teclado. El coche desaparece y se escucha el sonido de un automóvil en movimiento. Cuando la acción finaliza, el diodo azul se apaga.
Escenario tras pulsar “b”. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 139 de 208
Practicando con S4A
El diodo rojo se acciona y enciende al presionar la tecla "c" de nuestro teclado. Su acción es la simulación del crecimiento de una planta (de 18 disfraces) en un lugar aleatorio de la parte inferior del escenario. Finalizado el crecimiento, el diodo se apaga.
Escenario tras pulsar “c”. Susana Oubiña Falcón (CC-BY)
En el entorno S4A, su programación puede verse en la siguiente imagen:
Script del Led Rojo. Susana Oubiña Falcón (CC-BY)
El zumbador se activa durante medio segundo al pulsar la tecla espacio. También, se escucha el sonido de un perro. Al pulsar la tecla espacio
Susana Oubiña Falcón
Página 140 de 208
Practicando con S4A cambio de color el pulsador “Dog” del escenario, tal y como se muestra en la siguiente imagen:
Escenario tras pulsar “space”. Susana Oubiña Falcón (CC-BY)
Script del zumbador. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 141 de 208
Practicando con S4A
El potenciómetro realiza en efecto del color en el cartel inicial del programa "Cuidado con el perro".
Cartel de color azul. Susana Oubiña Falcón (CC-BY)
En el entorno S4A, su programación puede verse en la siguiente imagen:
Script del elemento potenciómetro. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 142 de 208
Practicando con S4A
Mientras mantengamos presionado el pulsador A, se moverá el objeto "ArduinoDog" por el escenario en la dirección del eje X positivo. La misma acción se ha programado con el pulsador B pero hacia el objeto "ArduinoUFO".
Escenario con “ArduinoDog” tras presionar el pulsador A. Susana Oubiña Falcón (CC-BY)
Escenario con “ArduinoUFO” tras presionar el pulsador B. Susana Oubiña Falcón (CC-BY)
El pulsador C activa una alarma pero sólo lo hace si el objeto "ArduinoDog" ha localizado a dos intrusos (ArduinoUFO) y estos se han desintegrado. Es decir, el programa incluye una variable "intrusos" que, en el momento de presionar el pulsador C de K4S ha de tener el valor 2 para que active el sonido de la alarma.
Susana Oubiña Falcón
Página 143 de 208
Practicando con S4A
Escenario el pulsador C habiendo desintegrado 2 intrusos. Susana Oubiña Falcón (CC-BY)
El siguiente vídeo muestra en acción la programación diseñada para cada elemento electrónico del archivo "Intrusos en casa": https://vimeo.com/123714120
3.3. Tarjeta NENO La tarjeta NENO8, actualmente en su versión 1.0, mejora las prestaciones de su predecesora, la tarjeta teclado K4S, añadiendo nuevos elementos. Además de los 3 pulsadores (A, B y C), 3 diodos (rojo, amarillo y verde), un zumbador y un potenciómetro, elementos que ya incluye la tarjeta K4A, presenta los siguientes componentes electrónicos: un micrófono o sensor sonido, un diodo RGB, un sensor analógico de temperatura (LM35) y una LDR o sensor de iluminación. En consecuencia, NENO permite que el usuario (alumno o docente), de forma rápida y sencilla, implemente programas que puedan detectar ruidos y cantidad de luz e incluso, medir la temperatura del entorno. Tras estas medidas, sólo debemos programar sus actuaciones en nuestro proyecto real. Por lo tanto, es una maravillosa herramienta para explotar la creatividad y el auto-aprendizaje en el alumnado. Sus sensores abren la puerta a creación de una gran variedad de prácticas y proyectos en múltiples materias del campo científico tecnológico en nuestras aulas. La tarjeta NENO dispone de un diodo RGB configurado en ánodo común (diseñado a partir de 3 diodos básicos). Gracias a él, las aplicaciones educativas de la tarjeta se amplifican. Un diodo LED RGB logra iluminarse con los colores básicos (rojo, verde y azul), pero, jugando con la corriente en varias 8
http://leonardo101.org/tarjeta-neno-v1-0-2/
Susana Oubiña Falcón
Página 144 de 208
Practicando con S4A salidas analógicas de la tarjeta a la vez, conseguimos combinar colores, obteniendo por ejemplo el amarillo, el rosa, etc. Es decir, podemos crear cualquier color en el entorno scratch. Una imagen de la tarjeta NENO en su versión actual, la 1.0, se muestra en la siguiente imagen:
NENO V1.0. (Fuente: Leonardo101). Susana Oubiña Falcón (CC-BY)
Al igual que su predecesora, la versión mejorada de K4S, tarjeta NENO, utiliza unos determinados pines digitales y analógicos para cada componente electrónico de la misma. Los pines de conexión de cada elemento en la placa NENO, difieren sensiblemente de la tarjeta teclado K4S. A continuación, se describe su conexionado y ejemplifico la programación para cada uno de sus elementos:
Diodos:
El LED rojo de la placa NENO se encuentra conectado al pin digital 10 de la placa arduino. El siguiente script muestra una posible programación: Tras presionar la tecla del teclado "flecha arriba", el led rojo se enciende durante 1 segundo para después apagarse:
Susana Oubiña Falcón
Página 145 de 208
Practicando con S4A
Script de ejemplo para programar el LED rojo. Susana Oubiña Falcón (CC-BY)
El LED amarillo de la placa NENO se encuentra conectado al pin digital 11 de la placa arduino. El siguiente script muestra una posible programación del diodo: tras presionar la tecla del teclado "flecha derecha", el LED amarillo se enciende y se apaga, simulando una intermitencia (0,5 segundos) dentro de un bucle de 3 repeticiones:
Script de ejemplo para programar el LED amarillo. Susana Oubiña Falcón (CC-BY)
El LED verde del la placa NENO se conecta a pin digital 12 de la placa arduino. Un posible programa de control de este led se muestra en la siguiente imagen: Al presionar la tecla del teclado "flecha izquierda" el diodo recibe realiza un bucle infinito que le lleva primero a mantenerse encendido durante 10 segundos, para después estar apagado un tiempo de 4 segundos:
Susana Oubiña Falcón
Página 146 de 208
Practicando con S4A
Script de ejemplo para programar el LED Verde. Susana Oubiña Falcón (CC-BY)
El LED RGB de ánodo común se simula en NANO a través de tres LEDs de colores rojo, azul y verde, cuyos cátodos están conectados, respectivamente, a las salidas de los pines analógicos 9, 5 y 6. Al ser analógicos, presentan valores entre 0 y 255. Si modificamos la corriente que circula por cada diodo, conseguimos variar su tonalidad en la iluminación y, en consecuencia, podremos generar cualquier color. En el siguiente ejemplo, se realiza un bucle infinito pasando por diferentes colores de modo que simula un arco iris: rojo, verde, azul, amarillo, magenta, cyan y blanco.
Susana Oubiña Falcón
Página 147 de 208
Practicando con S4A
Script de ejemplo para programar el LED RGB. Susana Oubiña Falcón (CC-BY)
Zumbador:
El zumbador del la placa NENO encaja con el pin digital 13 de la placa Arduino Uno. Un posible script para programar el zumbador se muestra en la siguiente imagen: Tras presionar la tecla "z" del teclado, se activa el mensaje "zumbador" que repite la activación y desactivación del elemento (cada medio segundo) en un bucle de repetición de 3:
Susana Oubiña Falcón
Página 148 de 208
Practicando con S4A
Script de ejemplo para programar el zumbador. Susana Oubiña Falcón (CC-BY)
Potenciómetro:
El potenciómetro de la placa NENO se conecta con el pin analógico 5 de la placa Arduino Uno. Un posible script que muestra la programación del mismo es el que se ve en la siguiente imagen: Al presionar la tecla "p" del teclado, el diodo, gracias a un bucle continuo, se ilumina según el valor que le aporta el sensor analógico 5. Es decir, según el valor del potenciómetro. Al actuar sobre el potenciómetro, éste recorrerá los valores comprendidos entre 0 y 1023. Debemos tener en cuenta que: el valor que puede tomar el sensor analógico 9 (diodo LED Rojo) ha de ser siempre entero (de ahí que utilice la función redondeo) y además, debe estar comprendido entre los valores 0 y 255. Para conseguirlo, divido el valor máximo 1023 entre 255, y el factor que nos aporta esta división es 4,012:
Script de ejemplo para programar el potenciómetro. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 149 de 208
Practicando con S4A
Pulsadores A, B y C:
Los pulsadores A y B de la placa NENO están conectados, respectivamente, a los pines digitales 2 y 3. Ambos pulsadores presentan una lógica negativa. Es decir, al presionarlos, los pines digitales muestran al valor "falso". La siguiente imagen muestra una posible programación para ambos pulsadores: Al presionar la bandera verde se produce un testeo continuo, por siempre, de ambos pulsadores de modo que, si se pulsa el pulsador A se enciende durante 1 segundo primero el diodo amarillo, para al segundo siguiente apagarse y encenderse el diodo verde y, si pulsamos el pulsador B, se encienden a la vez ambos diodos, para, tras 1 segundo, apagarse:
Script de ejemplo para los pulsadores A y B. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 150 de 208
Practicando con S4A El pulsador C de la placa NENO es diferente a los dos anteriores y atiende a una entrada analógica conectada al pin analógico 2 de la placa Arduino Uno. En la siguiente imagen se muestra una posible programación del mismo: Tras presionar la tecla "c" del teclado, si pulsamos el pulsador C, el timbre o zumbador (conectado al pin digital 13) sonará durante 1 segundo. Este pulsador también presenta una lógica negativa en el sentido que: al pulsarlo introduce el valor 0 y sin pulsar se leerá el valor 1023 en la entrada analógica 2 de la placa arduino.
Script de ejemplo para el pulsador C. Susana Oubiña Falcón (CC-BY)
Sensores:
La LDR o sensor de luz nos proporciona una medida de la luz ambiente y atiende a una entrada analógica conectada al pin analógico 3 de la placa Arduino. Este sensor NPN nos ofrece una cantidad numérica que varía entre 0 y 1023, siendo el valor 0 el de máxima iluminación y el valor 1023 el de total oscuridad. El siguiente programa lee este valor y, cuando detecta poca luz
Susana Oubiña Falcón
Página 151 de 208
Practicando con S4A (valor 800) enciende los tres leds (rojo, amarillo y verde); en caso contrario, se mantienen apagados:
Script de ejemplo para el LDR. Susana Oubiña Falcón (CC-BY)
El sensor de temperatura de NENO es el LM35DZ, que mide temperaturas positivas entre el rango de 0ºC a 100ºC. En la tarjeta NENO, la salida del sensor LM35 se lleva a dos entradas analógicas de la tarjeta arduino buscando con ello aumentar la resolución del sensor. Me explico: Por un lado, va directamente al pin analógico A0 y por otro lado se amplifica, con ganancia 5, llevándola al pin analógico A1, siendo A1 la entrada de datos que debe leer la tarjeta NENO. Esta última etapa amplificadora aumenta notablemente la resolución del sensor de temperatura ya que se consigue que la señal que llega a la tarjeta arduino abarque todo el margen de tensión de la entrada (0 a 5V) y no solamente 1/5 de la misma. Por lo tanto, el sensor de temperatura analógico implementado en la tarjeta NENO permite realizar medidas de temperatura de una forma bastante precisa Susana Oubiña Falcón
Página 152 de 208
Practicando con S4A entre el rango de cero a cien a través de la entrada analógica del pin analógico 1. De esta forma, cuando lee la señal analógica 1, obtiene un valor entre 0 y 1023. Para obtener el valor de temperatura en ºC a partir de la lectura del sensor, es necesario definir una variable, que llamaré “temperatura” y que realizará la siguiente conversión:
La explicación de la fórmula que convierte los datos analógicos en grados Celsius es la siguiente: El sensor dispone de tres patillas (Vcc, GND y la de intermedia de datos (Vout)), ofreciéndonos una la tensión de salida proporcional a la temperatura, tal y como sigue: 1ºC equivalga a 10mV. Es decir, está calibrado de forma que, 250mV equivaldrían a 25ºC y 100mV a una temperatura de 10ºC. Pero, si bien el sensor emite un voltaje en función de la temperatura (10mV por grado), el arduino no nos da un voltaje como valor de la entrada analógica. Para dicha lectura utiliza un protocolo llamado ADC (Analog to Digital Converter) otorgándonos en el montaje de la tarjeta NENO, un valor comprendido entre 0 y 1023 proporcional al voltaje recibido y con una ganancia de 5. Por lo tanto, si queremos operar con valores de voltajes, es necesario dividir el valor de la lectura entre 1024 (valores posibles). En el siguiente programa se realiza la lectura de la temperatura y se programan diferentes acciones atendiendo a su valor. Si la temperatura es inferior a 17ºC, se encenderá el led verde indicativo de frio en el escenario, si la temperatura es un valor entre 18 y 45, se encenderá el led amarillo indicando que hace calor. Finalmente, si la temperatura excede los 45 grados centígrados, se encenderá el led rojo de peligro:
Susana Oubiña Falcón
Página 153 de 208
Practicando con S4A
Script de ejemplo para el sensor de Temperatura. Susana Oubiña Falcón (CC-BY)
El sensor de sonido o micrófono de NENO se conecta con el pin analógico 4 y nos permite detectar ruidos fuertes (voces, palmadas, etc). Tras esa detección, podremos actuar programando la función que deseemos realizar. A modo de ejemplo, el siguiente programa detecta una voz o palmada (valor testeado 100) y hace que la tarjeta NENO emita un pitido y a la vez, encienda el led RGB de color verde durante un segundo:
Susana Oubiña Falcón
Página 154 de 208
Practicando con S4A
Script de ejemplo para el micrófono. (Fuente: Leonardo101). Susana Oubiña Falcón (CC-BY)
3.4. PicoBoard trabajando con S4A Este apartado se dedica a las tarjetas de sensores conocidas como PicoBoard y que pueden trabajar conjuntamente con la placa arduino en el entorno S4A o Scratch. Os hablaré de tres, pero, dos de ellas serán tratadas como una sola. El motivo de ello es su similitud. De hecho, este parecido hace que las encapsule en lo que denomino PicoBoard estándar. Las PicoBoard estándar son la Scratch Sensor Board, primera PicoBoard del mercado, y el modelo actual de la PicoBoard. Aunque físicamente son diferentes en cuanto a tamaño, drivers y encapsulado, ambas presentan los mismos sensores y conectores de Susana Oubiña Falcón
Página 155 de 208
Practicando con S4A modo que, para su explicación y ejemplificación con el software S4A, utilizaré una de ellas, la Scratch Sensor Board. Es interesante conocer que ambas pueden usarse con el software scratch: la primera puede trabajar con Scratch1.4 y la segunda con Scratch 2.0 online.
PicoBoard (Scratch Sensor Board) con LDR. Susana Oubiña Falcón. (CC BY)
PicoBoard (Dispositivo más actual). Susana Oubiña Falcón. (CC BY)
Ambas traen integrados 4 sensores. A saber: sensor de luz, sensor de sonido, sensor de toque (botón) y un sensor de deslizamiento (slider). Pero no son los únicos sensores que podemos activar. Estas placas disponen de 4 terminales, Susana Oubiña Falcón
Página 156 de 208
Practicando con S4A llamados A, B, C y D, y que pueden servir tanto como medio de acoplamiento de otros sensores (temperatura, humedad, etc) o actuar como simples conectores midiendo la resistencia eléctrica. El dispositivo PicoBoard puede trabajar a la par con la placa Arduino, conectándose ambas al ordenador mediante diferentes cables USB. Para que la PicoBoard sea detectada por el software S4A, es necesario descargar su driver correspondiente. Pese a su semejanza, son diferentes los drivers de ambas PicoBoards. El tercer modelo de PicoBoard es la PicoBoard para S4A, conocida como S4A Board, y que puede trabajar con los software S4A y Scratch 2.0 offline. Esta placa presenta mayores prestaciones que las dos anteriores, integrando el sensor de luz, de sonido, dos sensores botón en lugar de uno, y una unidad de control para dos motores. Al mismo tiempo, disponemos de 4 terminales asociados a entradas analógicas, y que nos servirán como simple conectores (con resistencia eléctrica) o como elementos para conectar nuevos sensores a la placa. La versión mejorada que puede verse en la siguiente imagen, incluso incluye un módulo Bluetooth 2.0.
S4A Board (versión bluetooth). Susana Oubiña Falcón (CC-BY)
3.4.1. Conectar el mundo PicoBoard A. Scratch Sensor Board. Antes de comenzar a probarla debemos instalar su driver. El driver lo podemos descargar del siguiente link: Driver PicoBoard9. En nuestro caso, como puede 9
Driver Sensor Scratch Board: http://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx
Susana Oubiña Falcón
Página 157 de 208
Practicando con S4A comprobarse en la siguiente imagen rescatada del administrador de dispositivos, se ha instalado en el puerto COM3.
Pantalla que muestra la instalación del Driver en COM3. Susana Oubiña Falcón (CC-BY)
Los sensores de la PicoBoard reciben datos de forma continua. Para que S4A los pueda leer e interactuar con ellos debemos realizar los siguientes pasos: 1. Instalar el driver (sólo se realiza una vez. En mi caso usaré el puerto COM3). 2. Abrir el programa S4A y conectar la PicoBoard por su USB al ordenador. 3. Ir al bloque Sensores del S4A y hacer clic con el botón derecho encima del comando “valor del sensor…”. Se nos abrirá un submenú y en el debemos escoger la opción “mostrar inspector de la Placa Scratch”:
Mostrar inspector de la Placa Scratch. Susana Oubiña Falcón (CC-BY)
4. Si ahora vemos el escenario del programa S4A, observamos que nos aparece una imagen gris/azul rectangular que simula la PicoBoard, con sus 4 Susana Oubiña Falcón
Página 158 de 208
Practicando con S4A sensores fijos y sus 4 puertos A, B, C y D. Por ahora, la PicoBoard aun no está recibiendo datos, se encuentra en fase Apagada, tal y como puede verse en la siguiente imagen:
PicoBoard en fase “Apagada”. Susana Oubiña Falcón (CC-BY)
5. Para activarla debemos seleccionar el puerto que hemos elegido para la instalación del driver. Para ello, ponemos el ratón encima de la imagen de la PicoBoard y hacemos clic con el botón derecho marcando “seleccionar puerto serial/USB” y, en nuestro caso, elegimos el COM3.
Susana Oubiña Falcón
Página 159 de 208
Practicando con S4A
Selección del puerto de conexión COM3. Susana Oubiña Falcón (CC-BY)
Desde este momento, los sensores de la PicoBoard envían datos al S4A y este los recibe, pudiendo procesarlos. En el escenario del S4A, puede observarse que la imagen de la PicoBoard se encuentra en fase “Prendido”:
Susana Oubiña Falcón
Página 160 de 208
Practicando con S4A
PicoBoard en fase “Prendido”. Susana Oubiña Falcón (CC-BY)
PicoBoard y placa arduino conectadas. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 161 de 208
Practicando con S4A B. PicoBoard más actual En el segundo caso, PicoBoard más actual, ésta sólo es operativa en Windows y Mac (en Linux no se garantiza que funcione de forma correcta). El driver para su instalación puede descargarse del siguiente link: Driver PicoBoard más actual.10 El puerto de instalación de su driver se muestra en el administrador de dispositivos como COM7:
Puerto de instalación de la PicoBoard actual. Susana Oubiña Falcón. (CC BY)
C. PicoBoard para S4A (S4A Board) Con la tarjeta S4A board podemos trabajar con Scratch2.0 offline en los sistemas operativos Windows, MAC y Linux y con el software S4A. Para ello hemos de instalar los drivers que controlan el dispositivo y que pueden descargarse desde el siguiente enlace: USB serial port Driver11. 10 11
Driver PicoBoard Actual: http://www.picocricket.com/picoboardsetupUSB.html Driver S4A board: http://wiki.ruilongmaker.cc/index.php?title=%28SKU:RLISP014SA%29S4A_Controller
Susana Oubiña Falcón
Página 162 de 208
Practicando con S4A Tras la instalación del driver (ver siguiente imagen) la tarjeta de sensores ya es detectada por nuestro computador:
Driver CH341SER. Susana Oubiña Falcón. (CC BY)
En nuestro caso, se ha instalado en el Puerto COM22, como puede verse en la siguiente imagen del administrador de dispositivos:
Puerto de instalación para S4A Board. Susana Oubiña Falcón. (CC BY)
También necesitamos descargar el paquete de software que nos comunicará la placa S4A Board con Scratch 2.0 offline. Este paquete se llama scratch2.0 y puede descargarse del siguiente link: Scratch2.0.zip12 Tras la instalación del driver y la descarga de este software de comunicación de la placa con scratch, ya podemos abrir el programa Scratch 2.0 offline y añadirle las extensiones para poder trabajar con la tarjeta S4A Board. Los pasos a seguir son los siguientes: 1. Abrir el programa Sratch2.0 offline 2. Hacer Shift+Archivo y escoger “Importar la versión experimental de la extensión HTTP”:
12
Link de descarga del paquete scratch2.0.zip: http://pan.baidu.com/s/1dD4f3KP
Susana Oubiña Falcón
Página 163 de 208
Practicando con S4A
Importar Extensión Experimental. Susana Oubiña Falcón. (CC BY)
Escoger los archivos ArduinoCAR, ArduinoS4A, Firmata y PicoBoard de la carpeta Scratch de ScratchHelperApp.
Cargar los 4 archivos. Susana Oubiña Falcón. (CC BY)
3. Por ahora, vemos que se han cargado las nuevas extensiones pero que aún no están desconectadas:
Susana Oubiña Falcón
Página 164 de 208
Practicando con S4A
Extensiones desconectadas. Susana Oubiña Falcón. (CC BY)
4. Para conectarlas, lanzamos la aplicación ScratchHelperApp:
Aplicación ScratchHelperApp. Susana Oubiña Falcón. (CC BY) Susana Oubiña Falcón
Página 165 de 208
Practicando con S4A 5. Escogemos el puerto COM22 y las diferentes extensiones (Arduino/S4A, Firmata, PicoBoard y ArduinoCAR):
Elección de extensiones en ScratchHelperApp. Susana Oubiña Falcón. (CC BY)
6. En la siguiente imagen vemos que ya están conectadas:
Susana Oubiña Falcón
Página 166 de 208
Practicando con S4A
Extensiones conectadas. Susana Oubiña Falcón. (CC BY)
S4A Board presenta un módulo Bluetooth 2.0. Módulo que debemos instalar en nuestro ordenador. La contraseña, por defecto, es “1234”. Para instalarlo debemos seguir los siguientes pasos: 1. En primer lugar, debemos comprobar que el encaje del módulo bluetooth de la placa presenta ambos interruptores en la posición “BT”.
Posición BT. Susana Oubiña Falcón. (CC BY) Susana Oubiña Falcón
Página 167 de 208
Practicando con S4A 2. Ahora podemos acoplar el módulo Bluetooth y conectar la fuente de alimentación de 9V. Veremos que nos aparece una luz roja intermitente en el módulo Bluetooth.
Bluetooth. Susana Oubiña Falcón. (CC BY)
3. Ahora debemos agregar el dispositivo Bluetooth. Para ello vamos a Inicio>Panel de control>Hardware y sonido>Dispositivos e impresoras>Agregar un dispositivo Bluetooth. 4. Nos aparecerá el dispositivo RuilongMaker. Al hacer clic en él elegimos la segunda opción que será la que nos solicite la clave de acceso que, por defecto, es “1234”. 5. Si ahora comprobamos en el administrador de dispositivos los nuevos puertos, nos aparecen dos que en nuestro caso son el COM 24 y el COM 25. El dispositivo bluetooth está instalado en el odenador.
Puertos en el Administrador de Dispositivos. Susana Oubiña Falcón. (CC BY)
Susana Oubiña Falcón
Página 168 de 208
Practicando con S4A Al lanzar la aplicación ScratchHelperApp elegimos, en nuestro caso, el puerto de comunicación COM24 y Firmata. Podemos comprobar que la extensión se encuentra activa:
Extensión activa. Susana Oubiña Falcón. (CC BY)
El indicador de Bluetooth se verá de color azul que es el indicativo de conexión o de transmisión inalámbrica activada:
Módulo Bluetooth conectado. Susana Oubiña Falcón. (CC BY)
Esta tarjeta permite trabajar no sólo en el entorno Scratch2.0 offline, sino también en el entorno S4A. Trabajar con la tarjeta S4A Board en S4A es similar Susana Oubiña Falcón
Página 169 de 208
Practicando con S4A a hacerlo con la tarjeta Arduino Uno bajo S4A. Por lo tanto, sólo debemos cargar desde el IDE de Arduino el software que necesita la tarjeta arduino en el mismo. Es decir, S4AFirmware15.ino13. Obviamente, antes de cargarlo debemos seleccionar la placa Arduino Uno y su puerto COM correspondiente. Después de cargar el archivo podemos abrir el programa S4A y tras una breve espera, la placa S4A Board es detectada por el software S4A en su puerto correspondiente. Esta detección nos muestra que la conexión se ha creado correctamente y que ya podemos abordar la programación de diferentes proyectos en el software S4A. Si cualquiera de las palancas blancas del interruptor azul de la imagen siguiente se encuentra en ON (Derecha), se atiende a su correspondiente entrada conector de cocodrilo A0, A1, A2 y A3 de la placa S4A Board. En caso contrario, cualquier palanca en OFF, el valor que recoge es el de su correspondiente entrada analógica SVG (Amarillo/Rojo/Negro).
Palancas del interruptor1 en ON. Susana Oubiña Falcón. (CC BY)
Si cualquiera de las palancas blancas del interruptor azul de la imagen se encuentra en ON (Derecha), se atiende a la unidad dual de control de motores. En el caso de que cualquiera de ellas se encuentre en OFF, desactiva esta unidad.
13
Firmware S4A: http://s4a.cat/downloads/S4AFirmware15.ino
Susana Oubiña Falcón
Página 170 de 208
Practicando con S4A
Palancas del interruptor2 en ON. Susana Oubiña Falcón. (CC BY)
La siguiente imagen nos revela que la placa se ha conectado en el puerto COM22. Es interesante conocer que las entradas analógicas 4 y 5 se corresponden, respectivamente, con el sensor de luz y el micrófono de la placa S4A Board. Las otras entradas analógicas A0, A1, A2 y A3 son los conectores SVG (Amarillo/Rojo/Negro) de la placa y se activan con el interruptor azul en OFF. En caso de estar en On, recoge los valores de los conectores exteriores de cocodrilo A0, A1, A2 y A3. En cuanto a las entradas digitales número 2 y 3, estas se corresponden con los dos pulsadores de la placa S4A Board.
Entradas Analógicas y digitales (Off). Susana Oubiña Falcón. (CC BY) Susana Oubiña Falcón
Página 171 de 208
Practicando con S4A
3.4.2. Ejemplos para Scratch Sensor Board y PicoBoard Actual Explicar las diferentes funcionalidades de la PicoBoard con el software S4A, implica aportar ejemplos de uso y programación para cada uno de sus componentes electrónicos: 1. Deslizador: nos aporta valores entre 0 y 100
Ejemplo 1: Movimiento por el eje X
Script para moverse por el eje X del escenario. Susana Oubiña Falcón. (CC BY)
Si fijo la X al valor del deslizador, sólo se moverá 100 píxeles, desde la abscisa x= 0 a x=100. Pero me interesa que recorra todo el escenario. Para que el objeto se vea completo decido que mi variable X del escenario, con el deslizador, no puede superar 175 píxeles, ni puede ser menor que -175. De esa forma, calculo el factor de corrección: (Para el valor mínimo) (Para el valor máximo) Con estas ecuaciones, el factor de corrección pasa a tomar el valor 3,5. En el script de la figura anterior, el comando de girar 5 grados en el sentido horario se ha incluido porque el objeto en cuestión es una pelota. Con este comando consigo simular un movimiento circular continuo:
Susana Oubiña Falcón
Página 172 de 208
Practicando con S4A
Escenario con el objeto “Pelota” desplazándose en el eje X en el nivel “Deslizador” 50. Susana Oubiña Falcón. (CC BY)
Ejemplo 2: Movimiento por el eje Y
De la misma forma que antes, y considerando que el objeto (pelota) tiene una altura, para que se mueva por todo el eje Y, observo que la Y no puede superar 120 píxeles, ni ser menor de -120 píxeles. Por lo tanto, el factor de corrección es 2,4. (Para el valor mínimo) (Para el valor máximo)
Susana Oubiña Falcón
Página 173 de 208
Practicando con S4A
Script para moverse por el eje Y del escenario. Susana Oubiña Falcón. (CC BY)
Escenario con el objeto “Pelota” desplazándose en el eje Y en el nivel “Deslizador” 100. Susana Oubiña Falcón. (CC BY)
2. Sonido: registra valores entre 0 (no detecta sonido) y 100 (sonido fuerte). No debemos confundir el sensor sonido con el micrófono del ordenador. El sensor sonido de la PicoBoard utiliza, para medir los sonidos, el sensor de la PicoBoard y no el micrófono del ordenador.
Ejemplo 3: El objeto emite el sonido “miau” cuando el usuario da una palmada (superando el valor de 20 en el sensor sonido). El sonido sonará más fuerte, cuanto más fuerte sea la palmada.
Susana Oubiña Falcón
Página 174 de 208
Practicando con S4A
Script de emisión de un sonido por una palmada. Susana Oubiña Falcón. (CC BY)
Ejemplo 4: movimiento del objeto con un cambio de disfraz por el escenario al dar una palmada.
Script de movimiento de un objeto por sonido. Susana Oubiña Falcón. (CC BY)
Ejemplo 5: Efectos gráficos (color, ojo de pescado, remolino, pixelizar, mosaico, brillantez y desvanecer) con el sensor sonido.
Susana Oubiña Falcón
Página 175 de 208
Practicando con S4A
Script de cambio de color de un objeto por sonido. Susana Oubiña Falcón. (CC BY)
3. Botón: Nos aporta un valor “true” (verdadero, al pulsarlo) o “false” (falso, si no está pulsado). Se puede usar para enviar cualquier orden la cual se ejecutará cuando esté el botón presionado.
Ejemplo 6: Hacer que un objeto gire siempre que se mantenga pulsado el sensor botón.
Script para girar un objeto con el sensor botón. Susana Oubiña Falcón. (CC BY)
Ejemplo 7: Decir un mensaje cuando se presione el botón
Susana Oubiña Falcón
Página 176 de 208
Practicando con S4A
Script para mostrar un mensaje cuando se presione el sensor botón. Susana Oubiña Falcón. (CC BY)
4. Luz: Registra valores entre 0 (oscuridad) y 100 (máximo de luminosidad). Podríamos usar los programas de ejemplo 3, 4 y 5, cambiando el valor del sensor sonido por el valor del sensor luz o iluminación. 5. Terminales A, B, C y D: Estos terminales requieren de unas pinzas caimán. Nos aporta un valor “Verdadero” si existe una buena conexión eléctrica entre los bordes de las pinzas.
Ejemplo 8: Usar los 4 conectores para que implementen notas musicales. El script para el sensor A sería:
Script para tocar la nota Do (C) al unir las pinzas caimán del conector A. Susana Oubiña Falcón. (CC BY)
Susana Oubiña Falcón
Página 177 de 208
Practicando con S4A Cuando se toquen las pinzas del sensor A, registrará el valor verdadero (conectado) y sonará la nota. 6. Terminales A, B, C y D con materiales y elementos eléctricos: Entre las pinzas de caimán se pueden conectar sensores. Estos componentes eléctricos poseen un valor de resistencia eléctrica. La PicoBoard, registra valores de 0 a 100 ohmnios, dependiendo del valor de resistencia eléctrica que hay entre las puntas del metal de las pinzas de caimán. Esto ofrece un montón de juego ya que entre los terminales se puede colocar cualquier material conductor y programarlo para hacer una acción. A mayores, como elemento conductor, podemos utilizar componentes eléctricos como termistores, detector magnético (para estudiar la fuerza entre imanes), sensores de humedad, de sonido, de luz, etc.
Ejemplo 9: Si entre las pinzas de caimán del conector A utilizamos un sensor de luz (fotorresistencia o LDR), el siguiente programa nos diría un mensaje si la cantidad de luz recogida de un emisor, como puede ser un flexo o la linterna de un móvil, supera un valor dado. En una LDR el valor de la resistencia disminuye con la cantidad de luz que recibe.
Script de uso de una LDR (luminosidad) con un mensaje. Susana Oubiña Falcón. (CC BY)
3.4.3. Ejemplos PicoBoard para S4A Explicar las diferentes funcionalidades de la PicoBoard para S4A (S4A Board) implica aportar algunos ejemplos de uso y programación. Esta tarjeta combina las funcionalidades de la PicoBoard con la tarjeta Arduino y ambas han sido explicadas en este documento. Por lo tanto, con el fin de no repetir, los ejemplos creados en el entorno S4A se ilustrarán de forma más resumida:
Susana Oubiña Falcón
Página 178 de 208
Practicando con S4A Ejemplo 1: Encendido de un LED por un botón. El programa que ejecuta el encendido y apagado de un led conectado al pin 13 de la S4A Board tras presionar (false) el botón digital 2, es el siguiente:
Script de control de un LED por pulsador. Susana Oubiña Falcón. (CC BY)
Hay que tener en cuenta que, inicialmente, los botones Digital 2 y 3, sin presionar, se encuentran en estado “true”:
Entradas digitales 2 y 3 en el estado true, sin pulsar. Susana Oubiña Falcón. (CC BY)
Susana Oubiña Falcón
Página 179 de 208
Practicando con S4A
Montaje de la práctica “Encendido de un LED por botón”. Susana Oubiña Falcón. (CC BY)
Ejemplo 2: Control de un LED por un botón a partir de un estado. Para controlar el estado que realiza el encendido del LED necesito de tres variables que llamo: LedOn, ValorAnterior y ValorActual. Estas variables pueden tomar dos valores: verdadero o falso. Inicialmente, las variables LedOn y ValorAnterior toman los valores “falso”. El valor de la variable ValorActual queda asociado a la acción del botón o pulsador conectado al pin digital 1 de la tarjeta S4A Board. Si se pulsa, toma el valor “verdadero” y si no se pulsa, toma el valor “falso”. El programa ejecutará el encendido y apagado de un led conectado al pin 13 de la placa S4A Board sólo si, antes de presionar el botón, el led estaba apagado. Para conseguirlo, el programa debe testear el valor de la variable ValorAnterior, valor que no puede coincidir con la variable ValorActual. Además, se debe cumplir que el diodo estuviera apagado (LedOn: falso). El programa que controla el encendido y apagado del led a partir de un estado memorizado es el siguiente:
Susana Oubiña Falcón
Página 180 de 208
Practicando con S4A
Script para control de un LED por pulsador con memoria de estado. Susana Oubiña Falcón. (CC BY)
Escenario con las variables. Susana Oubiña Falcón. (CC BY)
Susana Oubiña Falcón
Página 181 de 208
Practicando con S4A
Ejemplo 3: Control de un motor de continua. a. El programa que controla el avance y parada del rotor de un motor de continua es el siguiente:
Script de control de un motor DC. Susana Oubiña Falcón. (CC BY)
El motor se conecta (ver siguiente imagen) a las salidas D3 y D4 de la unidad de control dual de motores de la placa. A la vez, el motor debe conectarse a las salidas (color rojo) SVG D5 y D5, que se corresponden, respectivamente, con las salidas analógicas 5 y 6 que controlan el motor. Al pulsar la tecla “Flecha arriba”, el motor gira en un sentido, pero al pulsar la tecla “Flecha abajo”, el pin analógico 5 y 6 toman valores nulos y el motor deja de girar.
Esquema de conexión del motor DC en S4A Board. Susana Oubiña Falcón. (CC BY)
b. El siguiente programa controla el giro del rotor de un motor de continua, de modo que, al presionar la tecla “d” el rotor gira hacia la derecha, al pulsar la tecla “i” el rotor gira hacia la izquierda y al presionar la tecla “espacio” el motor se para. En cada movimiento se encienden o apagan diferentes diodos.
Susana Oubiña Falcón
Página 182 de 208
Practicando con S4A
Script de control de giro para un motor DC. Susana Oubiña Falcón. (CC BY)
El esquema de conexión del motor en la placa es el mismo que en el primer ejemplo. El pin analógico 5 y 6 se corresponde con el pin de salida D5 y D6 SVG (Azul/Rojo/Negro) de la placa S4A Board. Ejemplo 4: Encendido de un LED por medio de una LDR (fotorresistencia). El programa que controla el encendido y apagado de un led atendiendo al valor que adquiere una LDR es el siguiente:
Susana Oubiña Falcón
Página 183 de 208
Practicando con S4A
Script de control de Led por LDR. Susana Oubiña Falcón. (CC BY)
El valor (entre 0 y 1023) que nos aporta el sensor analógico 1 se corresponde al valor de oscuridad o claridad que detecta la LDR. Oscuridad total significa 1023 y claridad total se asociaría al valor numérico 0. El programa presenta un objeto arduino que es un fantasma. Al detectar claridad u oscuridad, envía el mensaje correspondiente al escenario para que cambie el disfraz y simule el día o la noche. El script anterior mantiene encendido el led conectado al pin 13 siempre que la habitación tenga la luz encendida. En caso contrario, oscuridad, se apagará el led. Para que la placa recoja los valores del componente electrónico que he conectado al sensor analógico 1 (SVG) de la placa, la pestaña correspondiente al pin A1 debe estar en la posición ON, tal y como se muestra en la imagen derecha.
Sensores A0, 1, 2 y 3 activos. Susana Oubiña Falcón. (CC BY)
Susana Oubiña Falcón
Página 184 de 208
Practicando con S4A El circuito físico y los diferentes escenarios pueden verse en las siguientes figuras:
Montaje de la práctica “Control del LED por LDR”. Susana Oubiña Falcón. (CC BY)
Escenario cuando la LDR detecta claridad. Susana Oubiña Falcón. (CC BY)
Susana Oubiña Falcón
Página 185 de 208
Practicando con S4A
Escenario cuando la LDR detecta oscuridad. Susana Oubiña Falcón. (CC BY)
Script del escenario de la práctica. Susana Oubiña Falcón. (CC BY)
Ejemplo 5: Control de un LED RGB Se pretende conseguir, a partir del comando “enviar a todos…. y esperar”, los siguientes colores: rojo, verde, azul, amarillo, cyan y magenta. En esta práctica usaremos un diodo Led RGB de cátodo común. Este componente presenta 4 patillas, siendo el cátodo (-) la segunda patilla y, por lo tanto, deberá ser conectarla a GND. La primera patilla se corresponde con el color rojo, la tercera con el color verde y la cuarta con el color azul.
Susana Oubiña Falcón
Página 186 de 208
Practicando con S4A
Cableado del LED RGB. Susana Oubiña Falcón. (CC BY)
Script de control de colores. Susana Oubiña Falcón. (CC BY)
El RGB está conectado a los pines analógicos 5 (rojo), 6 (verde) y 9 (azul) que se corresponden, directamente, con las entradas D5, D6 y D9 de los conectores SVG (Azul/Rojo/Negro) de la placa S4A Board.
Susana Oubiña Falcón
Página 187 de 208
Practicando con S4A
Cableado del LED RGB en S4A Board. Susana Oubiña Falcón. (CC BY)
Por lo tanto, el programa de ejecución de cada respectivo color que se desea obtener es el siguiente:
Script de colores. Susana Oubiña Falcón. (CC BY)
Susana Oubiña Falcón
Página 188 de 208
Practicando con S4A
3.5. Un dilema: ¿Cuál usar? En este documento se han descrito, ejemplificado su uso y testeado las placas K4S, NENO, Sensor Scratch Board, PicoBoard actual y S4A Board. Todas son placas comerciales y eso implica invertir en dispositivos para nuestros centros educativos. La elección entre una u otra en nuestras aulas dependerá, en gran medida, de la materia curricular en donde se pretendan aplicar, siendo todas aptas para estudiantes de los niveles educativos de primaria y secundaria. Como ayuda hacia una correcta elección, veo importante tener en cuenta lo siguiente:
Tarjetas
Aplicaciones
Prestaciones
K4S
NENO
Sensor Scratch Board
S4A
S4A
Scratch 1.4 y S4A
3 diodos y Pocos sensores y pulsadores ausencia de conectores y botón deslizador 3 diodos y Ausencia de pulsadores conectores y Sensor RGB y botón deslizador LM35 Igual que la Sin diodos PicoBoard actual
PicoBoard Actual
Scratch 2.0 online y S4A
S4A Board
Scratch 2.0 offline y S4A
Inconvenientes
Potencial Arduino
Arduino
Sencillo incluir nuevos sensores a partir de sus conectores Suficientes Sin diodos, RGB Sencillo sensores. y LM35 incluir nuevos Sensor sensores a deslizador. partir de sus Muy similar a conectores la NENO Es la más 3 diodos Arduino completa. Sencillo Unidad de incluir control para 2 nuevos motores y sensores a bluetooth partir de sus conectores
Tabla resumen de las diferentes tarjetas de sensores. Susana Oubiña Falcón. (CC BY)
Conviene matizar que el uso de una placa no excluye necesariamente a otra y se puede trabajar en conjunto. Si el proyecto lo requiere, pueden combinarse Susana Oubiña Falcón
Página 189 de 208
Practicando con S4A varias placas y conectar, por ejemplo, la tarjeta K4S a un puerto USB y la PicoBoard a otro puerto, programando los elementos de ambas hacia el objetivo deseado. El docente, en cada diferente nivel educativo, es el que debe decidir qué dispositivo los desarrollados en este libro, le aporta más funcionalidades y sopesar el coste y calidad del mismo.
Susana Oubiña Falcón
Página 190 de 208
Practicando con S4A 4. Un paso más 4.1. Convertir un archivo sb2 en sb El formato de los proyectos scratch compartidos en su web es .sb2 o .sb, respectivamente para archivos scratch2.0 y scratch1.4. El software S4A no permite compartir proyectos en la web de scratch pero genera archivos con extensión .sb. Esta característica es interesante y podemos aprovecharla. A veces nos interesa reutilizar o usar un archivo que ha sido generado con scratch 2.0 en el entorno S4A. Para abrirlo, hemos de convertir el formato .sb2 del archivo en cuestión, en el formato .sb y esto es posible usando la herramienta Retro Converter. Herramienta que ha sido creada por el usuario scratch “blob810814”. Los pasos a seguir para realizar este cambio de formato son los siguientes: 1. Necesitamos tener un archivo creado en Scratch 2.0, con su extensión correspondiente. Es el que convertiremos a Scratch1.4 2. Vamos a Retro Converter15 y cargamos el archivo (Examinar) para finalmente hacer clic en convertir (Convert!). Ver siguiente imagen:
Página de Retro Converter. Susana Oubiña Falcón. (CC BY)
3. Una vez convertido, se abre una ventana emergente que nos ofrece descargar el archivo con la extensión .sb deseada. Nota: Un archivo con extensión .sb puede convertirse en otros formatos de extensiones conocidas como .exe para Windows o .app para MAC, entre otros.
14 15
Usuario: https://scratch.mit.edu/users/blob8108/ Retro Converter: http://kurt.herokuapp.com/20to14
Susana Oubiña Falcón
Página 191 de 208
Practicando con S4A La información necesaria para realizar este cambio puede verse en el siguiente link: Porting Scratch Projects16. Por lo tanto, se puede realizar la simulación de un proyecto en Scratch 2.0 y, cuando se comprueba que funciona correctamente, se puede convertir a formato .sb e importarlo con la aplicación S4A. Para importar el proyecto a S4A vamos a Fichero -> Importar proyecto
“Importar proyecto” en S4A. Susana Oubiña Falcón. (CC BY)
Tras la importación, nuestro nuevo programa necesitará o requerirá de algunos ajustes relativos a nuevos disfraces y comandos inexistentes en scratch2.0, como los relativos al control de motores, pines digitales y analógicos, etc.
4.2. Modificación de la versión 1.6 de S4A para el control de proyectos de tecnología. 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.zip17. 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 16 17
Porting Scratch Projects: http://wiki.scratch.mit.edu/wiki/Porting_Scratch_Projects S4A16DT.zip: https://www.dropbox.com/s/eysbbe6a6b1be7z/S4A16DT.zip?dl=0
Susana Oubiña Falcón
Página 192 de 208
Practicando con S4A 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 escenario del programa S4A, al cargar la nueva imagen, sería el siguiente:
Escenario con la imagen de S4AFirmwareDT. Susana Oubiña Falcón. (CC BY)
4.3. Bye bye USB (Conexiones inalámbricas) El programa creado en el software S4A requiere de una comunicación directa entre la placa y el software. Es importante entender que S4A no carga el archivo .sb en Arduino sino que se comunica con él cada 75ms. La forma más común de comunicación es por el cable de conexión de la placa Arduino al PC, pero no es la única. A veces nos interesa formalizar otro tipo de comunicación que evite el cableado y que permita a nuestro proyecto una mayor independencia de movimiento. Tenemos dos formas, opciones o posibilidades de eludir el cableado: mediante radiofrecuencia (utilizando los módulos de RF Xbee) o a través de bluetooth. En los siguientes links se describe cómo hacerlo:
Bluetooth18 Radiofrecuencia19 (2 módulos de RF configurados bajo 38400 baudios). Información de los módulos en el siguiente link: Módulos de RF20.
18
Bluetooth: https://tecnobloc.wordpress.com/2014/07/17/arduino-s4a-hello-world-via-bluetooth/ Radiofrecuencia: http://www.tr3sdland.com/2013/05/robot-imprimible-miniskybot2-programado-con-s4a/ 20 Módulos de RF: http://ftp1.digi.com/support/documentation/manual_xb_oem-rf-modules_802.15.4_v1.xAx.pdf 19
Susana Oubiña Falcón
Página 193 de 208
Practicando con S4A 4.4. ScratchX: generalidades y PicoBoard Personalmente, considero que ScratchX es el futuro de S4A. Yo lo comparo con el Scratch 2.0 frente a Scratch 1.4. Su interfaz presenta muchas similitudes con el editor de Scratch 2.0, tal y como puede verse en la siguiente imagen:
Interfaz inicial de ScratchX. Susana Oubiña Falcón (CC-BY)
ScratchX21 es una extensión experimental de Arduino sobre Scratch. Para usarlo necesitamos cargar en la placa arduino un firmware denominado StandardFirmata22 e instalar en el ordenador el plugin de la web de scratch (el mismo que se usa para las extensiones de WeDo y PicoBoard). Esto significa que ScratchX permite trabajar conjuntamente con el robot WeDo de Lego y con la PicoBoard actual, pero eso sí, sólo en los sistemas operativos de MAC o Windows. Para ello sólo debemos conectar el dispositivo y sumarle al programa la extensión correspondiente:
Librería de extensiones de ScratchX. Susana Oubiña Falcón (CC-BY)
21
ScratchX: http://scratchx.org/?url=http://khanning.github.io/scratch-arduinoextension/arduino_extension.js%23scratch#scratch 22 Descarga del archivo StandardFirmata: http://khanning.github.io/scratch-arduino-extension/
Susana Oubiña Falcón
Página 194 de 208
Practicando con S4A Por lo tanto, podemos trabar conjuntamente con la PicoBoard y la placa Arduino. Cuando la PicoBoard está conectada, debemos hacer clic en “Añadir una Extensión” y escoger PicoBoard. Se mostrarán nuevos comandos relativos a los componentes eléctricos del dispositivo y se indicará su correcta conexión mediante un círculo o punto de color verde, tal y como se muestra en la siguiente figura:
PicoBoard Conectada. Susana Oubiña Falcón (CC-BY)
Los nuevos comandos que nos aporta la extensión del dispositivo PicoBoard son muy intuitivos y de fácil compresión. Estos son:
Susana Oubiña Falcón
Página 195 de 208
Practicando con S4A
Comandos para la tarjeta PicoBoard. Susana Oubiña Falcón (CC-BY)
Después de instalar del plugin y conectar la placa arduino al computador (con su firmware correspondiente cargado), podemos cargar la extensión experimental de arduino. Si la conexión es correcta, la extensión Arduino vendrá acompañada de un punto de color verde (indicativo de conexión o activación) y se mostrarán los nuevos comandos. Además, y muy importante, podemos trabajar a la vez con varias extensiones. Por ejemplo, PicoBoard y Arduino, entre otras.
ScratchX con la extensión de Arduino conectada. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 196 de 208
Practicando con S4A Los comandos que incluye este bloque Arduino permiten conectar y programar, de forma muy simple, 4 LEDs, 4 pulsadores, 4 motores, 1 potenciómetro (rotation knob), 1 sensor de luz y 1 sensor de temperatura.
Comandos de la extensión Arduino. Susana Oubiña Falcón (CC-BY)
La extensión de los archivos creados con ScratchX (.sbx) difiere de la del programa S4A (.sb). Por este motivo, los ficheros de ScratchX no pueden ser visionados ni abiertos por el software S4A. Entiendo y espero que este hándicap se subsane próximamente. Trabajar con ScratchX implica trabajar online y esto es un inconveniente en algunos centros educativos que dispongan de un pobre ancho de banda. Entre sus ventajas, podemos encontrar la posibilidad de utilizar extensiones experimentales que no se pueden combinar con el software S4A, como por ejemplo la extensión para el dispositivo Leap Motion, o también la mejora del potente editor de pinturas que nos proporciona la opción de manejar y trabajar Susana Oubiña Falcón
Página 197 de 208
Practicando con S4A los gráficos en formato vectorial (de esta forma se puede aumentar el tamaño de los mismos sin que éstos pierdan resolución). Las imágenes, en ScratchX al igual que en Scratch2.0, se pueden trabajar en formato bitmap o en formato vectorial, según nos interese, sin más que hacer clic en un modo u otro (parte inferior derecha del Editor de Pinturas). Eso si, por ahora no procesa adecuadamente las imágenes en formato gif.
Editor de Pinturas en modo mapa de bits. Susana Oubiña Falcón (CC-BY)
Editor de Pinturas en modo vectorial. Susana Oubiña Falcón (CC-BY)
Programar y crear con ScratchX es similar a hacerlo con S4A. En consecuencia, si un usuario es se siente competente en S4A, puede tener la certeza de que también lo es en ScratchX. En el siguiente ejemplo se muestra un vídeo que desarrolla la práctica número uno de este libro en el entorno ScrachX.
Susana Oubiña Falcón
Página 198 de 208
Practicando con S4A Ejemplo: Vídeo de la Práctica “Blink” en ScratchX https://vimeo.com/129806411
4.4.1. Leap Motion & ScratchX Leap Motion es un dispositivo que nos aporta una tecnología que puede ser interesante no sólo por ella misma, sino también porque se puede combinar con otros softwares como el programa scratch 2.0 y ahora con ScratchX, aportando motivación al alumnado. Este dispositivo sensor con tres infrarrojos (ver imagen) es capaz de detectar o captar el movimiento de nuestras manos y de cada uno de sus dedos en un espacio cúbico de 20cm de lado (20x20x20cm). Por lo tanto, nos permitirá controlar el ordenador (en nuestro caso, nuestro programa creado con ScratchX) por medio de gestos o movimientos que realizamos en el aire, ya sea por medio de los dedos o de las manos desde la muñeca, añadiendo una nueva dimensión: la profundidad (variable z de un sistema XYZ). En mi opinión, Leap Motion es un dispositivo que fomenta la motivación de nuestro alumnado. Un alumnado muy acostumbrado a interaccionar con juegos. Los usuarios incorporarán la sensación de agilidad y rapidez a sus proyectos, interaccionando con ellos como una escena de ciencia ficción donde los protagonistas, a partir de movimientos en el aire. La funcionalidad que adquiere con el ScratchX es la posibilidad de controlar los objetos que hemos creado para los programas, de tal forma que su movimiento lo realice el propio jugador interactuando con sus dedos y manos pero no desde un teclado tradicional o desde una consola externa creada, por ejemplo, con el kit Makey Makey. En un juego, esto aporta grandeza y enganche, consiguiendo que el jugador se sienta más partícipe del mismo. La siguiente imagen muestra este dispositivo rectangular y pequeño, que viene acompañado de dos cables de diferente longitud. Un extremo se conecta al Leap Motion y el otro extremo finaliza en un terminal USB que se unirá al ordenador:
Leap Motion. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 199 de 208
Practicando con S4A A. Conectar Leap Motion con ScratchX Para conectar el dispositivo Leap Motion con ScratchX debemos realizar dos simples pasos: 1. Instalar el software del dispositivo Leap Motion (sólo se realiza una vez). 2. Navegar al siguiente link: http://scratchx.org/?url=http://khanning.github.io/scratch-leapmotionextension/leapmotion_extension.js Tras aceptar la extensión experimental, se nos muestra la siguiente pantalla en donde puede observarse que el dispositivo Leap Motion está conectado (círculo verde) al programa ScratchX:
Leap Motion conectado a ScratchX. Susana Oubiña Falcón (CC-BY)
Hechos estos pasos, ya podemos comenzar a crear. B. Crear con Leap Motion bajo ScratchX Toda extensión introduce nuevos comandos con el objetivo de poder controlarla y programarla. Leap Motion nos aporta la posibilidad de programar las manos, cada uno de sus dedos, rastrear o detectar herramientas (tools) y controlar gestos. Veamos brevemente cada uno de ellos: 1. Manos La extensión es capaz de rastrear hasta dos manos a la vez. Las manos se denotan como “Mano A” y “Mano B”
Susana Oubiña Falcón
Página 200 de 208
Practicando con S4A
Comando para detectar si una mano es visible. Susana Oubiña Falcón (CC-BY)
La primera mano que detecte al controlador Leap Motion la reconocerá como la mano A, independientemente de si esta es la derecha o la izquierda. Si después detecta una segunda mano, esta la reconocerá como la mano B. 2. Dedos La extensión es capaz de rastrear hasta diez dedos a la vez. Los dedos siempre están asignados a su mano correspondiente, A o B, y cada dedo está numerado con los dígitos del 1 al 5, tal y como se detalla en la siguiente imagen.
Numeración de los dedos de la mano. Susana Oubiña Falcón (CC-BY)
3. Herramientas (Tools) La extensión es capaz de rastrear hasta dos herramientas a la vez. Una herramienta es un objeto largo y liso, como un lápiz o un palillo, y se denotan de la misma forma que las manos. Es decir, "herramienta A” o “herramienta B”.
Comando para detectar si una herramienta es visible. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 201 de 208
Practicando con S4A La primera herramienta que se hace visible al controlador Leap Motion es reconocida por este como la “herramienta A”. Si una segunda herramienta se hace visible, se programará como "herramienta B”. En la siguiente imagen se observa el script de un proyecto de scratch2.0 en el cuál el usuario dibuja e interacciona con un lápiz. Herramienta que ha sido detectada por el dispositivo Leap Motion:
Herramienta “lápiz” detectada por Leap Motion. (Fuente: Leap Motion). Susana Oubiña Falcón (CC-BY)
4. Gestos La extensión también puede detectar cuatro gestos o acciones que el usuario realiza con la mano o los dedos. Los gestos que soporta el dispositivo son:
Comando que se ejecuta cuando se detecta un gesto. Susana Oubiña Falcón (CC-BY)
Tap: Realizar un movimiento con un dedo hacia abajo. Poke (empujar): Realizar un movimiento hacia delante con un dedo. Swipe: Mover la mano con los dedos extendidos en una línea recta a través de la pantalla.
Susana Oubiña Falcón
Página 202 de 208
Practicando con S4A
Circle (círculo): Realizar un movimiento circular con un dedo.
5. Bloques de Scratch: A continuación se muestra una breve descripción de cada uno de los bloques de Scratch incluidos con la extensión Leap Motion:
Devuelve la posición X actual de una mano.
Devuelve la posición Y actual de una mano.
Devuelve la posición Z actual de una mano.
Devuelve la rotación actual de una mano.
Comprueba si una mano es visible.
Comprueba si una mano está cerrada.
Devuelve la posición X actual de un dedo.
Susana Oubiña Falcón
Página 203 de 208
Practicando con S4A
Devuelve la posición Y actual de un dedo.
Devuelve la posición Z actual de un dedo.
Comprueba si un dedo está extendido.
Devuelve la posición X actual de una herramienta.
Devuelve la posición Y actual de una herramienta
Devuelve la posición Z actual de una herramienta
Comprueba si la herramienta es visible
Se ejecuta cuando se detecta un gesto (tap, poke, swipe, circle).
Susana Oubiña Falcón
Página 204 de 208
Practicando con S4A
Espera hasta que el gesto (tap, poke, swipe, circle) sea detectado. C. Ejemplo1: Baile Leap Motion El siguiente programa representa y detecta el movimiento de los 5 dedos de una mano (mano A), así como, el movimiento del dedo índice de la segunda mano (mano B). Se incluyen dos escenarios que se intercambian cada segundo.
Un escenario del archivo. Susana Oubiña Falcón (CC-BY)
El script de escenario es muy simple, controla este cambio y la música:
Script del escenario. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 205 de 208
Practicando con S4A El programa creado se compone de 8 objetos o sprites: 5 son cada uno de los dedos de la mano A (la primera detectada), 1 objeto palma de la mano A, 1 objeto control de la mano A y 1 objeto dedo 2 de la segunda mano detectada (mano B). Este último es un comecocos.
Objetos. Susana Oubiña Falcón (CC-BY)
Los pequeños programas para cada objeto diseñado son: Palma A:
Script para el objeto “PalmaA”. Susana Oubiña Falcón (CC-BY)
Dedo 1A: (Este script es similar para cada uno de los 5 dedos de la mano A. Sólo debemos cambiar el comando que indica la posición X e Y de cada dedo por del número de dedo (finger) correspondiente en su objeto).
Susana Oubiña Falcón
Página 206 de 208
Practicando con S4A
Script para el objeto “Dedo1A”. Susana Oubiña Falcón (CC-BY)
Control 1A: Este objeto dibuja, con color azul y tamaño de lápiz 5, la posición de los dedos y palma detectada.
Script para el objeto “Control1A”. Susana Oubiña Falcón (CC-BY)
Susana Oubiña Falcón
Página 207 de 208
Practicando con S4A Dedo 2B: representa a un comecocos que aparecerá si el dispositivo Leap Motion detecta una segunda mano visible. El comecocos se situará en la posición X e y detectada por el dedo 2 (índice) de la segunda mano.
Script para el objeto “Dedo2B”. Susana Oubiña Falcón (CC-BY)
E vídeo que muestra el funcionamiento del programa puede verse en el siguiente link: "Baile Leap Motion" https://vimeo.com/134533487
Susana Oubiña Falcón
Página 208 de 208