Saltar la navegación

Entrenamiento 3: Tormenta marciana

Villanueva de la Cañada, Madrid. España. ESAC (Centro Europeo de Astronomía Espacial)

Centro Europeo de Astronomía Espacial.

¡Vamos, daros prisa! Os esperan en el ESAC (Centro Europeo de Astronomía Espacial), en Madrid. Al terminar el entrenamiento en el ESTEC, pudisteis dotar a vuestro robot de una herramienta para poder sobrevivir a la oscuridad de la noche marciana y explorar grutas sin perderse. Ahora toca el turno de protegerlo ante las tormentas marcianas. Las últimas observaciones de la ESAC del hemisferio sur de Marte, aunque su atmósfera es muy fina, muestran que las tormentas están ascendiendo a niveles peligrosos para el funcionamiento de los sistemas.

En este tercer entrenamiento, vuestro objetivo es dotar a la placa de la capacidad de detectar tormentas y emitir mensajes de aviso a una base para activar sistemas de protección ante tormentas extremas.

Tormenta marciana

Icono lista ¿Qué necesitáis?

En este tercer entrenamiento vais a programar la placa del robot que tenéis asignada para convertirse en un detector acústico de tormentas de polvo marcianas. La placa debe estar programada para que escuche el viento creciente (ruido), pueda emitir una señal a otra placa receptora con la alarma de tormenta y vuelva a la normalidad cuando la tormenta haya pasado.

Material necesario:

  • Ordenador
  • Cable USB para cargar el programa
  • Dos placas microcontroladoras (Micro:bit o Cyberpi) para que se puedan comunicar

Ampliación:

  • Si usáis Nehza, podréis conectar dos leds a la placa y hacer que salte una señal de alarma cuando la tormenta sea peligrosa para la nave.
  • Si usáis mBot2, podréis emitir sonidos de alarma cuando el robot se encuentre en peligro.

Icono información Comunicación entre placas.

Para que dos placas se entiendan y no escuchen a otros equipos por error, tienen que estar sintonizadas en el mismo canal.

Un canal de radio o un grupo de comunicación es un número que indica en qué frecuencia "imaginaria" están transmitiendo los mensajes.

Si dos placas están en el mismo canal, se pueden comunicar. Sin embargo, si están en canales diferentes, no se pueden oír.

  • Microbit: Si tenéis micro:bit podéis comunicarlas entre ellas porque usan una radio interna muy sencilla, no necesita internet ni cables, solo necesitaréis que todas estén en el mismo canal (número).
  • CyberPi: En el caso de la Cyberpi, la comunicación necesita Wi-Fi. Se conectan a una red Wi-Fi, como un móvil o una tablet.

Icono con interrogación ¿Sabíais que...?

Logotipo de la Agencia Espacial Europea (ESA)

El Centro Europeo de Astronomía Espacial (ESAC) también pertenece a la Agencia Espacial Europea (ESA), está situado cerca de Madrid y alberga los centros de operaciones científicas de todas las misiones astronómicas y planetarias de la ESA.

Además de la exploración del espacio profundo y del sistema solar, ESAC procesa los datos de SMOS, un satélite que observa la Tierra diseñado para observar la humedad del suelo y la salinidad de los océanos. Los datos sobre la humedad del suelo son importantes para estudios hidrológicos y los de salinidad para el estudio de la circulación de las corrientes oceánicas.

Lectura facilitada

Centro Europeo de Astronomía Espacial.

¡Rápido, os esperan en el ESAC!

Es el Centro Europeo de Astronomía Espacial y está cerca de Madrid.

Ya conseguisteis que el robot vea en la oscuridad. Ahora debéis protegerlo de las tormentas de Marte.

Según el ESAC, hay nuevas tormentas peligrosas en el hemisferio sur.

Vuestra nueva misión es programar el robot para que detecte la tormenta y avise con una señal.

Tormenta marciana

Icono lista ¿Qué necesitáis?

Ahora el robot debe detectar el sonido del viento fuerte.

Y si hay tormenta, debe mandar una señal de aviso a otra placa.

Cuando la tormenta pase, todo debe volver a la normalidad.

Material necesario:

  • Ordenador
  • Cable USB
  • Dos placas (micro:bit o Cyberpi)

Ampliación:

  • Con Nehza, podéis encender dos luces si hay peligro.
  • Con mBot2, el robot puede sonar una alarma si detecta peligro.

