100% encontró este documento útil (2 votos)
1K vistas

Arduino Blocks Practicas

Este documento presenta una serie de actividades guiadas para aprender a programar con la placa Imagina TDR STEAM utilizando el lenguaje de programación visual Arduinoblocks. Explica cómo funciona un sistema de control programado y describe los componentes de la placa Imagina TDR STEAM, incluyendo sensores, actuadores y puertos de conexión. Además, detalla doce actividades para trabajar con elementos como LEDs, zumbador, pulsadores, potenciómetro, sensor de luz, temperatura y humedad.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (2 votos)
1K vistas

Arduino Blocks Practicas

Este documento presenta una serie de actividades guiadas para aprender a programar con la placa Imagina TDR STEAM utilizando el lenguaje de programación visual Arduinoblocks. Explica cómo funciona un sistema de control programado y describe los componentes de la placa Imagina TDR STEAM, incluyendo sensores, actuadores y puertos de conexión. Además, detalla doce actividades para trabajar con elementos como LEDs, zumbador, pulsadores, potenciómetro, sensor de luz, temperatura y humedad.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 123

Actividades con Imagina TDR STEAM y

ArduinoBlocks.

Versión 3.0
Índice

1 Introducción. ....................................................................................... 3
2 Cómo funciona un sistema de control programado. ............................ 5
3 Componentes de la placa Imagina TDR STEAM. ............................... 7
4 Placa de control Keyestudio UNO (compatible con Arduino UNO). ..... 9
5 Programación con Arduinoblocks. ..................................................... 14
6 Instalación de Arduinoblocks............................................................. 16
7 Actividades con la placa Imagina TDR STEAM. ................................ 18
7.1 A01. El led. ................................................................................. 21
7.1.1 A01.1. ON/OFF led rojo. ....................................................... 22
7.1.2 A01.2. ON/OFF led rojo y azul. ............................................. 24
7.1.3 A01.3. ON/OFF led rojo y azul con repeticiones. .................. 25
7.2 A02. El led RGB. ........................................................................ 26
7.2.1 A02.1. Identificación de colores RGB. .................................. 29
7.2.2 A02.2. Múltiples colores con el led RGB. .............................. 30
7.2.3 A02.3. Control de intensidad del led RGB............................. 32
7.2.4 A02.4. Regulación de la intensidad del led RGB. ................. 33
7.2.5 A02.5. Más control de la intensidad del led RGB. ................. 35
7.3 A03. El zumbador. ...................................................................... 36
7.3.1 A03.1. Primeros sonidos con el zumbador............................ 39
7.3.2 A03.2. Escalas musicales con el zumbador. ......................... 40
7.3.3 A03.3. Notas musicales con el zumbador. ............................ 41
7.3.4 A03.4. Melodías con RTTTL. ................................................ 42
7.4 A04. El pulsador. ........................................................................ 43
7.4.1 A04.1. Control ON/OFF de un led con un pulsador I............. 45
7.4.2 A04.2. Control ON/OFF de un led con un pulsador II. ........... 47
7.4.3 A04.3. Control ON/OFF de un led con un pulsador III. .......... 49

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 1


7.5 A04. El potenciómetro. ............................................................... 51
7.5.1 A05.1. Lectura de valores con el puerto serie. ...................... 53
7.5.2 A05.2. Ajuste de valores de entrada y salida: mapear. ......... 56
7.5.3 A05.3. Control del led RGB con el potenciómetro. ................ 58
7.6 A06. La fotocélula (LDR – sensor de luz). .................................. 60
7.6.1 A06.1. Encender y apagar un led según el nivel de luz. ....... 62
7.7 A07. Sensor de temperatura LM35D. ......................................... 63
7.7.1 A07.1. Lectura del valor de la temperatura. .......................... 65
7.7.2 A07.2. Alarma por exceso de temperatura............................ 68
7.8 A08. Sensor de temperatura y humedad DHT11. ....................... 70
7.8.1 A08.1. Zona de confort con DHT11. ..................................... 72
7.9 A09. Receptor de infrarrojos (IR). ............................................... 76
7.9.1 A09.1. Recepción de comandos por infrarrojos. ................... 78
7.10 A10. Puertos de expansión I2C: pantalla LCD. .......................... 80
7.10.1 A10.1. Pantalla LCD 16x2. ................................................. 82
7.11 A11. El micrófono. ...................................................................... 85
7.11.1 A11.1. Nivel de sonido con el micrófono. ........................... 86
7.12 A12. Termohigrómetro. .............................................................. 88
8 Actividades de ampliación con Imagina TDR STEAM. ...................... 90
8.1 A13.1. Serial plotter. ................................................................... 91
8.2 A14.1. Serial plotter con varios sensores. .................................. 94
8.3 Sistemas de comunicaciones: Bluetooth y Wifi. ......................... 96
8.3.1 A15.1. Módulo Bluetooth. ..................................................... 97
8.3.1.1 A15.1.1. AppInventor2. .................................................... 98
8.3.1.2 A15.1.2. Arduinoblocks. ................................................. 100
8.3.1.3 A15.1.3. Programación avanzada con Bluetooth. .......... 108
8.3.2 A16.2. Módulo Wifi. ............................................................ 114
8.3.2.1 A16.2.1. ThingSpeak. .................................................... 115
8.3.2.2 A16.2.2. Arduinoblocks. ................................................. 118
8.3.2.3 A16.2.3. ThingView. ....................................................... 120

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 2


1 Introducción.

El presente manual pretende ser una herramienta base para iniciarse en el


mundo de la programación, la electrónica y la robótica utilizando para ello la
placa basada en Arduino: Imagina TDR STEAM (sobre una placa
Keyestudio UNO). La placa Imagina TDR STEAM es una shield
(placa/escudo). Significa que es una placa que tiene que ir colocada sobre
otra que contiene el sistema de control. En este caso, sobre una placa
Keyestudio UNO. La placa Imagina TDR STEAM tiene numerosos sensores
y actuadores que te permitirán hacer infinidad de proyectos.

En este documento no pretende ser únicamente un manual para aprender


programación. El manual presenta una serie de actividades guiadas para
aprender a programar de una manera entretenida y divertida mientras

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 3


aprendemos conceptos relacionados con las S.T.E.A.M. (Science,
Technology, Engineering, Arts, Math).

Para realizar la programación con la placa Imagina TDR STEAM


utilizaremos un lenguaje de programación visual basado en bloques llamado
Arduinoblocks, Hay quien podría pensar que un lenguaje de este estilo es
muy básico y limitado, pero ya veremos a lo largo del manual la gran
potencialidad y versatilidad que tiene este programa.

Con la placa Imagina TDR STEAM tenemos la mayoría de sensores y


actuadores que necesitamos para poder introducirnos en el mundo de la
programación de entornos físicos (Physical Computing).

Página del entorno de programación: Arduinoblocks.


www.arduinoblocks.com
Página de información: Didactrónica.
www.didactronica.com
Página para comprar material: Innova Didactic.
shop.innovadidactic.com
INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 4
2 Cómo funciona un sistema de control programado.

Un sistema de control programado funciona de manera similar a la de un ser


humano. Cuando nuestro cerebro recibe información de los sentidos; oído,
olfato, gusto, vista y tacto; analiza esta información, la procesa y da órdenes
a nuestros músculos para realizar movimientos o estímulos a las cuerdas
vocales para emitir sonidos; los 5 sentidos equivalen a entradas de
información y la voz los músculos serían las salidas sonoras y motrices.

En el caso de un sistema de control programado, un chip hace la función de


cerebro. Este chip se llama microcontrolador y tiene unas entradas de
información donde se conectan los sensores de luz (LDR), temperatura
(NTC), sonido… y también tiene salidas, donde se conectan los motores,
leds, zumbadores, etc.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 5


La diferencia principal es que, así como nuestro cerebro ha ido aprendido lo
que tiene que hacer a lo largo de nuestra vida a base de estímulos positivos
y negativos, el sistema programado tiene su memoria vacía, es decir, no
sabe lo que debe hacer. Entonces nosotros tenemos que decirle como tiene
que actuar en función de las señales que recibe de los sensores.

En todo sistema de control automático, los sensores (entradas) convierten


las magnitudes físicas, químicas, etc. en eléctricas, creando así la
información. Esta información se envía a la unidad de control (proceso) que
procesa dicha información y genera las órdenes mediante señales eléctricas
que serán convertidas en los actuadores (salidas) en otro tipo de
magnitudes.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 6


3 Componentes de la placa Imagina TDR STEAM.

La placa Imagina TDR STEAM es una placa didáctica desarrollada por el


equipo ROBOLOT que presenta la gran ventaja de tener una gran cantidad
de sensores, actuadores y conexiones de expansión incorporados
directamente en ella. Únicamente hay que conectar esta placa a una placa
Arduino UNO (en nuestro caso, una placa compatible llamada Keyestudio
UNO) y ya está todo listo para empezar a programar.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 7


