¿Qué es la Tecnología?

¿Qué es la tecnología? Es una buena, pero muy buena pregunta. Para muchos, la tecnología es el avance, para otros es la forma y manera de aumentar la calidad de funcionamiento de un objeto. La verad es que incluye tantos campos que es difícil de concretar. Podríamos decir que la tecnología es la ciencia del arte de hacer las cosas, de como construirlas ordenanadamente, aportando soluciones y mejoras.

Extensión DS18B20 (Sensor de temperatura sumergible)

     El sensor de temperatura DS18B20 puede medir temperaturas en líquidos y gases (en su versión en forma de sonda sumergible) entre -55ºC y 125ºC, con un error de ±0.5°C si la medición se encuentra entre -10ºC y 85ºC, disminuyendo su precisión con un error de ±2°C si la temperatura se encuentra entre -55 y -10ºC o entre 85ºC y 125ºC.

Es decir, si el sensor nos aporta una temperatura de 25ºC, el valor real estará entre 24,5ºC y 25,5ºC y, si el sensor nos suministra una medición de 100ºC, el valor real se situará entre 98ºC y 102ºC.

El sensor de temperatura DS18B20 es digital y presenta de tres terminales que son: 

  • Vcc (cable de color rojo)
  • GND (cable de color negro o verde)
  • El pin Data (cable de color amarillo) para la transmisión de los datos.

Sensor DS18B20. Susana Oubiña Falcón (CC-BY)

    Relativo al conexionado con una placa arduino, existen dos formas de alimentar el sensor: A través del pin de Vcc o usando su pin de datos en modo "parásito". En ambos casos debemos introducir una R pull-up del orden de 4,7 kΩ en el pin Data.

El esquema más simple, para un sólo sensor, es el siguiente:

Conexionado SD18B20. (Imagen rescatada del siguiente link)


En el caso de varios sensores, debemos implementar el siguiente circuito:
Conexionado de 3 sensores DS18B20. (Imagen rescatada del siguiente link)


    Gracias a mBlock 5 Extensión Builder he diseñado una extensión para el sensor DS18B20 que sólo dispone de 2 comandos, tal y como se puede ver en la siguiente imagen y que puede utilizarse en las placas Arduino Uno, Arduino Mega y Arduino Nano:

Extensión DS18B20. Susana Oubiña Falcón (CC-BY)


     La siguiente figura muestra cómo podemos usar la extensión para que el sensor DS18B20 nos proporcione la temperatura. En este ejemplo se verán las medidas a través del Monitor Serie del IDE de Arduino: 
Ejemplo de medición de la Temperatura con un sensor DS18B20. Susana Oubiña Falcón (CC-BY)

Tras cargar el programa anterior a la placa bajo mBlock5, debemos desconectar la placa del software mBlock5, abrir el IDE de Arduino, conectar la placa al IDE de Arduino en su puerto correspondiente y abrir el Monitor Serie a una velocidad de 115200 baudios. Veremos que comienza a transmitir las mediciones:
Mediciones en el Monitor Serie. Susana Oubiña Falcón (CC-BY)







Museo Virtual "Invasión"

    El museo virtual "Invasión” es un proyecto interdisciplinar precioso diseñado e implementado por los departamentos de Geografía e Historia, Biología y Tecnología apoyados por el departamento de Lingua Galega. En él ha trabajado el alumnado de 1ºESO del IES da Illa de Arousa.

Museo "Invasión". Susana Oubiña Falcón (CC-BY)

    Este trabajo se visualiza como una exposición interactiva, en la cual, cada objeto esconde un audio que se reproduce con una maquina que lee lo que se esconde en las tarjetas RFID. Se ha conseguido que figuras relacionadas con Grecia, Mesopotamia, Roma, Egipto y por supuesto las plantas invasoras, cuenten su historia.


Figuras de Crecia, Mesopotamia y Roma. Susana Oubiña Falcón (CC-BY)

Litofanía de una planta invasora. Susana Oubiña Falcón (CC-BY)

Coliseo. Susana Oubiña Falcón (CC-BY)

Una chulada!!!

Maquina lectora y grabadora de audios. Susana Oubiña Falcón (CC-BY)

De forma breve, así funciona el proyecto: (Para saber más, hay que vivir el museo!!!)




    Este proyecto es una demostración de que es posi
