Módulo 2: Practicando con S4A

Page 1


Módulo 2: 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 119


Módulo 2: Practicando con S4A

Módulo 2: Practicando con S4A 1. Generalidades del entorno S4A.................................................................................. 3 2. Pequeñas prácticas de robótica para secundaria en S4A .......................................... 6 Práctica 1: Blink .......................................................................................................... 6 Práctica 2: Button ...................................................................................................... 15 Práctica 3: Control de un LED por LDR .................................................................... 24 Práctica 4: Control del brillo de un LED mediante un potenciómetro ........................ 34 Práctica 5: Control de un motor de continua a través del L293D .............................. 44 Práctica 5B: Control de un motor de continua a través de I298N ............................. 60 Práctica 6: Detección de un objeto por medio del sensor de ultrasonidos ............... 66 Práctica 7: Control de giro y velocidad de un servomotor ......................................... 77 Práctica 8: Control del color de un LED RGB ........................................................... 85 Práctica 9: Detección de un objeto por medio del sensor óptico de IR ..................... 97 Práctica 10: Control de un display 7 segmentos ..................................................... 111

Susana Oubiña Falcón

Página 2 de 119


Módulo 2: Practicando con S4A 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 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)

1 2

Descarga: http://s4a.cat/index_es.html Link de descarga de S4AFirmware15.ino: s4a.cat/downloads/S4AFirmware15.ino

Susana Oubiña Falcón

Página 3 de 119


Módulo 2: Practicando con S4A Entradas, read, digitales. Susana Oubiña Falcón (CC-BY)

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 4 de 119


Módulo 2: 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 5 de 119


Módulo 2: 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 6 de 119


Módulo 2: 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 7 de 119


Módulo 2: 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 8 de 119


Módulo 2: 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 9 de 119


Módulo 2: 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 10 de 119


Módulo 2: 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 11 de 119


Módulo 2: 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 12 de 119


Módulo 2: 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 13 de 119


Módulo 2: 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 14 de 119


Módulo 2: 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 15 de 119


Módulo 2: 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 16 de 119


Módulo 2: 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 17 de 119


Módulo 2: 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 18 de 119


Módulo 2: 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 19 de 119


Módulo 2: 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 20 de 119


Módulo 2: 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 21 de 119


Módulo 2: 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 22 de 119


Módulo 2: 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 23 de 119


Módulo 2: 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 24 de 119


Módulo 2: 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 25 de 119


Módulo 2: 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 26 de 119


Módulo 2: Practicando con S4A

Tabla de colores para el cálculo de la R

Susana Oubiña Falcón

Página 27 de 119


Módulo 2: 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 28 de 119


Módulo 2: 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 29 de 119


Módulo 2: 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 30 de 119


Módulo 2: 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 31 de 119


Módulo 2: 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 32 de 119


Módulo 2: 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 33 de 119


Módulo 2: 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 34 de 119


Módulo 2: 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 35 de 119


Módulo 2: 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 36 de 119


Módulo 2: 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 37 de 119


Módulo 2: 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 38 de 119


Módulo 2: 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 39 de 119


Módulo 2: 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 40 de 119


Módulo 2: 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 41 de 119


Módulo 2: 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 42 de 119


Módulo 2: 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 43 de 119


Módulo 2: 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 44 de 119


Módulo 2: 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 45 de 119


Módulo 2: 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 46 de 119


Módulo 2: 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 47 de 119


Módulo 2: 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 48 de 119


Módulo 2: 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 49 de 119


Módulo 2: 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 50 de 119


Módulo 2: 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 51 de 119


Módulo 2: 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 52 de 119


Módulo 2: 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 53 de 119


Módulo 2: 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 54 de 119


Módulo 2: 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 55 de 119


Módulo 2: 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 56 de 119


Módulo 2: 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 57 de 119


Módulo 2: 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 58 de 119


Módulo 2: 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 59 de 119


Módulo 2: 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 60 de 119


Módulo 2: 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 61 de 119


Módulo 2: 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 62 de 119


Módulo 2: 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 63 de 119


Módulo 2: 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). El montaje final es el siguiente:

Susana Oubiña Falcón

Página 64 de 119


Módulo 2: 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 65 de 119


Módulo 2: 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 66 de 119


Módulo 2: 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 67 de 119


Módulo 2: 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 68 de 119


Módulo 2: 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 69 de 119


Módulo 2: 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 70 de 119


Módulo 2: 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 71 de 119


Módulo 2: 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 72 de 119


Módulo 2: 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 73 de 119


Módulo 2: 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 74 de 119


Módulo 2: 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 comprendido entre 0 y 1024, en 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 de 0 a 1024, realizamos un cambio de escala dividiendo el valor del sensor A0 entre 10. Cuando situamos algo delante del sensor, variará su tamaño y su color:

Susana Oubiña Falcón

Página 75 de 119


Módulo 2: Practicando con S4A

“Ejemplos con el sensor Sharp” en S4A. Susana Oubiña Falcón (CC-BY)

Susana Oubiña Falcón

Página 76 de 119


Módulo 2: 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 77 de 119


Módulo 2: 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 78 de 119


Módulo 2: 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 79 de 119


Módulo 2: 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 80 de 119


Módulo 2: 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 81 de 119


Módulo 2: 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 82 de 119


Módulo 2: 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 83 de 119


Módulo 2: 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 84 de 119


Módulo 2: 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 85 de 119


Módulo 2: 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 86 de 119


Módulo 2: 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 87 de 119


Módulo 2: Practicando con S4A

Muestra de diferentes R

Tabla de colores para el cálculo de la R

Susana Oubiña Falcón

Página 88 de 119


Módulo 2: 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 89 de 119


Módulo 2: 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 90 de 119


Módulo 2: 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 91 de 119


Módulo 2: 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 92 de 119


Módulo 2: 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 93 de 119


Módulo 2: 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 94 de 119


Módulo 2: 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 95 de 119


Módulo 2: 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 96 de 119


Módulo 2: 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 97 de 119


Módulo 2: 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 98 de 119


Módulo 2: 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 99 de 119


Módulo 2: 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 100 de 119


Módulo 2: 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 101 de 119


Módulo 2: 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 102 de 119


Módulo 2: 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 103 de 119


Módulo 2: 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 104 de 119


Módulo 2: Practicando con S4A

Disfraces del objeto Barrera. Susana Oubiña Falcón (CC-BY)

Susana Oubiña Falcón

Página 105 de 119


Módulo 2: 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 106 de 119


Módulo 2: 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 107 de 119


Módulo 2: 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 108 de 119


Módulo 2: 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 109 de 119


Módulo 2: 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 110 de 119


Módulo 2: 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 111 de 119


Módulo 2: 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 112 de 119


Módulo 2: 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 113 de 119


Módulo 2: 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 114 de 119


Módulo 2: 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 115 de 119


Módulo 2: 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 116 de 119


Módulo 2: 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 117 de 119


Módulo 2: 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 118 de 119


Módulo 2: 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 119 de 119



Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.