Tabla con la relación de elementos que hay en la placa Imagina TDR
STEAM y sus conexiones:

Pin de
Sensor/ Actuador/ Módulo
conexión
1 Dos pulsadores (SW1, SW2) D2 y D7
2 Dos leds (Azul Led3 y Rojo Led4) D13 y D12
3 Led RGB D6-D9-D10
4 Módulo DHT11 Sensor de Temperatura y Humedad D4
5 Zumbador o Piezoeléctrico D8
6 Dos puertos (Entradas/Salidas) digitales D3 y D5
7 Módulo receptor de infrarrojos (IR) D11
8 Módulo potenciómetro giratorio A0
9 Sensor de luminosidad (LDR) A1
10 Sensor de temperatura (LM35) A2
SDA-A4
11 Interface I2C compatible con sensores y módulos Keyestudio
SCL-A5
12 Puerto Entrada Analógico A3
13 Conexión de comunicaciones Bluetooth y Wifi (Swich On/Off) Rx - Tx
14 Botón de reinicio. -

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 8


4 Placa de control Keyestudio UNO (compatible con
Arduino UNO).

La placa de control necesaria para la placa Imagina TDR STEAM está


basada en una Arduino UNO. Arduino es una plataforma de prototipos
electrónicos de código abierto (Open-Source) basada en hardware y
software libre, flexibles y fáciles de usar. Esta plataforma permite crear
diferentes tipos de sistema para diferentes usos. Puede ser empleada por
artistas, diseñadores, ingenieros, profesores, alumnos, etc., y en general,
cualquier persona que esté interesada en crear objetos o entornos
interactivos.

Arduino puede reconocer el entorno mediante la recepción de señales de


entradas desde una variedad de sensores muy grande y puede actuar con
los elementos que tiene a su alrededor.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 9


Al ser hardware libre existen multitud de fabricantes que han desarrollado
versiones basadas en Arduino. Uno de esos fabricantes es Keyestudio.

La placa Keyestudio UNO lleva un microcontrolador que está basado en el


ATmega328. Tiene 14 pines digitales de entrada / salida (de los cuales 6 se
pueden usar como salidas PWM), 6 entradas analógicas, un cristal de

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 10


cuarzo de 16 MHz, una conexión USB, un conector de alimentación, un
encabezado ICSP y un botón de reinicio.

Especificaciones:
 Voltaje de funcionamiento: + 5V
 Voltaje de entrada externo: + 7V ~ + 12V. (Límite: +6 V. <+ 20 V).
 Corriente de interfaz DCI / O: 20mA
 FlashMemory: 32 KB (ATmega328) de los cuales 0,5 KB utilizados por el gestor
de arranque
 Capacidad de almacenamiento EEPROM: 1KB
 Frecuencia del reloj: 16MHZ
 Microcontrolador ATmega328P-PU
 Pines de E / S digital 14 (de los cuales 6 proporcionan salida PWM)
 Pines de E / S digitales PWM 6 (D3, D5, D6, D9, D10, D11)
 Pines de entrada analógica 6 (A0-A5)
 LED_BUILTIN D13

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 11


Las conexiones de la placa TDR STEAM con la placa Keyestudio UNO son
las siguientes:

Conexión Descripción Tipo


D0 Rx Comunicación
D1 Tx PC/Bluetooth/Wifi
D2 Pulsador SW1 Entrada digital
D3 Libre E/S digital
D4 DHT11 (sensor de humedad + Entrada digital
temperatura)
D5 Libre E/S digital
D6 RGB (rojo) Salida digital
D7 Pulsador SW2 Entrada digital
D8 Zumbador Salida digital
D9 RGB (verde) Salida digital
D10 RGB (azul) Salida digital
D11 Sensor infrarrojos Entrada digital
D12 Led rojo Salida digital
D13 Led azul Salida digital
A0 Potenciómetro Entrada analógica
A1 LDR (sensor de luz) Entrada analógica
A2 LM35 (sensor de temperatura) Entrada analógica
A3 Libre Entrada analógica
A4 SDA
I2C
A5 SCL

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 12


Para realizar la programación la podemos hacer mediante la IDE de Arduino
o mediante Arduinoblocks. Como podemos ver son dos sistemas diferentes.
En la IDE de Arduino la programación se realiza mediante instrucciones
(izquierda en la fotografía) y en Arduinoblocks se realiza mediante bloques.

Utilizar Arduinoblocks simplifica y hace más inteligible el código, lo que


permite iniciarse en el mundo de la programación de un modo más
amigable. Arduinoblocks también permite programar de diversas formas, ya
que tiene bloques que realizan las mismas funciones pero que se pueden
entender de forma más sencilla.

En la siguiente imagen se hace una comparación de código entre


Aduinoblocks y Arduino IDE.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 13


5 Programación con Arduinoblocks.

Arduinoblocks es un lenguaje de programación gráfico por “Bloques” creado


por el profesor Juanjo López. Está pensado para que niños y niñas aprendan
a programar con placas Arduino a partir de unos 8 años.

Los distintos bloques sirven para leer y escribir las distintas entradas y
salidas de la placa, así como programar funciones lógicas, de control, etc.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 14


En este manual usaremos Arduinoblocks dedicado al uso de la placa
Imagina TDR STEAM, con estos bloques podremos programar las entradas
y salidas de nuestra placa para que realice las tareas que queramos.

Podemos programar Arduinoblocks de diferentes maneras ya que tiene


múltiples bloques. También permite exportar el código para la IDE de
Arduino.

Para este manual utilizaremos, principalmente, la programación que se


muestra en medio, ya que es más fácil de entender.

ArduinoBlocks ArduinoBlocks
(Entrada/Salida) (Sensores/Actuadores)

Arduino IDE (código)

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 15


6 Instalación de Arduinoblocks.

Arduinoblocks trabaja on-line pero tenemos que instalar un pequeño


programa que será el encargado de conectar nuestro programa con la placa
Keyestudio UNO.

Primero deberemos crear una cuenta en Arduinoblocks y después instalar


el software Connector.

 Para crear una cuenta en Arduinoblocks:

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 16


 Para instalar Connector:

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 17


7 Actividades con la placa Imagina TDR STEAM.

A continuación, os proponemos una serie de actividades y prácticas para


aprender a programar vuestras placas Kesyestudio UNO R.3 y la placa
Imagina TDR STEAM paso a paso para que realice infinidad de tareas.
 A01. El led.
 A02. El led RGB.
 A03. El zumbador.
 A04. El pulsador.
 A05. El potenciómetro.
 A06. La fotocélula (LDR – sensor de luz).
 A07. Sensor de temperatura LM35D.
 A08. Sensor de temperatura y humedad DHT-11.
 A09. Sensor de infrarrojos (IR).
 A10. Puertos de expansión I2C: pantalla LCD 16x2.
 A11. Micrófono.
 A12. Termohigrómetro.

Los aprendizajes que realizaremos en cada práctica son los siguientes:


A.01 Led.
 Componente electrónico: Led.
 Programación:
o Iniciación a Arduinoblocks.
o Inicializar – Bucle.
o LED.
o Entradas – Salidas – Tiempo.
o Repeticiones.

A.02 Led RGB.


 Componente electrónico: Led RGB.
 Programación:
o Led RGB.
o Regulación (salida digital -> analógica: PWM).
INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 18
o Contador.
o Variables.

A.03 Zumbador.
 Componente electrónico: Zumbador.
 Programación:
o Zumbador.

A.04 Pulsador.
 Componente: Pulsador.
 Programación:
o Pulsador.
o Condicional.

A.05 Potenciómetro.
 Componente: Potenciómetro.
 Programación:
o Potenciómetro.
o Puerto serie.
o Mapear.
o Rangos (condicionales encadenados).

A.06 LDR
 Componente: LDR.
 Programación:
o LDR.

A.07 Sensor de temperatura LM35D.


 Componente: Sensor de temperatura LM35D.
 Programación:
o Funciones.

A.08 Sensor de temperatura y humedad DHT-11


 Componente: Sensor de temperatura y humedad DHT11.
 Programación:
o Sensor de temperatura y humedad DHT11.
o Condicionales dobles.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 19


A.09 Receptor IR.
 Componente: Receptor IR.
 Programación:
o Receptor IR.

A.10 Puertos de expansión I2C: Pantalla LCD.


 Componente: LCD.
 Programación:
o I2C.
o LCD.

A.11 Micrófono.
 Componente: Micrófono.
 Programación:
o Micrófono.

A.12 Termohigrómetro.
 Componente: -.
 Programación: Bloques TDR STEAM.

En las actividades, primero hay una explicación del componente electrónico


que se va a utilizar y, a continuación, una descripción de la práctica a realizar
(pueden ser más de una práctica). Por último, se propone una actividad de
ampliación.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 20


7.1 A01. El led.

Práctica A01. El led.

Vamos a empezar con nuestro primer programa que será encender y apagar
el led rojo correspondiente al pin D12.

