Antes de...
Justificación pedagógica
Esta actividad busca que el alumnado utilice herramientas tecnológicas y matemáticas para calcular volúmenes y tiempos de evacuación en situaciones de riesgo por inundación.
- Qué explicar. El docente explicará el procedimiento para calcular el volumen de una habitación cuadrada y la relación entre la capacidad total y el tiempo necesario para expulsar el agua utilizando una bomba con un caudal de 1000 l/min.
- Qué hacer. El alumnado creará un dispositivo IoT con micro:bit para medir el nivel de agua y mostrar el porcentaje en una pantalla OLED. Realizarán una simulación física añadiendo y quitando agua de un recipiente para observar cómo cambian los valores y calcular dimensiones reales a partir de los datos del sensor.
- Vinculación curricular. Se vincula con los saberes de realización de trabajos experimentales para la resolución de problemas (A.1.3.2) y el uso del lenguaje científico junto con herramientas matemáticas básicas (A.2.3.3).
- Vínculo narrativo. Para que la base sobreviva, los técnicos deben tener una idea realista de la inundación. El alumnado preparará el sistema de medición para que la estación submarina pueda predecir con exactitud cuánto tiempo tardarán en vaciar las salas inundadas.
Objetivo
El objetivo principal es que el alumnado programe un dispositivo IoT con micro:bit para medir niveles de inundación y mostrar en tiempo real el porcentaje de agua acumulada en las salas de la base submarina.
Para lograrlo, cada estudiante diseñará una simulación física que asocie de forma lógica el cálculo de volúmenes de una habitación cuadrada con los datos detectados por el sensor, supervisando la variación de los niveles al añadir o quitar agua del sistema.
Finalmente, mediante el uso de herramientas matemáticas y tecnológicas, calcularán el tiempo de acción necesario para que una bomba de 1000 l/min expulse el agua, logrando así una previsión técnica realista para salvar la estación.
Conocimientos previos Micro:bit y MakeCode
En esta sección encontramos todos los conocimientos necesarios para poder trabajar con Micro:bit y MakeCode:
- Presentación sobre el entorno MakeCode y la placa Micro:bit.
- Vídeo sobre el funcionamiento y primeros pasos con la placa Micro:bit.
- Prácticas para familiarizarnos con entorno MakeCode y la placa Micro:bit.
Comencemos con los conocimientos necesarios para poder trabajar con Micro:bit y MakeCode.
Para ver a pantalla completa clicamos en presentación.
Video que nos muestra el funcionamiento y primeros pasos con Micro:bit:
Para ver a pantalla completa clicamos en presentación.
Ya estamos listos para conocer el Kit IoT.
Conocimiento previos de Kit IoT Smart Science
Ahora veremos lo que necesitamos saber de Smart Science IoT:
- Presentación IoT Smart Science.
- Video sobre el funcionamiento de los componentes del kit.
- Presentación con diferentes prácticas que nos ayudarán a entender las aplicaciones de este Kit.
¿Qué necesitas preparar?
Antes de la sesión de acompañamiento es conveniente:
- Mostrar al alumnado el kit Smart Science IoT y Micro:bit, su funcionalidad y uso. De este modo comprenderán con menor dificultad lo que deben hacer en la actividad.
- Mostrar al alumnado la interfaz de MakeCode. De esta forma, en el acompañamiento podremos centrarnos en cómo programar por bloques y la sesión será más ágil.
Además, necesitarás este material:
- Un portátil por cada dos alumnos/as (máximo 3) con conexión a internet o con la aplicación MakeCode instalada.
- Documentos:
- Documentos para el docente:
- Documentos para el alumnado:
- Diario de aprendizaje (será necesario uno por grupo de alumnos o como especifique el docente)
Desarrollo de la actividad
- Desarrollamos los pasos que deberá seguir el alumnado para poder realizar con éxito la misión.
- Acceso a MakeCode : A través de la web MakeCode.
Paso 1. Añadir la extensión Environment-and-Science-IoT
Para poder programar la pantalla OLED en MakeCode necesitamos añadir una extensión especial.
- Tenemos que abrir nuestro proyecto o crearlo en Microsoft MakeCode for micro:bit.
- Una vez dentro del proyecto, haz clic en el botón “Extensiones” (parte inferior del menú de bloques o desde la rueda dentada ⚙).
- Dentro del buscador de extensiones, escribe Environment-and-Science-IoT y haz clic sobre la extensión para que se instale directamente.
- Cuando añadimos la extensión, aparece una nueva opción en el menú de Categorías relacionada con sensores ambientales e IoT.
Dentro de esta categoría encontraremos los bloques para trabajar con la pantalla OLED, como por ejemplo:
- Inicializar pantalla OLED
- Mostrar texto
- Mostrar número
- Limpiar pantalla
- Mostrar en posición X, Y
- Inicializar pantalla OLED
De esta manera, ya podremos programar y mostrar información en la pantalla OLED desde MakeCode.
Paso 2. Configuración de la pantalla al arrancar
Ahora definiremos cómo debe encenderse la pantalla para que el texto se vea correctamente.
- Contenedor de inicio. Se utiliza el bloque "al iniciar", obtenido de la categoría Básico (azul), para que la configuración se realice una sola vez al conectar la micro:bit. Se añade el bloque "initialize OLED with width 128 height 64" de la extensión OLED. Esto ajusta el área de dibujo de la pantalla a sus dimensiones físicas de píxeles.