Icono información Comunicación entre placas

Para que dos placas se comuniquen, deben estar en el mismo canal.

Un canal es como una frecuencia de radio imaginaria.

  • Micro:bit: Usa su propia radio interna. No necesita internet ni cables. Solo hay que ponerlas en el mismo número de canal.
  • CyberPi: Necesita conectarse a una red Wi-Fi, como un móvil o tablet.

Icono con interrogación ¿Sabíais que...?

Logotipo de la Agencia Espacial Europea (ESA)

El ESAC también forma parte de la Agencia Espacial Europea.

Desde allí se controlan muchas misiones espaciales.

También recibe los datos del satélite SMOS.

Este satélite observa la humedad de la tierra y la sal del mar.

Estos datos ayudan a estudiar el agua y los océanos de nuestro planeta.

Programando

Microbit

Objetivo:
Conseguir programar la micro:bit para que muestre en su matriz de leds el nivel de sonido que escucha su micrófono y que emita un mensaje de radio a otra microbit para alertar de una tormenta.

Entorno de programación: MakeCode. (abre en ventana nueva)

En este caso hay que hacer dos programas, uno para la tarjeta emisora y otro para la receptora.

Los bloques para trabajar con la matriz de leds los vais a encontrar en la categoría Básico (azul), los de decisión en la categoría Lógica (azul turquesa), los de transmisión y recepción de mensajes en la categoría Radio (fucsia), las variables en Variables (rojo) y los necesarios para hacer una gráfica con la matriz de leds en la categoría LED (violeta oscuro).

Programa receptor de radio hecho en lenguaje de bloques Makecode

Programa receptor

Programa emisor de radio hecho en lenguaje de bloques Makecode

Programa emisor.

Recordad:
Para probar el programa en la microbit, abre el navegador de archivos, y arrastra el archivo a la unidad microbit.

Cuando finalice el proceso de carga, veréis que la placa emisora dibuja un gráfico en función del sonido detectado y la placa receptora espera un mensaje.

 Analizad:

Fijaos que, para hacer este programa emisor, usas un bucle infinito (el bloque “para siempre”). Dentro de él, la micro:bit dibuja una gráfica con el nivel de ruido que detecta el micrófono. Después, compara ese valor con uno de referencia (150 en este caso). Si el nivel es más alto, quiere decir que puede haber tormenta. Entonces, la placa envía un mensaje por el canal 15:

  • Envía un 1 si hay tormenta.
  • Envía un 0 si no la hay.

El otro dispositivo (el receptor) está escuchando en el canal 15. Cuando recibe un mensaje, revisa si es un 1 o un 0 y actuará de manera distinta en cada caso.

Microbit + Nezha

Objetivo:
Conseguir programar la micro:bit para que muestre en su matriz de leds el nivel de sonido que escucha su micrófono y que emita un mensaje de radio a otra micro:bit para alertar de una tormenta.

Entorno de programación: MakeCode (abre en ventana nueva)

En este caso hay que hacer dos programas, uno para la tarjeta emisora y otro para la receptora.

Los bloques para trabajar con la matriz de leds los vais a encontrar en la categoría Básico (azul), los de decisión en la categoría Lógica (azul turquesa), los de transmisión y recepción de mensajes en la categoría Radio (fucsia), las variables en Variables (rojo) y los necesarios para hacer una gráfica con la matriz de leds en la categoría LED (violeta oscuro)

Programa receptor de radio hecho en lenguaje de bloques Makecode

Programa receptor

Programa emisor de radio hecho en lenguaje de bloques Makecode

Programa emisor.

Recordad:

Para probar el programa en la micro:bit, abrid el navegador de archivos, y arrastrad el archivo a la unidad micro:bit.

Cuando finalice el proceso de carga, veréis que la placa emisora dibuja un gráfico en función del sonido detectado y la placa receptora espera un mensaje.

Analizad:

Si os fijais, para hacer el programa emisor hemos escrito un bucle infinito (bloque "para siempre") que hace la gráfica en la matriz de leds de la microbit del nivel de ruido percibido por el micrófono, compara con un valor de referencia, en nuestro caso 150, y emite un mensaje de alerta en el canal 15. Emitirá un 1 si hay tormenta y un 0 si no la hay.