Un LED (Diodo Emisor de Luz) es un diodo semiconductor que emite luz.


Se usan como indicadores en muchos dispositivos, y cada vez con mucha
más frecuencia en iluminación. Los leds presentan muchas ventajas sobre
las fuentes de luz incandescente como un consumo de energía mucho
menor, mayor tiempo de vida, menor tamaño, gran durabilidad y fiabilidad.

El led tiene una


polaridad, un orden de
conexión, y al conectarlo
al revés se puede
quemar.

La placa Imagina TDR STEAM dispone de dos leds (uno azul y otro rojo),
conectados en los pines D13 (azul) y D12 (rojo)

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 21


7.1.1 A01.1. ON/OFF led rojo.

Práctica A01.1. ON/OFF led rojo.

Entramos en Arduinoblocks en el tipo de proyecto para la placa Arduino


UNO. Seleccionaremos el bloque de Actuadores.

Clicamos sobre el bloque 1


y lo arrastramos sobre el
área de programación.

Fíjate que en el área de


programación hay dos
bloques verdes (Inicializar y
Bucle) y que podríamos
meter nuestro bloque del led
en cualquiera de ellos (Los
bloques cuando son compatibles encajan como un puzle). Pues bien, todo
lo que se meta dentro del bloque de Inicializar sólo se ejecutará la primera
vez que se inicie el programa, mientras que si se colocan dentro del Bucle
se ejecutarán una y otra vez hasta que apaguemos la placa.

Vamos a meter nuestro bloque de led en el Bucle y cambiamos al pin 12. El


led puede tener dos estados; ON/OFF, que podemos cambiar en el menú
despegable.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 22


Si sólo dejamos este bloque con el led en estado ON, este quedaría
encendido para siempre, para que se apague deberemos meter el estado
OFF.

Pero este programa no es correcto del todo. No hay tiempos que indiquen
cuanto tiempo tiene que estar encendido o apagado el led. Necesitamos ir
al bloque de TIEMPO y seleccionar Esperar (valor) milisegundos (recuerda:
1.000 milisegundos son 1 segundo).

Ahora tenemos el led encendido durante 1 segundo y apagado otro.

Actividad de ampliación: prueba ahora de hacer una intermitencia más


rápida (500ms ON y 250ms OFF).

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 23


7.1.2 A01.2. ON/OFF led rojo y azul.

Práctica A01.2. ON/OFF led rojo y azul.

Como hemos comentado anteriormente la placa dispone de dos leds (rojo y


azul), vamos a realizar un programa para que se vayan alternando su
encendido y apagado.

Actividad de ampliación: prueba ahora de hacer que los leds rojo y azul se
enciendan a la vez y con los siguientes tiempos: 500ms ON y 250ms OFF.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 24


7.1.3 A01.3. ON/OFF led rojo y azul con repeticiones.

Práctica A01.3. ON/OFF led rojo y azul con repeticiones.

Imagina que queremos hacer un ciclo de repetir 5 veces el encendido y


apagado del led rojo antes de que se encienda el azul. Para realizar esta
acción lo podemos hacer de la siguiente forma: en el menú de CONTROL
existe el bloque “Repetir (valor) veces hacer…”

En el siguiente programa fíjate como el led rojo se enciende y apaga cada


medio segundo (500ms) 5 veces y después se queda el led azul encendido
durante 4 segundos (4000ms).

Actividad de ampliación: prueba ahora de hacer que el led rojo se encienda


10 veces cada vez que el led azul se enciende 3 veces (puedes utilizar un
tiempo de 500ms).

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 25


7.2 A02. El led RGB.

Práctica A02. El led RGB.

Un led RGB es un led que incorpora en su mismo encapsulado tres leds.


Las siglas RGB corresponden a: R (red=rojo), G (Green=verde) y B
(blue=azul). Con estos tres colores, en óptica, se puede formar cualquier
color, ajustando de manera individual la intensidad de cada color. Los tres
leds están unidos por el negativo o cátodo (RGB de cátodo común).

En Arduino, cada uno de esos leds podría tomar 256 colores diferentes, es
decir, el Rojo podría ir desde 0 hasta 255, el verde de 0 a 255 y el azul de 0
a 255, en total un led RGB podría dar más de 16,5 millones de colores
diferentes.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 26


La placa Imagina TDR STEAM dispone de un led RGB conectado a los
pines (D6-R, D9-G y D10-B). Estos tres pines son PWM para permitir regular
su intensidad.

La modulación PWM permite general una señal analógica mediante una


salida digital. Utiliza un sistema de codificación de 8 bits (en el sistema
binario: 28 = 256, per tanto, del 0 al 255).

Continuando con la práctica anterior, ahora vamos a controlar el brillo de un


led utilizando el PWM. Pero lo primero de todo, ¿Qué significa PWM? Bien,
PWM es la abreviatura de Pulse-Width Modulation (modulación de ancho
de pulso).

Las salidas digitales de Arduino sólo


tienen dos estados: ALTO/BAJO,
ON/OFF, ENCENDIDO/APAGADO.
Es decir, corresponden a una salida
de 5 V (ON) y de 0 V (OFF). Con esto
sólo podemos hacer actividades de
encender y apagar un led, no
podríamos controlar su brillo de
menos a más o viceversa. Esto lo
realiza por la proporción entre el
estado alto (ON) y bajo (OFF) de la
señal. El control digital se utiliza para
crear una onda cuadrada de ciclo de
trabajo diferente, una señal
conmutada entre encendido y

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 27


apagado. Este patrón de encendido y apagado puede simular voltajes entre
encendido total (5 voltios) y apagado (0 voltios) al cambiar la parte del
tiempo que la señal pasa en comparación con el tiempo que la señal pasa.
La modulación de ancho de pulso, o PWM, es una técnica para obtener
resultados analógicos con medios digitales. Se utiliza mucho para controlar
leds, velocidades de motores, producción de sonidos, etc.

La placa Keyestudio UNO tiene un total de 6 salidas PWM, que son digitales
3, 5, 6, 9, 10 y 11, pero en la placa Imagina TDR STEAM sólo se puede
controlar por PWM el led RGB (pines 6, 9 y 10) y los pines 3 y 5 que están
libres para conectar elementos externos-.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 28


7.2.1 A02.1. Identificación de colores RGB.

Práctica A02.1. Identificación de colores RBG.

Con este sencillo programa vamos a identificar cada color del led RGB con
su pin correspondiente.

Sólo enciende el led


correspondiente al PIN 6

Sólo enciende el led


correspondiente al PIN 9

Sólo enciende el led


correspondiente al PIN 10

Actividad de ampliación: prueba ahora de ir activando varios leds a la vez


para ver qué color aparece (puedes guiarte con la imagen siguiente).

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 29


7.2.2 A02.2. Múltiples colores con el led RGB.

Práctica A02.2. Múltiples colores con el led RBG.

Arduinoblocks tiene bloques específicos para facilitar al máximo la


programación de los leds RGB. Si vamos al menú “ACTUADORES” nos
encontramos con el bloque “Led RGB”

Al utilizar ese bloque debemos cambiar la numeración de los pines para


hacerlo corresponder con los de la placa Imagina TDR STEAM. Deberán
quedar así:

Comprueba como al clicar sobre el icono del color se


desplegará una paleta de colores para que puedas
elegir cualquier color.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 30


Ahora realiza el siguiente programa y comprueba su funcionamiento:

Actividad de ampliación: prueba ahora de ir cambiando los tiempos y los


colores que se van mostrando.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 31


7.2.3 A02.3. Control de intensidad del led RGB.

Práctica A02.3. Control de la intensidad del led RBG.

El rango de VALOR lo podemos variar desde 0 hasta 255, de tal modo que,
si el valor es 0, el led estará totalmente apagado y, si el valor es 255, el led
brillará al máximo. Haremos un programa que muestre la intensidad máxima
(ON) y mínima (OFF) del led RGB rojo.

Actividad de ampliación: prueba ahora de ir cambiando los colores R-G-B.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 32


7.2.4 A02.4. Regulación de la intensidad del led RGB.

Práctica A02.4. Regulación de la intensidad del led RBG.

Ahora vamos a hacer que el


brillo del led RGB varíe.
Empezaremos introduciendo
un valor de 0 en el PWM para
ir aumentándolo de 50 en 50
unidades hasta llegar a 255.
Haremos una espera de 200
milisegundos entre un
aumento de valor y otro. El
programa quedaría como
este:

Imagínate que en lugar de


incrementar los valores de 50 en 50
lo quisieras hacer de 1 en 1, tendrías
que tener 255 bloques más otros
tantos de esperas… Como verás
esta forma de programar no es muy
efectiva, es muy repetitiva y tendría
muchos bloques. Existe un bloque
con el que podríamos hacer esto de
una manera mucho más sencilla. Es
el siguiente bloque:

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 33