ble un trabajo colaborativo entre departamentos de humanidades y tecnológicos.

    La exposición se ha mostrado durante dos semanas en los pasillos de la planta superior de IES. Cualquier alumno/a pudo visitarla y aprender de ella.





Escape room: "El Secreto de la Felicidad"

    El Secreto de la Felicidad es un escape room que nació en la formación que recibimos un grupo de docentes del IES da Illa de Arousa y que versó sobre la temática de gamificación. Allí se forjó la idea que describo en este post y, por supuesto, otras muchas de mis compañeros.

Tras una inversión inicial por parte del centro educativo (candados, cofres, cajas, linternas de luz UV, etc), pude desarrollar esta actividad, que va dirigida al alumnado de 2ºESO en la materia de Tecnología. Está pensada para ponerla en práctica en una sesión lectiva en el aula, con un grupo de 25 alumnos/as que participarán en grupos de 5.

Relativo a los objetivos que busco, éstos son obvios:

  • Repasar, de forma lúdica, algunos contenidos de la materia de Tecnología para 2ºESO.
  • Fomentar el trabajo en equipo, la creatividad, la imaginación, la resolución de problemas y la atención.
Al ser 25 alumnos/as, los materiales de cada juego "El Secreto de la Felicidad" se deben quintuplicar. En la siguiente imagen se observa qué contiene cada juego:

Juego "El Secreto de la Felicidad"

El escape room comienza con el reto, que se da a conocer con un vídeo, a modo de "intro", y que se visionará al principio del escape:

Tras el vídeo, comienza el juego. La resolución de los diferentes retos llevará al alumnado a encontrar el código de desactivación de la bomba que guarda "El Secreto de la Felicidad":

Bomba de tiempo regresivo

Y así se ha disfrutado en el aula:

La actividad, en mi opinión, ha sido gratificante para todos/as: alumnado y esta menda.

Un universo de extensiones en mBlock5

Hoy finaliza el primer trimestre del curso 2021-2022. Un trimestre de "locura" en el que impartí un curso relativo al uso de extensiones para objetos bajo mBlock5 y de creación de extensiones para placas Arduino en el mismo entorno.

Ambas, extensiones para objetos y para dispositivos, tienen un potencial enorme en educación: ciencias, IoT, inteligencia artificial, simplificación en la programación de módulos de arduino bajo bloques, etc. Una locura!

Siempre que investigo una temática, la documento. Es la única forma que veo para, pasado el tiempo, poder recordar fácilmente lo que en su momento desarrollé. Y con esta intención nació el pdf "Un universo de extensiones en mBlock5" y que puede verse en el siguiente link: (no se permiten descargas porque utilizo la versión Free)

En este vídeo se define brevemente de qué trata:


Extensión E18-D80NK

El sensor de proximidad fotoeléctrico E18-D80NK te permite detectar objetos sin necesidad de contacto y en un rango de 3cm a 80 cm. Su conexionado es sencillo con los dispositivos arduino. La salida de este sensor es de tipo NPN normalmente abierto (NO): Es decir, cuando detecte un objeto nos proporcionará un 0 y en estado de no detección, un 1. Puede ser alimentado con 5V y trabajar directamente con Arduino.

E18-D80NK frontal. Susana Oubiña Falcón (CC-BY)

La sensibilidad del sensor es regulable mediante un potenciómetro incrustado en el mismo sensor. Al lado del potenciómetro vemos un led que se activa cuando el sensor detecta un objeto. Ambos elementos (potenciómetro y led) nos permiten calibrar y comprobar el buen funcionamiento del sensor.

E18-D80NK parte trasera. Susana Oubiña Falcón (CC-BY)

Los sensores de proximidad fotoeléctricos utilizan como principio de detección el cambio de intensidad de luz. Este sensor fotoeléctrico es de tipo difuso (el emisor y el receptor de luz están integrados dentro del sensor) y no necesita de un espejo fijo adicional (como los de tipo réflex). 

Internamente

Funciona como un sencillo interruptor digital, detecta o no detecta:

  • El emisor emite un haz de luz infrarroja que al impactar sobre un objeto es reflejado.
  • Este reflejo es detectado por el receptor fotoeléctrico y se emite una señal de detección.

El sensor no nos proporciona la distancia a la cual está el objeto detectado; únicamente muestra el LED de detección iluminado ON (estado 0) o el LED de detección apagado OFF (estado 1):