Lo que hace el dispositivo receptor es escuchar en el canal 15 y al recibir un mensaje discriminar si es un 1 o un 0, actuando de manera distinta en cada caso.

Cyberpi

Objetivo:
Conseguir programar la tarjeta cyberpi para que muestre en su pantalla "Todo Ok" si no hay mucho ruido a su alrededor, no hay tormenta, o "Alarma"  y emita un mensaje a través de una red wifi  para alertar a otra cyberpi.

Entorno de programación: mBlock (Abre en ventana nueva).

En este caso hay que hacer dos programas, uno para la tarjeta emisora y otro para la receptora. Para que puedan comunicarse deben estar en la misma red wifi.

Los bloques para trabajar con la wifi de leds los vais a encontrar en la categoría IoT (verde claro), los de decisión en las categorías control (naranja) y operadores (verde)  y los necesarios para mostrar mensajes en la categoría Pantalla (azul oscuro)

Programa emisor vía wifi hecho en lenguaje de bloques MBlock5

Programa emisor

Programa receptor vía wifi hecho en lenguaje de bloques Mblock5

Programa receptor

Recordad:

En el entorno de programación mBlock5 puedes subir el programa a la memoria de la tarjeta o probarlo en comunicación "en vivo"

Para que las dos tarjetas se puedan comunicar mediante wifi deben estar conectadas a la misma. En nuestro ejemplo generamos un punto wifi con un móvil, cuya wifi se llama "Krisis phone" y su contraseña "Krisisprueba"

Analizad:

Fijaos que, para hacer este programa emisor, usas un bucle infinito (el bloque “para siempre”). Dentro de él, la ciberpi dibuja una gráfica con el nivel de ruido que detecta el micrófono. Después, compara ese valor con uno de referencia (150 en este caso). Si el nivel es más alto, quiere decir que puede haber tormenta. Entonces, la placa envía un mensaje por el canal 15:

Envía un 1 si hay tormenta.
Envía un 0 si no la hay.
El otro dispositivo (el receptor) está escuchando en el canal 15. Cuando recibe un mensaje, revisa si es un 1 o un 0 y actuará de manera distinta en cada caso.



Cyberpi + Mbot2

Objetivo:
Conseguir programar la tarjeta cyberpi en mBot2 para que muestre en su pantalla "Todo Ok" si no hay mucho ruido a su alrededor, no hay tormenta, o "Alarma"  y emita un mensaje a través de una red wifi  para alertar a otrmBot2.

Entorno de programación: mBlock (Abre en ventana nueva).

En este caso hay que hacer dos programas, uno para el robot emisor y otro para el receptor. Para que puedan comunicarse deben estar en la misma red wifi.

Los bloques para trabajar con la wifi de leds los vais a encontrar en la categoría IoT (verde claro), los de decisión en las categorías control (naranja) y operadores (verde)  y los necesarios para mostrar mensajes en la categoría Pantalla (azul oscuro)

Programa emisor vía wifi hecho en lenguaje de bloques MBlock5

Programa robot emisor

Programa receptor vía wifi hecho en lenguaje de bloques MBlock5

Programa robot receptor

Recordad:

En el entorno de programación mBlock5 puedes subir el programa a la memoria de la tarjeta o probarlo en comunicación "en vivo"

Para que las dos tarjetas se puedan comunicar mediante wifi deben estar conectadas a la misma. En nuestro ejemplo generamos un punto wifi con un móvil, cuya wifi se llama "Krisis phone" y su contraseña "Krisisprueba"

Analizad:

Fijaos que, para hacer este programa emisor, usas un bucle infinito (el bloque “para siempre”). Dentro de él, la ciberpi dibuja una gráfica con el nivel de ruido que detecta el micrófono. Después, compara ese valor con uno de referencia (150 en este caso). Si el nivel es más alto, quiere decir que puede haber tormenta. Entonces, la placa envía un mensaje por el canal 15:

Envía un 1 si hay tormenta.
Envía un 0 si no la hay.
El otro dispositivo (el receptor) está escuchando en el canal 15. Cuando recibe un mensaje, revisa si es un 1 o un 0 y actuará de manera distinta en cada caso.

 

Lectura facilitada

Microbit

Objetivo:
Conseguir programar la micro:bit para:

  • Muestre en su matriz de leds el nivel de sonido que escucha su micrófono.
  • Emita un mensaje de radio a otra microbit.
  • El mensaje alertará de una tormenta.