Este bloque tiene un concepto muy utilizado en programación que son las
VARIABLES. En este bloque la variable se llama i (nombre que se puede
cambiar). A grandes rasgos, una variable es una “cajita” en la cual se van
introduciendo diferentes valores que el programa utilizará según necesite.

Este sería el programa de ir aumentando el brillo de un LED de 1 en 1 desde


0 hasta 255 con una espera de 25 milisegundos.

En el programa inicialmente el valor de la VARIABLE i vale 1, cada vez que


repite el bucle su valor va aumentado de 1 en 1.

Para introducir el Valor del


PWM, del bloque del LED, la
variable i, debemos ir a
Variables, seleccionar el
segundo bloque y en el menú
desplegable seleccionar i.

Actividad de ampliación: intenta completar el programa haciendo que el brillo


del LED ascienda de 0 a 255 y luego descienda de 255 a 0 (sólo tendrás
que intercambiar los valores en cada ciclo).

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 34


7.2.5 A02.5. Más control de la intensidad del led RGB.

Práctica A02.5. Más control de la intensidad del led RBG.

Pero Arduinoblocks aún nos guarda una sorpresa más. Tiene un bloque
específico dentro del menú ACTUADORES en el cual podemos programar
los tres colores del led RGB por PWM directamente.

Basándote en el ejercicio anterior, prueba con este programa:

Actividad de ampliación: prueba ahora de hacer diferentes colores utilizando


este bloque.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 35


7.3 A03. El zumbador.

Práctica A03. El zumbador.

El zumbador (Buzzer en inglés) es un transductor electroacústico que


produce un sonido o zumbido continuo o intermitente. En función de si se
trata de un zumbador Activo o Pasivo, este
zumbido será del mismo tono o le podremos
variar. Sirve como mecanismo de
señalización o aviso y se utiliza en múltiples
sistemas, como en automóviles o en
electrodomésticos, incluidos los
despertadores.

La placa Imagina TDR STEAM tiene un zumbador pasivo que está


conectado en el pin D8.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 36


Arduinoblocks tiene 4 bloques específicos para programar el zumbador
están en el menú de ACTUADORES.

El zumbador puede ser conectado


en cualquiera de los pines digitales
y también en los analógicos, pero
esto último no es recomendable.
En nuestro caso sólo es viable en
el PIN D8.

¿Qué es la frecuencia? La
frecuencia es el número de
repeticiones por unidad de tiempo
de cualquier evento periódico.
Sabemos que el sonido se
transmite en forma de onda y la
frecuencia de un sonido es el
número de oscilaciones o
variaciones de la presión por
segundo, nos indica cuantos
ciclos por segundo tiene una
onda, dándonos una idea de la
rapidez con que se producen.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 37


En la siguiente tabla están las frecuencias de las notas musicales:

Programa con las frecuencias de cada nota:

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 38


7.3.1 A03.1. Primeros sonidos con el zumbador.

Práctica A03.1. Primeros sonidos con el zumbador.

En el bloque Zumbador podemos variar dos parámetros; Ms (Milisegundos)


(1) es el tiempo que dura cada sonido y Tono (2), que es la frecuencia a la
que vibra la membrana para emitir el sonido.

1 2

Prueba con este sencillo programa para ver cómo suena.

Actividad de ampliación: cambia ligeramente el programa introduciendo


unas esperas entre un sonido y otro para ver las diferencias que aparecen.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 39


7.3.2 A03.2. Escalas musicales con el zumbador.

Práctica A03.2. Escalas musicales con el zumbador.

Vamos a hacer una escala de DO4 a DO5 utilizando estos valores de la tabla
de notas y frecuencias.

Actividad de ampliación: intenta tocar esta melodía utilizando el zumbador.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 40


7.3.3 A03.3. Notas musicales con el zumbador.

Práctica A03.3. Notas musicales con el zumbador.

Es un poco engorroso tener que estar introduciendo los valores de cada


frecuencia en cada nota. Para solucionar esto Arduinoblocks dispone de otro
bloque en el menú ACTUADORES, el TONO
(Hz). De esa forma podremos programar el
zumbador sin necesidad de usar las
frecuencias.

Actividad de ampliación: prueba de hacer la canción anterior utilizando las


notas musicales.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 41


7.3.4 A03.4. Melodías con RTTTL.

Práctica A03.4. Melodías con RTTTL.

¿Qué es eso de melodías RTTTL? RTTTL (Ring Tone Text Transfer


Language) es un lenguaje muy simple, creado por Nokia con el objetivo
inicial de definir de forma sencilla partituras musicales en formato texto para
móviles.

¿Y cómo puedo usar melodías


RTTTL con mi placa Imagina TDR
STEAM y Arduinoblocks? Pues
es muy sencillo, sólo necesitas
estos dos bloques:

Haz este programa y fíjate la cantidad de melodías que tienes disponibles


al clicar sobre el menú desplegable del bloque RTTTL;

Actividad de ampliación: prueba con diferentes melodías.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 42


7.4 A04. El pulsador.

Práctica A04. El pulsador.

En la siguiente actividad vamos a utilizar el pulsador. Previamente debemos


recordar la diferencia entre un pulsador y un interruptor. Un interruptor es un
dispositivo que abre o cierra en paso de la corriente eléctrica, por ejemplo,
los interruptores de la luz de nuestras casas, cada vez que los pulsamos
cambian de estado y permanecen en él hasta ser pulsados de nuevo. Sin
embargo, un pulsador sólo se activa mientras dure la pulsación volviendo a
su estado inicial en el momento
en el que se deje de tocarlo. ¿Os
imagináis que el timbre de
vuestra casa fuera un interruptor
y no un pulsador?

Hay dos tipos de pulsadores;


los NA (normalmente abierto)
o los NC (normalmente
cerrado), con lo que al pulsarlo
se activará la función inversa
de la que en ese momento
este realizando.

La placa Imagina TDR STEAM


tiene dos pulsadores de
nominados SW1 y SW2 que
van asociados a los pines D2
y D7 respectivamente.

Ahora vamos a realizar un programa en el cual al pulsar sobre el pulsador


se encienda el led y se apague cuando no lo pulsemos. En el menú de
SENSORES encontramos los dos bloques correspondientes al pulsador y
el pulsador filtrado.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 43


INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 44
7.4.1 A04.1. Control ON/OFF de un led con un pulsador I.

Práctica A04.1. Control ON/OFF de un led con un pulsador I.

Para realizar este programa necesitamos conocer unas de las funciones


más utilizadas en programación, las funciones del menú “Lógica” con las
funciones de condición.

Condiciones “Si…hacer”.

Se trata del famoso bucle Si (if en inglés) que es uno de los pilares de la
programación, ya que permite evaluar estados y tomar decisiones en
consecuencia.

Funciona como una oración condicional en español, si se cumple la


condición incluida en su primer apartado, entonces se realiza la acción
incluida en su segundo aparado. En caso contrario, no se hace nada.

En el apartado de condiciones se pueden introducir multitud de factores:


estado de sensores (analógicos o digitales), comparaciones, igualdades,
operaciones matemáticas, etc.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 45


Usando el bloque lógico condicional de “Si…. Hacer…” el programa
quedaría como la imagen, pero ¿qué va a ocurrir? Pruébalo.

No se apaga el led azul nunca, esto no es lógico, en ningún momento del


programa decimos que el led tenga que estar en la posición OFF.

Con este otro programa al pulsar el SW1 se enciende el led azul y al pulsar
el SW2 se apaga.

Actividad de ampliación: prueba ahora de apaga los dos leds con el pulsador
SW1 y encenderlos con SW2.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 46


7.4.2 A04.2. Control ON/OFF de un led con un pulsador II.

Práctica A04.2. Control ON/OFF de un led con un pulsador II.

Necesitar dos pulsadores para tener que controlar un solo Led no parece la
mejor opción, necesitamos introducir un “SINO”. Usando un único debemos
poner una nueva condición; un SINO para en ella cambiar el estado del led
a OFF. Para ello debemos ampliar el condicional de la siguiente manera;

Haciendo clic sobre el símbolo del engranaje


señalado con la flecha roja en la imagen, nos aparece
un cuadro con funciones con las que podemos
ampliar el condicional “Si”.

Hay dos opciones que se consiguen arrastrando los


bloques como se aprecia en las siguientes imágenes:

Opción A

Opción B

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 47


Veremos ejemplos del uso de estas variantes a lo largo de diferentes
programas en este documento. Pero continuando con esta actividad,

realizaremos un programa que al pulsar el pulsador se encenderá el led y


sino, se apagará.

¿Sabes lo que es el código Morse? Es un sistema de representación de


letras y números mediante señales emitidas de forma intermitente. Estas
señales pueden ser luminosas como con nuestro Led o también podrían ser
acústicas utilizando el zumbador.
Este es el código Morse:

Actividad de ampliación: haz una


máquina de código Morse que envíe un
mensaje de ayuda (SOS).

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 48


7.4.3 A04.3. Control ON/OFF de un led con un pulsador III.