Funcionamiento. Susana Oubiña Falcón (CC-BY)

Conexión: El módulo se alimenta directamente a 5V de Arduino. Los tres cables pueden tener estos colores:

Conexionado. Susana Oubiña Falcón (CC-BY)

Bajo mBlock5 he diseñado la extensión E18-D80NK que dispone de los siguientes comandos:

Comandos de la extensión E18-D80NK. Susana Oubiña Falcón (CC-BY)

Muestro dos ejemplos de uso. En ambos ejemplos el circuito eléctrico es el siguiente:
Conexión: Cable negro OUT al pin D2. 

  • Ejemplo 1: Testear la detección o no de un objeto y que nos lo muestre en el Monitor Serie de Arduino Uno. En este script utilizo la extensión Bluetooth Serial.
Extensión Bluetooth Serial
Susana Oubiña Falcón (CC-BY)



Script para testear la detección o no de un objeto por Monitor Serie. Susana Oubiña Falcón (CC-BY)

  • Ejemplo 2: Realizar una acción tras detectar un objeto. Para no complicar el circuito eléctrico usaremos el LED interno de la placa Arduino Uno. El siguiente script encenderá el LED 13 interno al detectar un objeto:
Script control LED. Susana Oubiña Falcón (CC-BY)




Extensión RFID RC522

 Aconsejo el siguiente conexionado para el lector MIFARE MFRC522:

  • Arduino Uno y Nano: SDA(SS) 10, SCK 13, MOSI 11, MISO 12, RST 9, 3.3V
  • Arduino Mega: SDA(SS) 53, SCK 52, MOSI 51, MISO 50, RST 9, 3.3V

Antes de nada debemos descubrir la UID de la tarjeta o llavero RFID. Para ello implementamos el siguiente circuito:


Circuito eléctrico para conocer la UID de una tarjeta o llavero RFID

Abrimos mBlock5, escogemos como dispositivo (en mi caso) la placa Arduino Uno y añadimos la extensión RFID CR522 cuyos comandos son:

Comandos de la extensión RFID CR522. Susana Oubiña Falcón (CC-BY)

Creamos el siguiente script y lo subimos a la placa:
Script para conocer la UID. Susana Oubiña Falcón (CC-BY)

A continuación, desconectamos la placa de mBlock5. Abrimos el IDE de Arduino y conectamos la placa:
Arduino Uno conectada a IDE Arduino. Susana Oubiña Falcón (CC-BY)

Abrimos el Monitor Serie a la velocidad de 115200 baudios y acercamos la tarjeta RFID al módulo RC522. Cuando la detecte, acercamos el llavero. Veremos que nos imprime en el Serial ambas UID:

Visionando la UID de la tarjeta y del llavero. Susana Oubiña Falcón (CC-BY)

Las  UID obtenidas, en mi caso, han sido:
  • Tarjeta: 59e5ca8c
  • Llavero: a7bb88b3
Ahora que disponemos de la UID de acceso a la tarjeta y llavero RFID, vamos a añadir un LED Rojo de 10mm (sin R de protección) conectando su ánodo Pin D7 y su cátodo a GND. 

La idea es que, al acercar la tarjeta de UID 59e5ca8c, se encenderá el LED, pero, al acercar el llavero de UID a7bb88b3 se apagará. El script que realiza este reto es el  siguiente:

Encendido y apagado de un LED por RFID. Susana Oubiña Falcón (CC-BY)

El funcionamiento se muestra en la siguiente tabla:

Demostración. Susana Oubiña Falcón (CC-BY)




Extensión para el Serial y Bluetooth

Sin duda, los puertos serie son la forma principal de comunicar una placa Arduino con un ordenador. Un puerto serie envía la información mediante una secuencia de bits y para ello necesita de, al menos, dos conectores para realizar la comunicación de datos que son, RX para la recepción y TX para la transmisión.

Es importante saber que cada puerto serie está físicamente unido a unos determinados pines de la placa Arduino y, por esa razón, mientras usamos los puertos de serie no podemos usar como entradas o salidas digitales los pines asociados con el puerto serie en uso. Pensar que, por ejemplo, la placa Arduino Uno dispone de un único puerto serie pero hay otras placas que presentan más que uno.

