Skip to main content

Arduino UNO y ESP32 con Imagina TDR Steam y Arduinoblocks

Comienza conectando la placa al puerto USB del ordenador.

Después arranca el programa ArduinoBlocks Connector que encontrarás en el escritorio de tu equipo.

Por último accede a la página web www.arduinoblocks.com e inicia sesión con las siguientes credenciales (como si fueras un alumno con credenciales creadas por el profesorado):

  • Correo electrónico: alumnadoX.iesejemplo (con X el valor que os señalen según el ordenador en el que estés)
  • Contraseña: la facilitada por las personas responsables del taller

En ese momento accederás al panel donde ir a Mis proyectos, o Empezar un nuevo proyecto. En nuestro caso haz clic en Mis proyectos.

imagen.png

El orden en el que realizar estos pasos es importante para que el programa detecte la placa y se pueda comunicar con ella.

Dentro de Mis proyectos haz clic en el botón Alumno:

imagen.png

Allí te encontrarás con un proyecto, que en este caso te hemos asignado desde el rol profesorado.

  • Estación meteorológica básica: proyecto de placa UNO+TDR Steam. Arduinoblocks te hace elegir el tipo de placa y accesorio que vas a usar, puesto que tiene bloques personalizados para cada uno de ellas. En este caso estamos usando una placa Arduino UNO, muy común en los centros educativos, a la que le hemos acoplado una shield o escudo llamado IMAGINA TDR Steam, que incluye multitud de sensores y actuadores ya integrados, y que simplifican mucho la electrónica y la programación.  Empezaremos por este.

En este caso os encontráis ya el proyecto cargado. Si os da tiempo, en la segunda parte del taller podréis uniros a un proyecto como Alumnado, tal y como lo harían en una clase real, mediante la introducción de un código.

ESTACIÓN METEOROLÓGICA

Comenzamos abriendo este proyecto. Echale un vistazo al código y trata de adivinar cual es su comportamiento.

imagen.png

Este programa recopila datos del sensor de temperatura y humedad que está integrado la shield Imagina TDR y los muestra tanto de forma numérica como de forma gráfica a través de la Consola y del Plotter Serie.

Para ver cómo funciona, subiremos el programa a nuestra placa. Para asegurarnos de que la placa ha sido reconocida por el equipo y por la web, hay que fijarse en la parte de arriba a la derecha y allí tendremos que ver el puerto donde lo hemos conectado. En los dispositivos windows comienza por COM y en los linux por /dev. Una vez comprobado que la conexión está establecida hacemos clic en Subir.

imagen.png

Una vez obtenido el mensaje de que el programa ha subido exitosamente a la placa, aparentemente no pasa nada. Si queremos ver el funcionamiento, tenemos que hacer clic sobre el botón Consola, al lado de Subir.

En ese momento se nos abrirá una ventana emergente con el título de Consola serie, que es donde se van a visualizar los datos que estamos recogiendo.

imagen.png

Al hacer clic en Conectar, veremos que en pantalla aparecen datos que se actualizan con una cierta periodicidad. Esa periodicidad viene dada por la espera que hemos introducido en el programa al final de Bucle.

puertoserie.gif


imagen.png

Puedes probar a modificar esos valores de tiempo en el programa y ver cómo cambia el funcionamiento. No olvides volver a subir el programa a la placa después de cada cambio.

Aparte de los datos numéricos por pantalla, arduinoblocks nos permite mostrar esos mismos datos en forma de gráfica usando los bloques correspondientes al Serial Plotter. Para visualizarlo, hay que ir al desplegable del botón Consola y seleccionarlo.

imagen.png

Igualmente se abre una pantalla emergente, con aspecto de gráfico en la que habrá que hacer clic en Conectar (1)  para comenzar la recepción de datos.

Al conectar se empezarán a pintar los valores de los datos mostrados. Podemos a su vez grabar esos datos durante un período de tiempo (2 en la figura), parar esa grabación de datos cuando lo deseemos (3) y exportar los datos grabados en ficheros csv (4). Se nos generarán tantos csv como variables hayamos mostrado en la gráfica, que se guardarán en las Descargas del navegador. Esto puede ser de gran utilidad para monitorizar condiciones de cultivo en sistemas automatizados, etc...

imagen.png


Experimenta con esta utilidad grabando y exportando los csv correspondientes.

Por último te invitamos a enriquecer el programa, usando el sensor de luz disponible también en la TDR. Se trata de una LDR. En nuestro caso tendremos que crear una nueva variable en la que almacenar los datos recogidos por el sensor de luz. Después enviaremos tanto por la consola Serie como por el Plotter esos valores junto a los de temperatura y humedad.

Los pasos a seguir en ese caso serían:

  1. Definir una nueva variable numérica desde el bloque Variables. Llámale luz

imagen.png

2. Desde ese mismo bloque Variables, añade el bloque Establecer luz = justo debajo del de la temperatura, antes de los bloques de puerto serie.

imagen.png

3. Busca en el menú TDR STEAM el bloque correspondiente al nivel de luz (LDR) y asígnalo a la variable Luz.

imagen.png

4. Utiliza la opción de duplicar bloques con el botón derecho para crear un nuevo bloque tanto de Enviar como de Plotter al Bucle.

imagen.png

5. Modifica los valores de texto y la variable correspondiente de los nuevos bloques. La luminosidad detectada por el sensor se mide en %

imagen.png

6. Por último  sube el proyecto a la placa y comprueba el funcionamiento. Puedes tapar la LDR con el dedo, o aspirar en el sensor DHT-11 para ver cómo se modifican los valores obtenidos.

CONTROL POR BLUETOOTH

Para realizar este proyecto lo primero que vamos a hacer es cerrar sesión, cerrar el programa ArduinoBlocks Conector y desconectar la placa.

Separaremos la shield Imagina TDR  de la placa Arduino UNO y sustituiremos esta última por la placa ESP32 que te facilitarán en el taller. Verás que son muy similares en disposición y puertos, si bien la ESP32 integra módulos para comunicaciones (bluetooth y wifi) lo que nos permite controlar y visualizar los datos de la placa desde otros dispositivos externos (móvil, ordenador) o enviarlos a internet (IoT)

Una vez acopladas volveremos a seguir los pasos descritos anteriormente

  1. Conectar la placa mediante USB al ordenador
  2. Abrir el programa Arduinoblocks Conector
  3. Refrescar la página www.arduinoblocks.com en nuestro navegador y volver a iniciar sesión con las credenciales de antes.

En este caso, para unirnos a un proyecto como Alumnado, tendremos que ir a Comenzar nuevo proyecto y allí introducir el código que nos haya facilitado el profesor (en nuestro caso UgA0eFkG)

imagen.png

Una vez abierto el proyecto, lo primero que vamos a hacer es cambiar el Nombre del Bluetooth de nuestra placa, de forma que quede unívocamente reconocible.

imagen.png

Échale un vistazo al código y reconoce lo que hace el programa

  • Bloque inicializar: arranca el módulo Bluetooth de la placa, le da un nombre y fija su timeout. Todo esto se encuentra en el Bloque Comunicaciones, en el submenú Bluetooth.
  • Bloque Bucle: almacena los datos de temperatura y humedad detectados por el sensor DHT-11, y si recibe datos por Bluetooth, almacena ese valor en la variable lectura.  Según los valores que reciba, programa unas acciones u otras (encender, apagar leds, sonido) En el caso de recibir un 6 o un 7, a su vez envía por Bluetooth los valores proporcionados por el sensor.

    imagen.png