Práctica A04.3. Control ON/OFF de un led con un pulsador III.

En esta actividad vamos a hacer que el Led AZUL se quede en estado


encendido o apagado pulsando una sola vez el pulsador SW1. Empecemos
viendo la diferencia entre estos dos bloques: “PULSADOR” y “PULSADOR
FILTRADO”

Hagámonos las siguientes preguntas; ¿Cada vez que apretamos un


pulsador lo hacemos durante el mismo tiempo? ¿Cada persona acciona el
pulsador durante el mismo tiempo? La respuesta es no. Esa es la razón del
uso del bloque de “pulsador filtrado”, gracias a este bloque el problema lo
tenemos solucionado. Sólo detecta una pulsación bien al ser pulsado o al
ser soltado.

En el programa que vamos a hacer a continuación necesitamos asegurarnos


que cada vez que accionamos el pulsador sea detectado como una sola
señal ya que vamos a realizar un contador.
Para hacer el contador vamos a utilizar una variable que la llamaremos
“ESTADO”.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 49


En INICIALIZAR establecemos la variable a 0 y la llamamos ESTADO

El contador consiste en ir sumando una unidad a la variable “ESTADO” cada


vez que se dé al pulsador, esto se consigue de la siguiente manera; En un
condicional al accionar pulsador, la variable tendrá su valor inicial más 1.
Por ejemplo; al inicio del programa la variable “ESTADO” tiene un valor de
0, al dar al pulsador su nuevo valor será igual a 0+1; al volver a dar al
pulsador su valor será 1+1; al volver a pulsar 2+1….

De esa manera, cuando “ESTADO” tiene un valor de 0 el LED estará


apagado, cuando “ESTADO” tenga un valor de 1 el LED estará encendido y
cuando se vuelva a dar al pulsador el valor de “ESTADO” será 2 y se le
mandará volver a un valor de 0 por lo que el LED estará apagado
nuevamente. Este sería el programa;

Actividad de ampliación: intenta hacer el mismo programa, pero más


simplificado (utilizando menos instrucciones).

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 50


7.5 A04. El potenciómetro.

Práctica A05. El potenciómetro.

Un potenciómetro es una resistencia cuyo valor es variable ya que son un


tipo de resistencias especiales que tienen la capacidad de variar su valor
cambiando de forma mecánica su posición. Con ellos indirectamente, se
puede controlar la intensidad de corriente que fluye por un circuito si se
conecta en paralelo, o
controlar el voltaje al
conectarlo en serie. Son
adecuados para su uso como
elemento de control en los
aparatos electrónicos como el
control de volumen, brillo, etc.

La placa Imagina TDR STEAM


tiene un potenciómetro
denominado “Rotation” que
van asociado al pin A0. Las
entradas A(número) son
entradas analógicas, así que
empezamos con el uso de
este tipo de entradas. Este
potenciómetro permite realizar
un giro de unos 270º (3/4 de
vuelta).

La diferencia entre un sensor analógico y digital es que mientras este


último, el digital, sólo permite dos tipos de entradas, 0-1, alto-bajo, high-low,
on-off, un sensor analógico puede tener infinidad de valores. En Arduino, las
entradas analógicas pueden tener 210 valores (10 bits de resolución), es
decir, valores comprendidos entre 0 y 1023.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 51


En el menú de sensores de Arduinoblocks, disponemos de un bloque
específico para realizar programas utilizando el potenciómetro de nuestra
placa.

En el desplegable del bloque del sensor, podemos elegir su lectura en


porcentaje (%) o en valor (de 0 a 1023).

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 52


7.5.1 A05.1. Lectura de valores con el puerto serie.

Práctica A05.1. Lectura de valores con el puerto serie.

Para realizar una lectura de los valores del sensor es necesario utilizar la
consola serie que nos ofrece Arduinoblocks, vamos a ver como se hace.
En primer lugar, generamos una variable a la que llamaremos
“VALORPOTEN”. Vamos al menú “Variables” y seleccionamos
“Establecer…… =…”

Ahora fijaremos el valor de la variable al valor del potenciómetro tal y como


está en la imagen.

Para cambiar el nombre de la variable clicaremos sobre el menú


desplegable del bloque de la variable y elegiremos Variable nueva… nos
aparecerá una ventana en la que escribiremos el nuevo nombre y daremos
aceptar.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 53


Es importante establecer la variable con el valor del potenciómetro dentro
del BUCLE ya que si sólo se hace en INICIALIZAR el valor siempre será el
mismo a lo largo de todo el programa. En otras ocasiones interesa
establecer las variables en el inicio, pero es este caso no.

Continuando con el programa, ahora nos faltan los bloques del Puerto
Serie. El primero que debemos utilizar es el Iniciar Baudios 9.600 que
siempre lo colocaremos en el Inicio y después el bloque Enviar….

Fíjate como queda el programa:

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 54


Dentro del bloque Enviar… debemos colocar el valor de la variable creada
(VALORPOTEN).

Sube el programa y después clica sobre el botón de Consola.

Se abrirá la siguiente ventana y clicaremos sobre el botón conectar. De esa


manera podremos ver cada segundo el valor de nuestro potenciómetro. Ve
girando el potenciómetro y mira cómo van cambiando los valores.

Actividad de ampliación: prueba ahora quitando el tic de Salto de línea a ver


qué sucede.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 55


7.5.2 A05.2. Ajuste de valores de entrada y salida: mapear.

Práctica A05.2. Ajuste de valores de entrada y salida: mapear.

Existe un pequeño “problema” entre las entradas y las salidas en Arduino.


Las entradas trabajan con 10 bits (210 valores = 0 a 1023) y las salidas
trabajan a 8 bits (28 valores = 0 a 255). Debido a esto, debemos realizar un
cambio de escala. A este cambio de escala se le llama “mapear”.

En el menú “Matemáticas” existe un bloque llamado “mapear”. Este bloque


permite modificar el rango de un valor o variable desde un rango origen a
un rango destino. Esta función es especialmente útil para adaptar los valores
leídos de sensores o para adaptar valores a aplicar en un actuador.

En esta actividad vamos a imaginar que con el potenciómetro queremos


definir el SetPoint de un calefactor y sus límites están en un rango entre 16
y 35ºC. Para ello definiremos una variable, llamada SetPoint, al valor
mapeado del potenciómetro.

Ampliaremos el programa anterior para realizar lecturas por el puerto serie


utilizando el nuevo bloque de “crear texto con...”. Fíjate como al clicar sobre
el símbolo del mecanismo podemos ampliar las líneas añadiendo “varNum”
a la parte derecha.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 56


Después añade el bloque y termina el programa como la imagen;

Por último, carga el programa, abre la consola serie y comprueba las


lecturas moviendo el potenciómetro.

Actividad de ampliación: cambia ahora el rango de salida y el texto que envía


por el puerto serie.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 57


7.5.3 A05.3. Control del led RGB con el potenciómetro.

Práctica A05.3. Control del led RGB con el potenciómetro.

En la siguiente actividad vamos a controlar los colores del led RGB utilizando
el potenciómetro. Vamos a hacer que cambie de color según varíe el valor
del potenciómetro. Es decir, cuando el valor del potenciómetro se encuentre
entre 0 y 100 que el color del led sea rojo, cuando se encuentre entre 101 y
200 que sea verde y cuando esté entre 201 y 300 que sea azul.

Del menú “Lógica” vamos a necesitar dos nuevos bloques; el bloque de


“Evaluar condición“, y el bloque de “Conjunción/Disyunción”. Con ellos
crearemos estas condiciones:

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 58


El programa quedaría como muestra la imagen;

Actividad de ampliación: completa el programa con más condiciones y más


colores.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 59


7.6 A06. La fotocélula (LDR – sensor de luz).

Práctica A06. La fotocélula (LDR – sensor de luz).

Ahora que ya sabemos usar el Puerto Serie para leer los valores de los
sensores, vamos a utilizarlo para ver el valor de una fotocélula (LDR).

¿Qué es una LDR? Una LDR (Light Dependent Resistor) es un resistor que
varía su valor de resistencia eléctrica
dependiendo de la cantidad de luz que
incide sobre él. El valor de la resistencia
disminuye con el aumento de intensidad de
luz incidente.

En la placa Imagina TDR


STEAM la fotorresistencia está
denominada como “Light” y
viene conectada en el Pin
analógico A1.

En el menú “Sensores” de Arduinoblocks hay un bloque específico para el


uso de este sensor.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 60


En este bloque también se puede seleccionar el tipo de lectura del valor del
sensor en % o en unidades de 0 a 1023.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 61


7.6.1 A06.1. Encender y apagar un led según el nivel de luz.

Práctica A06.1. Encender y apagar un led según el nivel de luz.

En esta actividad vamos a simular en el encendido automático de una farola


cuando se hace de noche. Utilizando la LDR y el led azul vamos a hacer que
cuando la LDR esté a oscuras se ilumine el led azul.

El programa es muy sencillo. Hay que generar una variable que la