Entorno de programación: MakeCode. (abre en ventana nueva)

En este caso hay que hacer dos programas:

  1. Uno para la tarjeta emisora.
  2. Otro para la tarjeta receptora.
  • Los bloques para trabajar con la matriz de leds están categoría Básico (azul).
  • Los bloques de decisión en la categoría Lógica (azul turquesa).
  • Los bloques de transmisión y recepción de mensajes en la categoría Radio (fucsia).
  • Las variables en Variables (rojo).
  • Los bloques para hacer una gráfica con la matriz de leds en la categoría LED (violeta oscuro).

Programa receptor

Programa emisor.

Recordad:
Para probar el programa en la microbit:

  • Abrid el navegador de archivos.
  • Arrastrad el archivo a la unidad micro:bit.
  • Al terminar, veréis que la placa emisora dibuja un gráfico en función del sonido detectado.
  • La placa receptora espera un mensaje.

 Analizad:

Este programa usa un bucle infinito.

Esto significa que el programa repite siempre lo mismo, una y otra vez.

Dentro de este bucle, la micro:bit mide el nivel de ruido con el micrófono.

Después, compara el ruido con un número de referencia.

¿Qué pasa si el nivel de ruido es mayor ?
Si el ruido es más alto, puede significar que hay una tormenta.

Entonces, la micro:bit envía un mensaje:

  • Si hay tormenta, envía un 1.
  • Si no hay tormenta, envía un 0.

¿Qué hace el programa receptor?
El programa receptor está esperando el mensaje.

  • Si recibe un 1, sabe que hay tormenta y actúa de una forma.
  • Si recibe un 0, sabe que no hay tormenta y actúa de otra forma.

Microbit + Nehza

Objetivo:

Conseguir programar la micro:bit para:

  • Muestre en su matriz de leds el nivel de sonido que escucha su micrófono.
  • Emita un mensaje de radio a otra microbit.
  • El mensaje alertará de una tormenta.

Entorno de programación: MakeCode (abre en ventana nueva)

En este caso hay que hacer dos programas:

  1. Uno para la tarjeta emisora.
  2. Otro para la tarjeta receptora.
  • Los bloques para trabajar con la matriz de leds están categoría Básico (azul).
  • Los bloques de decisión en la categoría Lógica (azul turquesa).
  • Los bloques de transmisión y recepción de mensajes en la categoría Radio (fucsia).
  • Las variables en Variables (rojo).
  • Los bloques para hacer una gráfica con la matriz de leds en la categoría LED (violeta oscuro).

Programa receptor

Programa emisor.

Recordad:

Para probar el programa en la microbit:

  • Abrid el navegador de archivos.
  • Arrastrad el archivo a la unidad micro:bit.
  • Al terminar, veréis que la placa emisora dibuja un gráfico en función del sonido detectado.
  • La placa receptora espera un mensaje.

Analizad:

Este programa usa un bucle infinito.

Esto significa que el programa repite siempre lo mismo, una y otra vez.

Dentro de este bucle, la micro:bit mide el nivel de ruido con el micrófono.

Después, compara el ruido con un número de referencia.

¿Qué pasa si el nivel de ruido es mayor ?
Si el ruido es más alto, puede significar que hay una tormenta.

Entonces, la micro:bit envía un mensaje:

  • Si hay tormenta, envía un 1.
  • Si no hay tormenta, envía un 0.

¿Qué hace el programa receptor?
El programa receptor está esperando el mensaje.

  • Si recibe un 1, sabe que hay tormenta y actúa de una forma.
  • Si recibe un 0, sabe que no hay tormenta y actúa de otra forma.

Cyberpi

Objetivo:
Conseguir programar la tarjeta cyberpi.

Mostrar en su pantalla "Todo Ok" si:

  • No hay mucho ruido a su alrededor
  • No hay tormenta,

O "Alarma".

Emita un mensaje a través de una red wifi  para alertar a otra cyberpi.

Entorno de programación: mBlock.

En este caso hay que hacer dos programas:

  • Uno para la tarjeta emisora.
  • Otro para la receptora.

Para que puedan comunicarse deben estar en la misma red wifi.

  • Los bloques para trabajar con la wifi de leds los vais a encontrar en la categoría IoT (verde claro).
  • Los bloques de decisión en las categorías control (naranja)  operadores (verde).
  • Los bloques para mostrar mensajes en la categoría Pantalla (azul oscuro).