Pero a veces nos interesa crear una comunicación serie en otros puertos (en otros pines de la placa), o incluso una comunicación Bluetooth. La tecnología bluetooth no es una tecnología antigua y es uno de los mejores medios para comunicarnos de forma inalámbrica con Arduino. Los dos módulos más comunes para ello son el HC-05 y el HC-06. La diferencia entre ambos módulos reside en el tipo de comunicaciones que permiten hacer: HC-06 sólo puede recibir (es lo que se denomina un esclavo o slave) mientras que el HC-05 puede recibirlas e iniciarlas (master and server). Por lo tanto, el módulo HC-05 es superior en características técnicas al HC-06.

La comunicación Bluetooth es similar al uso del puerto serie normal; requiere el uso de un puerto serie de nuestra placa Arduino. Por lo tanto, mientras usemos el módulo Bluetooth no podremos utilizar el puerto serie en las placas modelo Uno, Mini, y Nano. La placa Arduino Mega no tiene este problema ya que incorpora 4 puertos de serie.

Además, mientras estemos cargando un nuevo programa en la placa Arduino tenemos que desconectar el módulo Bluetooth dado que la programación se realiza a través de su único puerto serie.

La extensión que se muestra en la siguiente imagen nos ayuda a enviar y recibir datos desde el Monitor Serie de Arduino y además nos servirá para programar un módulo bluetooth (HC-05 o HC-06) de forma sencilla con los dispositivos arduino y así poder implementar aplicaciones móviles:

Extensión Bluetooth para mBlock5. Susana Oubiña Falcón (CC-BY)

¿Cómo se usa? Veámoslo con algunos ejemplos:

  •  Ejemplo 1: Recibir información desde la placa Arduino.

Vamos a recibir el valor de un contador enviado desde la placa Arduino. Este valor se incrementa cada segundo. Podemos observar cómo se reciben los valores desde del monitor serial. Cargaríamos el siguiente programa a la placa Arduino Uno:

Recibir información de la placa arduino. Susana Oubiña Falcón (CC-BY)

Desde mBlock, desconectaríamos la placa Arduino Uno y abrimos el IDE de Arduino y la conectamos en un puerto COM. A continuación, abrimos el Monitor Serie a 9600 baudios y podemos ver que recibimos los datos:

Recibiendo datos desde el Monitor Serie. Susana Oubiña Falcón (CC-BY)

  • Ejemplo 2: Enviar información a la placa:

En este ejemplo empleamos el puerto serie para encender o apagar el LED integrado en la placa Arduino. Para ello enviamos un carácter a la placa Arduino, empleando el monitor serial. En el caso de enviar ‘A’ la placa Arduino apaga el LED, y en caso de enviar ‘B’ lo enciende.

Enviando datos a la placa. Susana Oubiña Falcón (CC-BY)

Desde mBlock5, primero desconectaríamos la placa Arduino Uno. Después abrimos el IDE de Arduino y la conectamos allí. El siguiente paso consiste en abrir el Monitor serie en el IDE de Arduino a 9600 baudios de velocidad y comenzar a enviar datos.

Enviando datos desde el Monitor Serie. Susana Oubiña Falcón (CC-BY)

  • Ejemplo 3: Enviando datos desde un móvil a la placa Arduino Uno

Imaginemos que tenemos construido un proyecto físico que dispone de una puerta corredera y que queremos programar su apertura o cierre desde un dispositivo móvil. El proyecto incluye un circuito eléctrico que se compone de un motor de continua, un controlador de motores que puede ser el L9110, un módulo bluetooth como el HC-05 y, por supuesto, una placa Arduino (por ejemplo, la Arduino Uno).

Un posible programa para la apertura y cierre de esa puerta podría ser el siguiente: 

Control Bluetooth de un motor DC. Susana Oubiña Falcón (CC-BY)

Este programa se subiría desde mBlock5 a la placa Arduino Uno (recordar desconectar el módulo BT en la subida). 

Relativo a la App, ésta podría crearse en App Inventor. En mi caso, he creado la que muestro en la siguiente imagen:

App Apertura y Cierre de una puerta. Susana Oubiña Falcón (CC-BY)

El último paso consiste en descargar e instalar la App en nuestro móvil android, enlazar el módulo Bluetooth HC-05 con nuestro móvil y simplemente usarla:

Control de la puerta con el smartphone. Susana Oubiña Falcón (CC-BY)