llamaremos “Nivel_LUZ” y la estableceremos al sensor LDR. Recuerda
seleccionar el Pin A1 y la lectura en %.

Por último, un condicional en el cual cuando el valor sea menor de 20 que


se encienda el led, sino que permanezca apagado.

Actividad de ampliación: haz un programa leyendo los valores de la LDR por


el puerto serie.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 62


7.7 A07. Sensor de temperatura LM35D.

Práctica A07. Sensor de temperatura LM35D.

En la siguiente actividad vamos a medir la temperatura de una habitación


utilizando el sensor de temperatura LM35D. El LM35D tiene un rango de
temperatura de 0º a 100º ℃ y una sensibilidad de 10mV/ºC.

La placa Imagina TDR STEAM dispone de este sensor LM35D y está


conectado en el Pin analógico A2. En el menú “Sensores” de Arduinoblocks
hay un bloque específico para el uso de este sensor.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 63


Recuerda que para programar ele sensor hay que elegir el Pin A2.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 64


7.7.1 A07.1. Lectura del valor de la temperatura.

Práctica A07.1. Lectura del valor de la temperatura.

Para ello vamos a repasar el concepto de variables. Lo vimos inicialmente


con la práctica del LED en la que incrementábamos y disminuíamos su brillo
utilizando una variable “i”. En esta ocasión vamos a profundizar un poco
más.

Las variables son elementos muy comunes en programación. Básicamente,


crear una variable es darle un nombre a un dato o a una lectura. Por ejemplo,
las mediciones de valores de temperatura las podemos guardar en una
variable que se llame “Temperatura” o las del sensor de ultrasonidos en una
llamada “Distancia”, etc. No es obligatorio su uso, pero nos permiten
trabajar más cómodamente, además, como podemos personalizar su
nombre, ayudan a clarificar el código y utilizar un lenguaje más natural.

Al trabajar con variables vamos a tener dos tipos de bloques principales:


 El bloque en el que le damos valor a la variable:

 Y el bloque de la propia variable creada, para poder insertarla y


combinarla con otros bloques:

También podemos personalizar el nombre de la variable, de la siguiente


forma:

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 65


Una vez creada la nueva variable, podemos seleccionarla haciendo clic
sobre el desplegable:

Ten en cuenta que las variables solo


pueden estar formadas por una
palabra. Si quieres incluir varias
palabras, puedes usar el truco de
separarlas con una barra baja “_”,
como en el ejemplo, “Valor_Temperatura”.

Ahora vamos a realizar el programa, recuerda el programa que hicimos para


fijar el SetPoint con el Potenciómetro. Esto programa será igual, pero
cambiaremos el valor del potenciómetro por el valor del sensor de
temperatura.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 66


Sube el programa a la placa, conecta la consola serie y comprueba los
resultados.

Actividad de ampliación: haz un programa que muestre datos más rápido y


que muestre otro texto.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 67


7.7.2 A07.2. Alarma por exceso de temperatura.

Práctica A07.1. Alarma por exceso de temperatura.

Ahora vamos a hacer una alarma sonora y acústica. El programa consistirá


en hacer que el led rojo y el zumbador se accionen a la vez cuando el sensor
de temperatura detecte una temperatura superior a 28ºC.

Para ello vamos a utilizar las Funciones. Las funciones permiten agrupar
bloques de código. Esto es útil cuando un bloque de código se repite en
varias partes del programa y así evitamos escribirlo varias veces o cuando
queremos dividir el código de nuestro programa en bloques funcionales para
realizar un programa más entendible.

Las funciones nos permiten


realizar tareas que se repiten a lo
largo del programa. En el menú
“Funciones” tenemos el bloque
“para () hacer algo”. Lo
utilizaremos para crear nuestra
función como la siguiente imagen.

Debes escribir el nombre de


ALARMA dentro de la función. Al
hacer esto automáticamente en
el menú “Función” aparecerá un
nuevo bloque llamado ALARMA.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 68


El programa final sería el siguiente:

Actividad de ampliación: haz un programa que varíe el programa anterior


para que encienda de color verde el led RGB si la temperatura inferior a los
28ºC y rojo si la temperatura es superior a los 35ºC. En el rango intermedio
se indicará de color azul.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 69


7.8 A08. Sensor de temperatura y humedad DHT11.

Práctica A08. Sensor de temperatura y humedad DHT11.

En esta actividad vamos a leer los valores de temperatura y humedad


utilizando el sensor DHT11. Este sensor mide temperaturas en un rango de
acción de 0ºC a +50ºC con un error de +/- 2ºC y la humedad relativa entre
20% y 90% con un error de +/-5%. No es un sensor con una gran
sensibilidad, pero cumple nuestros objetivos sobradamente.

El sensor de temperatura es un termistor tipo NTC. Un


termistor es un tipo de resistencia (componente
electrónico) cuyo valor varía en función de la temperatura
de una forma más acusada que una resistencia común.
Su funcionamiento se basa en la variación de la resistividad que presenta
un semiconductor con la temperatura.

El término proviene del inglés “thermistor", el cual es un acrónimo de las


palabras Thermally Sensitive Resistor (resistencia sensible a la
temperatura). Existen dos tipos fundamentales de termistores:
 Los que tienen un coeficiente de temperatura negativo (en inglés
Negative Temperature Coefficient o NTC), los cuales decrementan su
resistencia a medida que aumenta la temperatura.
 Los que tienen un coeficiente de temperatura positivo (en inglés
Positive Temperature Coefficient o PTC), los cuales incrementan su
resistencia a medida que aumenta la temperatura.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 70


La placa Imagina TDR STEAM
dispone de un sensor DHT11
conectado al pin D4. En un
principio podríamos pensar que se
trataría de un sensor analógico o
que tuviera dos entradas, una para
la temperatura y otra para la
humedad. Pero las propias
características de diseño del
sensor, hace que se puedan
realizar todas las lecturas por un
solo puerto digital.

En Arduinoblocks en el menú de sensores tenemos el bloque específico


para programar este sensor:

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 71


7.8.1 A08.1. Zona de confort con DHT11.

Práctica A08.1. Zona de confort con DHT11.

Puede definirse confort térmico, o más propiamente comodidad


higrotérmica, como la ausencia de malestar térmico. En fisiología, se dice
que hay confort higrotérmico cuando no tienen que intervenir los
mecanismos termorreguladores del cuerpo para una actividad sedentaria y
con una indumentaria ligera. Esta situación puede registrarse mediante
índices que no deben ser sobrepasados para que no se pongan en
funcionamiento los sistemas termorreguladores (metabolismo, sudoración y
otros).

Según la imagen adjunta


vamos a marcar unos puntos
de temperatura y humedad
en los que estaremos dentro
de la zona de confort térmico,
dentro de una zona de medio
confort y fuera de la zona de
confort.

Usando el Led RGB vamos a indicar esas zonas:


 Led RGB en ROJO; fuera de la zona de confort.
 Led RGB en NARANJA; dentro de la zona media.
 Led RGB en VERDE; en la zona de confort.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 72


A grandes rasgos estos serían los valores de las tres zonas:
 Zona ROJA:
o Humedad por debajo del 20% y superior al 85%.
o Temperatura por debajo de 16ºC o superior a 26,5ºC.
 Zona NARANJA:
o Humedad entre el 20% y el 40% y entre el 65% y el 85%.
o Temperatura entre los 16ºC y los 18ºC o entre los 24 y los
26,5ºC.
 Zona VERDE:
o Humedad entre 40% y el 65%.
o Temperatura entre 18ºC y 24ºC.

Para no complicar en exceso el programa de ejemplo, vamos a quedarnos


sólo con la zona verde, es decir, el LED brillará en VERDE dentro de los
parámetros de la Zona VERDE, para el resto el Led estará parpadeando en
color ROJO.

Para realizar este programa


necesitaremos varios de los bloques
del menú de Lógica. Necesitaremos
evaluar una condición Lógica y utilizar
conjunciones y disyunciones.
 “Y” Se cumple si los dos
operandos son verdaderos.
 “O” Se cumple si alguno de los
dos operandos es verdadero.

Antes de evaluar las condiciones debemos establecer las dos variables; la


variable Temperatura y la variable Humedad. Recuerda que en el menú
desplegable del sensor DHT-11 debes elegir la Temperatura o la Humedad
y que está conectado al pin D4;

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 73


Usando 3 bloques de conjunciones debes crear el siguiente bloque:

Después ir metiendo las condiciones en cada uno de ellos:

Y ve uniendo todo hasta conseguir esta condición final:

Por último, debes crear una función, que la puedes llamar “Alarma”, mira
como el dar un color negro al led RGB es apagarlo.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 74


Y con todo esto, el programa final quedaría así:

Actividad de ampliación: realiza un programa con las tres zonas por colores.
Ten cuidado con las zonas donde se unen los rangos, ya que si el valor es
justo (por ejemplo 40) deberás poner el símbolo >= o <=. También puedes
mostrar los valores de humedad y temperatura por el puerto serie.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 75