Paso 3. Ciclo de refresco y limpieza
En esta fase, programamos una rutina para que la información se borre y se vuelva a escribir constantemente, evitando que los datos se amontonen.
- Bucle infinito. Se usa el bloque "para siempre" de la categoría Básico (azul), que mantiene la vigilancia del agua sin interrupciones. Se coloca el bloque "clear OLED display" de la extensión OLED al inicio del bucle. Su función es "limpiar la pizarra" antes de mostrar el siguiente valor medido.
Paso 4. Lectura y visualización de datos.
Este es el núcleo del programa, donde el sensor traduce el nivel del agua a un número que aparece en la pantalla.
- Etiqueta informativa: Se utiliza el bloque "show string" de la extensión OLED para escribir el texto fijo "WATER LEVEL:". Esto ayuda al usuario a saber qué dato está leyendo.
- Se añade el bloque "show number" de la extensión OLED justo debajo del texto y después se encaja el bloque redondo "value of water level(0~100) at pin P1" de la extensión Environment-and-Science-IoT dentro del bloque anterior. Este bloque lee la humedad en el Pin P1 y devuelve un porcentaje de llenado.
Paso 5. Estabilidad del sistema.
Finalmente, añadimos un tiempo de espera para que la placa procese los datos con calma y la pantalla sea fácil de leer.
- Pausa técnica. Se utiliza el bloque "pausa (ms) 500" de la categoría Básico (azul). Esto hace que el sistema espere medio segundo antes de volver a empezar el ciclo, estabilizando la imagen en la pantalla.
Paso final. Conexiones
Es el momento de darle vida a nuestro proyecto físico. Sigue estos pasos para realizar la transferencia y el montaje:
- Descarga y transferencia a la placa Micro: una vez completados estos pasos, el código está listo para ser descargado a tu tarjeta Micro:bit. En esta presentación se explica las diferentes posibilidades
- Montaje de hardware: insertamos con cuidado la Micro:bit en la ranura de la placa de expansión IoT:bit.
- Conexión de sensores: conectamos el sensor de nivel de agua tal y como se muestra en la imagen.
Al conectar el sensor veremos los datos en al pantalla OLED actualizándose automáticamente cada medio segundo.
En este enlace podemos encontrar el resultado de la actividad al completo.
Comencemos - Equipo de Física y Química
¡Atención, equipo de Técnicos de la Base!
Estamos ante una emergencia crítica, se ha detectado una vía de agua en la sala principal. Necesitamos datos precisos sobre el volumen de la habitación y del porcentaje inundado para determinar cuánto tiempo disponemos antes de que el desastre sea total e inevitable.
Nuestra misión para salvar la instalación es construir un dispositivo IoT con micro:bit y una pantalla OLED que muestre el porcentaje de agua en tiempo real. Deberemos investigar las dimensiones de la sala para calcular su volumen y determinar cuántos minutos tardará nuestra bomba de 1000 l/min en vaciarla, probando el sistema mediante una simulación física para garantizar que nuestra previsión técnica sea exacta y realista.
Aprenderemos a realizar trabajos experimentales para la resolución de problemas, garantizando que el uso del lenguaje científico y las unidades de medida sea el correcto. Utilizaremos la tecnología IoT para convertir datos en información de seguridad vital y aplicaremos el razonamiento lógico para proteger la estación y cumplir nuestra misión.
¡Técnicos, calculad el tiempo de evacuación!
Visualizamos el vídeo
Aquí tenemos un vídeo que nos ayudará con los pasos que debemos de seguir.
Lectura facilitada
¡Atención, equipo de ingeniería de fluidos! Vuestro trabajo es fundamental para la supervivencia. Otros equipos arreglan las grietas, pero vosotros sois los ojos de la estación.
¿De qué sirve cerrar una puerta si no sabemos si el agua salada sigue entrando a escondidas?
📍 ¿Cuál es nuestro objetivo?
Queremos que la placa Micro:bit funcione como un semáforo de seguridad. El objetivo es que el sistema vigile el nivel del agua por nosotros y nos avise en la pantalla.
⚡ El truco de la conductividad
Para detectar el agua, usaremos una propiedad de la naturaleza:
- El agua salada deja pasar la electricidad (esto se llama conductividad).
- Si el agua toca nuestros sensores, la electricidad pasará y la Micro:bit sabrá que hay una inundación.
🧠 ¿Cómo vamos a programar el sistema?
Nuestra misión es convertir las señales del agua en información que podamos leer:
- Vigilar el nivel. Usaremos los sensores del Smart Science Kit para medir cuánta agua hay.
- Mostrar datos. Programaremos la pantalla OLED para que escriba mensajes claros (por ejemplo: "SEGURO" o "PELIGRO").
- Calibrar. Ajustaremos los sensores para que la lectura sea exacta.
¡Cuidado! Si nuestros cálculos son correctos, salvaremos la base. Si fallamos, el peso del agua inundará todo el sector. ¡Debemos ser muy precisos!
📋 Pasos para el equipo
- Prepara el kit. Conecta los sensores a tu placa Micro:bit.
- Prueba el agua. Comprueba si el sensor reacciona al tocar el agua salada.
- Escribe el código. Asegúrate de que los mensajes de la pantalla se vean bien.
¡Sensores listos! Vuestro código es la alarma que protege la vida.
Nos preparamos
Estas presentaciones contienen todos los conocimientos necesarios para poder trabajar con Micro:bit y Smart Science IoT, así mismo éstas disponen de un índice indicando los contenidos que veremos.
Para ver a pantalla completa clicamos en presentación.
Ahora veremos lo que necesitamos saber de Smart Science IoT. Especialmente importante revisar la programación de los proyectos 2 y 3 para la medición de parámetros ambientales y visualización por pantalla OLED.
Fase 0. Preparando nuestro entorno de desarrollo
Iniciamos nuestra misión en la estación Abyss-Zero preparando nuestro equipo digital para que la micro:bit pueda entenderse con los sensores de la colonia submarina.
- Nuestro reto. Añadir la extensión "Environment-and-Science-IoT" para desbloquear los bloques especiales de nuestra pantalla y sensores.
- Pista de investigación. ¿En qué lugar del menú (normalmente cerca de la rueda dentada o al final de las categorías) podemos buscar nuevas herramientas? Investigamos cómo escribir el nombre de la extensión para que aparezcan los bloques de la pantalla OLED y el sensor de agua.
- Comprobación / visualización. Comprobamos que, tras la instalación, aparece una nueva categoría en nuestro menú con funciones para inicializar pantallas y leer datos ambientales.
Fase 1. Encendiendo el visor de la estación
Antes de medir el nivel del agua en los compartimentos, debemos asegurarnos de que la pantalla de control esté configurada correctamente desde que conectamos la energía.
- Nuestro reto. Configurar el arranque de la pantalla OLED con sus dimensiones de píxeles correctas para que el texto encaje perfectamente.
- Pista de investigación. Buscamos en la categoría "Básico" el bloque que solo se ejecuta una vez al encender la placa. Dentro de él, ¿qué bloque de nuestra nueva extensión nos permite definir el ancho y el alto (128x64) del panel visual?
- Comprobación / visualización. Observamos que la pantalla se prepara para mostrar datos en cuanto la placa recibe energía por primera vez.
Fase 2. Creando el contenedor de vigilancia
Para que nuestro sistema de seguridad no se pierda ninguna subida del nivel del mar, necesitamos que la placa esté mirando el sensor sin descanso.
- Nuestro reto. Crear un bucle de vigilancia infinita y preparar la pantalla para recibir nuevos datos sin que se amontonen con los antiguos.
- Pista de investigación. ¿Qué bloque de la categoría "Básico" hace que las acciones se repitan una y otra vez? Dentro de él, investigamos en la categoría de la pantalla cómo "limpiar la pizarra" (borrar el contenido anterior) antes de escribir el nuevo valor.
- Comprobación / visualización. Comprobamos que la pantalla se mantiene lista para actualizar la información de forma cíclica y limpia.
Fase 3. Traduciendo la realidad a números
Este es el momento clave: el sensor debe detectar cuánta agua hay y nosotros debemos hacer que ese dato aparezca en nuestro panel de control.
- Nuestro reto. Mostrar en pantalla el nombre del dato que estamos midiendo seguido del valor real que detecta el sensor en el pin P1.
- Pista de investigación. Investigamos en nuestra extensión cómo mostrar una cadena de texto para poner "WATER LEVEL:". Justo debajo, ¿qué bloque de la categoría OLED nos sirve para mostrar un número? Para obtener ese número, buscamos dentro de la misma extensión el bloque que lee el nivel de agua (0~100) en el pin donde hemos conectado el sensor.
- Comprobación / visualización. Percibimos que en la pantalla aparece el texto informativo y un número que cambia si el sensor entra en contacto con el agua.
Fase 4. Estabilizando la lectura del sensor
Si el sistema lee los datos demasiado rápido, los números en la pantalla cambiarán tan deprisa que no podremos leerlos con claridad.
- Nuestro reto. Añadir una pequeña pausa técnica para que el parpadeo de la pantalla sea cómodo para nuestra vista.
- Pista de investigación. ¿Qué bloque de la categoría "Básico" nos permite detener el programa durante medio segundo (500 ms) antes de que vuelva a empezar el ciclo?
- Comprobación / visualización. Observamos que el valor en la pantalla ahora es estable y fácil de leer para cualquier ingeniero de la estación.
Fase 5. Conectando la placa al mundo real
Ha llegado el momento de unir nuestro proyecto físico para que el código pueda detectar el agua de verdad.
- Nuestro reto. Conectar el sensor de nivel de agua y la pantalla OLED a nuestra placa para que el código interactúe con el entorno real de la estación y veamos el resultado.
- Pista de investigación. Revisamos nuestro código para ver qué puerto hemos programado. Conectamos el sensor de agua específicamente al puerto P1 de nuestra placa de expansión, asegurándonos de que los colores de los cables (VCC, GND y Señal) coincidan con los de la placa.
- Comprobación / visualización. Comprobamos que, al sumergir el sensor en un recipiente con agua, el número en nuestra pantalla OLED aumenta automáticamente reflejando el nivel detectado.
Nuestras herramientas de apoyo
- Consejo lógico. Piensa en el bloque "borrar pantalla" como si fuera un borrador de pizarra; si no borramos antes de escribir lo nuevo, al final no entenderemos nada porque las letras se escribirán unas encima de otras.
- Consejo hardware / físico. El sensor de agua es delicado; asegúrate de mojar solo la parte de las líneas metálicas y mantener la parte de los cables y los componentes electrónicos siempre seca para evitar cortocircuitos.
Nuestra autocomprobación
- ¿Hemos identificado correctamente qué activador inicia cada secuencia lógica? (Sí/No)
- ¿Observamos que el comportamiento coincide con el orden lógico visible en la captura? (Sí/No)
- ¿Hemos conectado el sensor en el pin P1 tal y como indica nuestro bloque de programación para que la lectura sea correcta? (Sí/No)
Un poco de ayuda
Ensamblamos bloques
En el siguiente proyecto de Makecode, están los bloques implicados en la programación que tenemos que realizar solo tenemos que ensamblarlos correctamente.
Aprendo pienso y crezco
Aprendo , pienso y crezco
El diario de aprendizaje es nuestro Informe de Seguridad de la Estación personal de "ingenieros e ingenieras". No sirve para copiar teoría, sino para reflexionar sobre cómo hemos aprovechado la química del agua para crear un sistema de defensa electrónico en la Estación Abyss-Zero.
- Diario de aprendizaje (será necesario uno por grupo de alumnos/as o como especifique el docente)
Después de...
Una vez que el código de monitorización funcione correctamente en nuestra placa de expansión IoT, realizamos una validación cruzada con el resto de la base. Es el momento de exponer nuestro terminal de diagnóstico al comité de seguridad de la estación Abyss-Zero.
Organización de los equipos
- División de Fluidos (Física y Química). Presentaremos los datos recogidos sobre el volumen de la habitación y la respuesta física del sensor al ser sumergido.
- División de Análisis (Matemáticas). Presentaremos los resultados sobre la función de mapeo, las señales analógicas y el cálculo exacto del porcentaje de inundación.
Guía de presentación: qué debemos incluir en nuestro informe
Roles del equipo
Para la exposición de emergencia, dividimos el trabajo en tres misiones para que todo el escuadrón participe:
- La portavocía. Explica el objetivo de la monitorización y las conclusiones alcanzadas sobre el riesgo de colapso de la estación.
- La parte técnica. Maneja el hardware en directo, sumergiendo el sensor en el líquido de prueba y mostrando el funcionamiento del código de alerta en la pantalla OLED.
- El análisis. Explica los datos matemáticos, los tiempos de refresco de pantalla y responde a las dudas sobre posibles falsas alarmas o lecturas erróneas.
Objetivo y programación (¿qué y por qué?)
Explicamos la lógica de nuestro código y su vital importancia para el soporte vital:
- El objetivo. ¿Qué queríamos conseguir con el Smart Science IoT Kit?
- Los bloques (entradas y salidas). ¿Qué bloques hemos usado para controlar la pantalla y los sensores? Explicamos cómo las pausas (en milisegundos) evitan que el procesador se sature al actualizar los datos, o cómo el bloque de lectura analógica del pin P1 capta la conductividad del agua.
Diario de errores y soluciones
Documentamos las dificultades técnicas que hemos superado durante las simulaciones de brecha:
- Errores de lectura. ¿Tuvimos problemas porque los datos se amontonaban y superponían en la pantalla OLED haciéndolos ilegibles? ¿El sensor daba valores extraños porque no medía correctamente?
- Solución. Explicamos cómo usamos el bloque "clear OLED display" al principio del bucle para limpiar la pantalla o cómo ajustamos la fórmula matemática (multiplicando por 100 y dividiendo entre 1023) para lograr la precisión porcentual necesaria.
Comprobación y conclusiones
Analizamos si nuestro sistema es verdaderamente fiable para vigilar la base. Comparamos los resultados:
- Contraste. ¿Necesitaba sumergirse más superficie de las láminas metálicas para alcanzar el valor máximo?
- Conclusión. ¿Es precisa nuestra programación o los datos tienden a fluctuar? Reflexionamos sobre la importancia de la conductividad eléctrica y de establecer umbrales numéricos exactos para determinar si estamos en "Calma" o en "Emergencia".
Formato de presentación (opciones DUA)
Elegimos el formato que mejor demuestre nuestras competencias científicas para exponer el informe anterior:
- Opción A - Demo de inmersión en vivo. Realizamos una prueba real en la base de operaciones (aula). Colocamos el sensor en un recipiente con agua y demostramos cómo la pantalla OLED detecta la subida de nivel delante de las demás divisiones operativas.
- Opción B - Esquema de la red de sensores. Hacemos una captura de pantalla de nuestra programación en MakeCode y dibujamos flechas para explicar el flujo del sistema: identificamos dónde está la orden de inicialización de la pantalla, dónde se lee el pin P1 y dónde se realiza el cálculo de porcentaje.
- Opción C - Tabla de telemetría. Generamos una tabla en nuestro cuaderno de bitácora o pizarra comparando la profundidad de inmersión del sensor con el valor puro por la placa y el observable a simple vista en la escala del sensor.