Programa emisor

Programa receptor

Recordad:

En el programa mBlock5, puedes hacer dos cosas:

  • Subir el programa a la memoria de la tarjeta.
  • Probarlo en vivo, mientras la tarjeta está conectada.

Para que las dos tarjetas se comuniquen deben estar conectadas a la misma red Wifi.

  • Generamos un punto wifi con un móvil.
  • La red wifi se llama "Krisis phone" y su contraseña "Krisisprueba"

Analizad:

En este programa, usamos un bucle infinito.

Esto significa que el programa hace lo mismo una y otra vez, sin parar.

  • La ciberpi mide el nivel de ruido con el micrófono.
  • Dibuja una gráfica para mostrar el nivel de ruido que está detectando.
  • Compara con un número.

Si el nivel de ruido es mayor que 150, podría haber tormenta.

Si es menor o igual a 150, no hay tormenta.

  • Enviar un mensaje

Si el nivel de ruido es más alto (puede haber tormenta), la ciberpi envía un mensaje:

  • Envía un 1 si hay tormenta.
  • Envía un 0 si no hay tormenta.

¿Cómo funciona el programa receptor?
El programa receptor está escuchando.

  • Cuando recibe un 1, sabe que hay tormenta y hace algo (puede encender una luz, por ejemplo).
  • Cuando recibe un 0, sabe que no hay tormenta y actúa de otra forma.



Cyberpi + Mbot2

Objetivo:
Conseguir programar la tarjeta cyberpi en mBot2.

Mostrar en su pantalla "Todo Ok" si:

  • No hay mucho ruido a su alrededor
  • No hay tormenta,

O "Alarma".

Emita un mensaje a través de una red wifi  para alertar a otro mBot2.

Entorno de programación: mBlock (Abre en ventana nueva).

En este caso hay que hacer dos programas:

  • Uno para la tarjeta emisora.
  • Otro para la receptora.

Para que puedan comunicarse deben estar en la misma red wifi.

  • Los bloques para trabajar con la wifi de leds los vais a encontrar en la categoría IoT (verde claro).
  • Los bloques de decisión en las categorías control (naranja)  operadores (verde).
  • Los bloques para mostrar mensajes en la categoría Pantalla (azul oscuro).

Programa robot emisor

Programa robot receptor

Recordad:

En el programa mBlock5, puedes hacer dos cosas:

  • Subir el programa a la memoria de la tarjeta.
  • Probarlo en vivo, mientras la tarjeta está conectada.

Para que las dos tarjetas se comuniquen deben estar conectadas a la misma red Wifi.

  • Generamos un punto wifi con un móvil.
  • La red wifi se llama "Krisis phone" y su contraseña "Krisisprueba"

Analizad:

En este programa, usamos un bucle infinito.

Esto significa que el programa hace lo mismo una y otra vez, sin parar.

  • La ciberpi mide el nivel de ruido con el micrófono.
  • Dibuja una gráfica para mostrar el nivel de ruido que está detectando.
  • Compara con un número.

Si el nivel de ruido es mayor que 150, podría haber tormenta.

Si es menor o igual a 150, no hay tormenta.

  • Enviar un mensaje.

Si el nivel de ruido es más alto (puede haber tormenta), la ciberpi envía un mensaje:

  • Envía un 1 si hay tormenta.
  • Envía un 0 si no hay tormenta.

¿Cómo funciona el programa receptor?
El programa receptor está escuchando.

  • Cuando recibe un 1, sabe que hay tormenta y hace algo (puede encender una luz, por ejemplo).
  • Cuando recibe un 0, sabe que no hay tormenta y actúa de otra forma.

 

Un paso más en programación

Os proponemos un paso más, imaginad que tenéis dos estaciones de detección de tormentas.

¿Cómo variarían los programas de recepción y emisión de mensajes para que la estación receptora supiera en cuál de las estaciones de detección está ocurriendo la tormenta?

Lectura facilitada

Os proponemos un paso más.

Imaginad que tenéis dos estaciones de detección de tormentas.

¿Cómo variarían los programas de recepción y emisión de mensajes para que la estación receptora sepa en cuál de las estaciones de detección está ocurriendo la tormenta?

Creado con eXeLearning (Ventana nueva)