7.9 A09. Receptor de infrarrojos (IR).

Práctica A08. Receptor de infrarrojos (IR).

Una gran parte de los electrodomésticos utilizan mandos a distancia de


infrarrojos, como los televisores o equipos musicales. El sensor infrarrojo es
un dispositivo optoelectrónico capaz de medir la radiación electromagnética
infrarroja de los cuerpos en su campo de visión. Todos los cuerpos emiten
una cierta cantidad de radiación, esta resulta invisible para nuestros ojos,
pero no para estos aparatos electrónicos, ya que se encuentran en el rango
del espectro justo por debajo de la luz visible.

En el caso del receptor de infrarrojos (IR) de la placa


IMAGINA TDR STEAM permite codificar los protocolos de
señales de pulsos infrarrojos utilizados por los mandos a
distancia. Los protocolos detectados son los siguientes:
RC5, RC6, NEC, SONY, PANASONIC, JVC, SAMSUNG,
WHYNTER, AIWA, LG, SANYO, MITSUBISHI y DENON.
Es decir, detectaría cualquier señal emitida por uno de
esos mandos.

El mando a distancia contiene un circuito interno, un


procesador y un led (Light Emitting Diode) que emite la
señal infrarroja.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 76


La señal infrarroja transmite el código correspondiente al botón del mando
a distancia pulsado y lo transmite al dispositivo en forma de una serie de
impulsos de luz infrarroja. Pensemos en el código Morse, que ya vimos en
una de las prácticas anteriores, y sus tonos cortos y largos. De forma
análoga, los pulsos de luz infrarroja transmitidos son de dos tipos, los
llamados 0 y 1. Los 0 podrían verse como los tonos cortos y los 1 como los
tonos largos. El receptor IR recibe la serie de impulsos de infrarrojos y los
pasa a un procesador que descodifica la serie de 0 y 1 en los bits digitales
para después realizar la función que programemos.

En la placa IMAGINA TDR


STEAM el sensor receptor
IR se encuentra conectado
al pin digital D11. En el menú
de “Sensores” de
Arduinoblocks tenemos dos
bloques para programar
nuestro receptor IR, uno
propio del sensor y otro para
el mando.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 77


7.9.1 A09.1. Recepción de comandos por infrarrojos.

Práctica A09.1. Recepción de comandos por infrarrojos.

Vamos a realizar una pequeña actividad en la que utilicemos el receptor IR


y el mando emisor de Keyestudio. Primero crearemos una variable a la que
llamaremos “codigo” (sin acento) y la estableceremos con el bloque del
Receptor IR;

Seguidamente estableceremos la siguiente igualdad y lo haremos como


condición para encender el Led RGB en color Rojo.

Podemos completar el programa dando distintas acciones a distintos


botones, en este caso sólo usaremos las flechas, pero igualmente podrían
ser los números.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 78


Actividad de ampliación: realiza un programa con el que puedas ver qué
códigos envía el mando y muéstralos por el puerto serie.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 79


7.10 A10. Puertos de expansión I2C: pantalla LCD.

Práctica A10. Puertos de expansión I2C: pantalla LCD.

El estándar I2C (Inter-Integrated Circuit) fue desarrollado por Philips en 1982


para la comunicación interna de dispositivos electrónicos en sus artículos.
Posteriormente fue adoptado progresivamente por otros fabricantes hasta
convertirse en un estándar del mercado.

I2C también se denomina TWI (Two Wired Interface) únicamente por


motivos de licencia. No obstante, la patente caducó en 2006, por lo que
actualmente no hay restricción sobre el uso del término I2C.

El bus I2C requiere únicamente dos cables para su funcionamiento, uno


para la señal de reloj (CLK) y otro para el envío de datos (SDA), lo cual es
una ventaja frente al bus SPI. Por contra, su funcionamiento es un poco más
complejo, así como la electrónica necesaria para implementarla.

En el bus, cada dispositivo dispone de una dirección, que se emplea para


acceder a los dispositivos de forma individual. Esta dirección puede ser
fijada por hardware (en cuyo caso, frecuentemente, se pueden modificar los
últimos 3 bits mediante “jumpers” o interruptores, o por software.

En general, cada dispositivo conectado al bus debe tener una dirección


única. Si tenemos varios dispositivos similares tendremos que cambiar la
dirección o, en caso de no ser posible, implementar un bus secundario.
INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 80
El bus I2C tiene una arquitectura de tipo maestro-esclavo. El dispositivo
maestro inicia la comunicación con los esclavos, y puede mandar o recibir
datos de los esclavos. Los esclavos no pueden iniciar la comunicación (el
maestro tiene que preguntarles), ni hablar entre si directamente.

El bus I2C es síncrono. El maestro proporciona una señal de reloj, que


mantiene sincronizados a todos los dispositivos del bus. De esta forma, se
elimina la necesidad de que cada dispositivo tenga su propio reloj, de tener
que acordar una velocidad de transmisión y mecanismos para mantener la
transmisión sincronizada (como en UART)

A este bus de comunicaciones se le pueden conectar múltiples dispositivos:


 Pantalla LCD.
 Pantalla OLED.
 Matriz de leds.
 Acelerómetros.
 Giroscopios.
 Sensores de temperatura.
 Controladores de servomotores.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 81


7.10.1 A10.1. Pantalla LCD 16x2.

Práctica A10.1. Pantalla LCD 16x2.

Vamos a realizar la conexión de una pantalla LCD (16x2). La pantalla LCD


utilizada es una pantalla de 16 caracteres (por fila) y dos columnas. Esta
pantalla tiene 4 conexiones, dos cables (SDA y SCL para el bus de
comunicaciones I2C) y los dos cables de alimentación (VCC y GND).

Conectaremos la pantalla LCD a la placa Imagina TDR STEAM en el


conector indicado:

Hemos de tener cuidado y respetar las conexiones, tal y como se indica en


la siguiente tabla:
TdR STEAM Color Cable LCD
GND Negro GND
VCC Rojo VCC
SDA Amarillo SDA
SCL Blanco SCL

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 82


Conexión de los cables a la pantalla y a la placa Imagina TDR STEAM.

En la pantalla aparecerán correctamente los datos cuando la coloquemos


es esta posición, sino se verán al revés:

En la configuración de la pantalla hemos de seleccionar la dirección de


configuración 0x27.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 83


Vamos a realizar un programa que muestre una información inicial por la
pantalla LCD. Después se realizará un control de iluminación del led rojo
RGB y mostrará en la pantalla LCD el valor de iluminación. Se realizará la
iluminación de mínimo a máximo y otra vez a mínimo.

Actividad de ampliación: modifica el programa para que muestre otra


información al inicializar y que la intensidad del led vaya en incrementos de
5 unidades. Utiliza la variable de “temps” para ajustar el tiempo entre los
intervalos.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 84


7.11 A11. El micrófono.

Práctica A11. El micrófono.

El micrófono que vamos a utilizar debemos conectarlo a una entrada


analógica. Como tenemos libre la entrada A3, utilizaremos esta entrada.

Conectaremos los cables respetando los colores como se muestra en la


tabla siguiente:
TDR STEAM Color Cable Micrófono
GND negro G (GND)
VCC rojo V (VCC)
A3 azul S (Señal)

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 85


7.11.1 A11.1. Nivel de sonido con el micrófono.

Práctica A11.1. Nivel de sonido con el micrófono.

Vamos a realizar un pequeño programa en el que veamos por el puerto serie


el nivel de sonido. Se puede utilizar cualquiera de los dos bloques de
ejemplo.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 86


También se pueden mostrar los datos por la pantalla LCD.

Actividad de ampliación: modifica el programa para que muestre los datos


tanto por la pantalla LCD como por el puerto serie.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 87


7.12 A12. Termohigrómetro.

Práctica A12. Termohigrómetro.

Ahora vamos a utilizar los bloques propios que tiene Arduinoblocks para la
placa Imagina TDR STEAM. Estos bloques solamente son accesibles si
cuando creamos el proyecto seleccionamos esta placa (en lugar de la placa
Arduino UNO).

En esta práctica vamos a utilizar el sensor de temperatura y humedad


DHT11. Si la humedad detectada es superior a 80 se encenderá en rojo el
led RGB y si es inferior de color verde. Deberá mostrar los datos de
temperatura y humedad en la pantalla LCD.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 88


Ahora puedes probar también con la temperatura. Vamos a hacer un
programa que también tenga en cuenta la temperatura.

Actividad de ampliación: modifica el programa con diferentes rangos de


medición y de colores (igual que en la práctica A08.1.).

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 89


8 Actividades de ampliación con Imagina TDR STEAM.

A continuación, os proponemos una serie de actividades de ampliación para


poder sacar mayor partido a las placas Keyestudio UNO R.3 e Imagina
TDR STEAM.
 A13. Serial plotter.
 A14. Serial plotter con varios sensores.
 A15. Comunicación Bluetooth.
 A16. Comunicación Wifi.

A.13 Serial plotter.


 Componente: -.
 Programación:
o Serial plotter.

A.14 Serial plotter con varios sensores.


 Componente: -.
 Programación:
o Serial plotter.

A.15 Comunicaciones: Bluetooth.


 Componente: Módulo Bluetooth.
 Programación:
o Módulo Bluetooth.

A.16 Comunicaciones: Wifi.


 Componente: Módulo Wifi.
 Programación:
o Módulo Wifi.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 90


8.1 A13.1. Serial plotter.

Práctica A13.1. Serial plotter.

Vamos a realizar un programa muy sencillo e interesante que nos permitirá


ver los datos del potenciómetro en forma de gráfica y los podremos exportar
en formato CSV para poder tratarlos posteriormente. Con este programa
conseguiremos realizar un sistema de adquisición de datos.
Este es el programa en Arduinoblocks que hemos confeccionado.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 91


Enviamos el programa a la placa y activamos el Serial Plotter.

Pondremos la velocidad de comunicación (baudrate) a 115200 y después


pulsaremos Conectar para empezar a ver los datos.

Para poder guardar los datos en CSV hemos de apretar el botón de


grabación, adquirir los datos que queremos y apretar el botón de parar
grabación.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 92


Podremos ver la cantidad de muestras recogidas.

Ahora pulsamos en el botón CSV para guardar los datos en nuestro


ordenador y poder trabajar con el fichero de datos creado.

Actividad de ampliación: modifica el programa para que muestre los datos


ahora de otro sensor.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 93


8.2 A14.1. Serial plotter con varios sensores.

Práctica A14.1. Serial plotter con varios sensores.

Vamos a realizar un programa que permita ver 4 sensores a la vez. Para


ello deberemos tener en cuenta las escalas en las que trabaja cada sensor.

Adquiriremos los valores del potenciómetro, el nivel de luz de la LDR y los


valores de humedad y temperatura del sensor DHT-11. Para estar en
escalas aproximadas los valores del potenciómetro y la luz las trataremos
en % (valores entre 0 y 100) y la humedad y temperatura en sus valores
normales (humedad entre 0 y 100, y temperatura entre 0 y 40 aprox.).

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 94


Actividad de ampliación: crea un fichero CSV con 500 datos y ábrelo desde
Excel para ver los datos.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 95


8.3 Sistemas de comunicaciones: Bluetooth y Wifi.

En la placa TDR STEAM disponemos de un puerto de comunicaciones serie


que nos permite conectar módulos Bluetooth o Wifi. Además, dispone de un
interruptor para poder conectarlos o desconectarlos ya que utiliza los
mismos pines Rx/Tx que para comunicarse con el ordenador).
Estado del interruptor:
 OFF: comunicación con el ordenador.
 ON: comunicación con los diferentes módulos Bluetooth o Wifi,

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 96


8.3.1 A15.1. Módulo Bluetooth.

Práctica A15.1. Módulo Bluetooth.

Para poder hacer la comunicación por Bluetooth con nuestra placa Imagina
TDR STEAM hemos de conectar un módulo Bluetooth (en nuestro caso
utilizaremos un módulo HC-06).
Primero conectaremos el módulo Bluetooth al conector marcado de nuestra
placa. Hemos de tener en cuenta la posición del interruptor:
 OFF: transmisión del programa desde Arduinoblocks.
 ON: funcionamiento en modo Bluetooth.

Necesitaremos dos programes pera poder trabajar:


 Arduinoblocks: programa que funcionar en la placa Keyestudio.
 AppInventor2: aplicación que funcionará en el teléfono móvil.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 97


8.3.1.1 A15.1.1. AppInventor2.

Práctica A15.1.1. AppInventor2.

Primero deberemos crear una cuenta para AppInventor2 a través del


siguiente enlace:
http://ai2.appinventor.mit.edu/

Una vez creada la cuenta procederemos a realizar la programación, tanto


en “Designer” como en “Blocks”. A continuación, se detallan las dos partes
del programa.
 Designer:

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 98


 Blocks

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks 99


8.3.1.2 A15.1.2. Arduinoblocks.

Práctica A15.1.2. Arduinoblocks.

A continuación, procederemos a realizar el programa en Arduinoblocks y


que irá en la placa Imagina TDR STEAM.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


100
Cuando tenemos preparados los dos programas, seguiremos los siguientes
pasos:
 Enviar el programa de Arduinoblocks a la placa Keyestudio.
 Instalar la aplicación en el teléfono móvil.
 Sincronizar el Bluetooth del móvil con el módulo Bluetooth de la placa
Keyestudio.
 Probar el programa.

Activamos el módulo Bluetooth del teléfono móvil.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


101
Abrimos el servicio Bluetooth del móvil i buscamos el nuevo dispositivo.
Aparecerá un dispositivo llamado HC-06.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


102
Elegimos este módulo e introducimos la contraseña: 1234 (opcionalmente
puede ser 0000).

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


103
Ahora ya tenemos sincronizados los dos dispositivos Bluetooth.

A continuación, abrimos la aplicación (en este caso se llama “Bluetooth).

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


104
Apretamos el botón “Connexió” para poder hacer la conexión (está en letras
de color negro). Recordamos que el interruptor ahora está en la posición ON
en la placa Imagina TDR STEAM.

Seleccionamos nuestro módulo Bluetooth (mediante la dirección MAC):

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


105
Ahora el botón “Connexió” aparecerá con las letras de color azul.

Y la luz del módulo Bluetooth de la placa Imagina TDR STEAM quedará fija
en el color rojo.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


106
Si apretamos el botón “Encen led” se encenderá el led azul.

Si apretamos el botón “Apaga led” se apagará el led azul.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


107
8.3.1.3 A15.1.3. Programación avanzada con Bluetooth.

Práctica A15.1.3. Programación avanzada con Bluetooth.

 Arduinoblocks:

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


108
INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks
109
INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks
110
INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks
111
 AppInventor 2:

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


112
INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks
113
8.3.2 A16.2. Módulo Wifi.

Práctica A16.2. Módulo Wifi.

Para poder realizar la comunicación Wifi hemos de realizar unos pasos


similares a la comunicación Bluetooth.

Para poder visualizar los datos enviados desde la placa Imagina TDR
STEAM utilizaremos el programa ThingSpeak y la aplicación ThingView. Por
tanto, hemos de preparar los siguientes programas:
 Arduinoblocks: programa de recogida y envío de datos.
 ThingSpeak: programa per ver los datos en el ordenador a través de
Internet.
 ThingView: aplicación para ver los datos en el teléfono móvil.

Para configurar los tres elementos hemos de seguir los pasos descritos a
continuación.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


114
8.3.2.1 A16.2.1. ThingSpeak.

Práctica A16.2.1. ThingSpeak.

Crear una cuenta en ThingSpeak: https://thingspeak.com/login

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


115
Una vez que hemos creado la cuenta ThingSpeak hemos de apuntar los
siguientes datos:
 Channel ID: referencia de nuestro dispositivo.
 Author: referencia del autor del dispositivo.

Otros datos importantes están en la pestaña “API Keys”.


 Write API Key: código identificativo para enviar los datos.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


116
Por último, hemos de hacer la configuración de los canales dónde
recibiremos los datos en “Channel Settings”.

¡Ya hemos configurado ThingSpeak!

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


117
8.3.2.2 A16.2.2. Arduinoblocks.

Práctica A16.2.2. Arduinoblocks.

Una vez configurado ThingSpeak, prepararemos el programa de


Arduinoblocks para leer los datos de los sensores y enviarlos vía Wifi.

En el bloque “Inicializar”, configuraremos:


 WIFI red: nombre de la red Wifi donde nos queremos conectar.
 Clave: contraseña de nuestra red Wifi.
 Usuario: nombre de usuario que tenemos en ThingSpeak (mwa0xxx).
 Clave: contraseña de nuestra cuenta de ThingSpeak.

A continuación, configuraremos la publicación de los datos con la función


“para: subir datos a la nube”:
 Channel ID: identificador de nuestro canal en ThingSpeak.
 Write API Key: código identificativo para enviar los datos a
ThingSpeak.

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


118
Estos datos los hemos de poner en cada campo de: “Publicar Tema”.

¡Ya hemos configurado Arduinoblocks!

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


119
8.3.2.3 A16.2.3. ThingView.

Práctica A16.2.3. ThingView.

Si queremos ver los datos en el móvil, podemos instalar la aplicación


ThingView. Para hacer la instalación hemos de seguir los siguientes pasos:

Add channel → Channel ID: ponemos el código de nuestro canal de


ThingSpeak (Channel ID).

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


120
Visualización de datos e ThingView.

Ya está configurado, ¡a ver datos!

INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks


121
INNOVA DIDACTIC – Actividades Imagina TDR STEAM con Arduinoblocks
122

También podría gustarte