Esta propuesta aplica la optimización de funciones para maximizar la eficiencia del transporte en situaciones de emergencia crítica. El alumnado analizará cómo las variaciones en la velocidad afectan al tiempo de ejecución para encontrar el equilibrio entre rapidez y seguridad.
Qué explicar. El equipo docente explicará las funciones de optimización y la identificación de puntos críticos. Se profundizará en la estadística bidimensional, analizando la creación de nubes de puntos y el concepto de correlación. También se abordará el ajuste de algoritmos de control mediante la experimentación de variables físicas.
Qué hacer. El docente guiará la programación de un sistema sigue-líneas con detección de obstáculos. Supervisará la experimentación donde el alumnado modificará los valores de velocidad (partiendo del valor 20 y aumentando de 10 en 10) para registrar los tiempos de ruta. Finalmente, el profesorado coordinará el análisis de los datos para determinar la velocidad óptima mediante herramientas tecnológicas.
Vinculación curricular. Se vincula con los saberes de cuarto de ESO sobre la modelización mediante funciones (D.5.4.1 y D.5.4.2). Asimismo, se asocia con el diseño de estudios con variable bidimensional, su representación en gráficos (E.1.4.1 y E.1.4.3) y la interpretación de la correlación (E.1.4.5). También integra la creación de algoritmos (D.6.4.2).
Vínculo narrativo. En una misión donde el tiempo corre en contra, la configuración de los rovers debe ser perfecta. El equipo de especialistas debe encontrar los valores de velocidad más altos que permitan maniobrar con seguridad entre los obstáculos, asegurando que la ayuda llegue a los rescatistas sin ponerlos en peligro.
Objetivo
El objetivo principal es que el alumnado optimice un robot Maqueen para realizar la entrega de ayuda humanitaria superando rutas obstaculizadas en el menor tiempo posible.
Para lograrlo, cada estudiante diseñará una secuencia de pruebas de velocidad, registrando los resultados para crear una nube de puntos que permita visualizar la correlación entre la potencia del motor y los tiempos empleados.
Finalmente, mediante la identificación de puntos críticos en su modelo matemático, configurarán los valores finales del algoritmo. Lograrán así una flota de rescate de alto rendimiento, capaz de cumplir la misión con precisión y celeridad.
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.
Código Escuela 4.0 Extremadura - Presentación Micro:bit y Makecode. TeoríaCC BY-SA
Para ver a pantalla completa clicamos en presentación
Video que nos muestra el funcionamiento y primeros pasos con Micro:bit:
Código Escuela 4.0 Extremadura - Vídeo funcionalidad Micro:bit, (CC BY-SA)
Prácticas sencillas para trabajar con Makecode y Micro:bit:
Código Escuela 4.0 Extremadura - Presentación Micro:bit y Makecode. Prácticas,CC BY-SA
Ya estamos listos para conocer el Kit IoT
Para ver a pantalla completa clicamos en presentación
Conocimiento previos de Maqueen plus v2
Ahora veremos lo que necesitamos saber de Maqueen plus v2:
Presentación Maqueen plus v2
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.
Código Escuela 4.0 Extremadura - Presentación teoría Maqueen plus v2 , CC BY-SA
Para ver a pantalla completa clicamos en presentación
Video con las acciones básicas necesarias para comenzar a utilizar el Kit IoT Smart Science, mostrando su funcionamiento inicial y las aplicaciones principales
Para ver a pantalla completa clicamos en presentación
Código Escuela 4.0. Funcionamiento Maqueen Plus V2,(CC BY-SA)
Practicas sencillas para empezar a utilizar el Kit Maqueen plus v2. De este modo comprender de una forma más sencilla el funcionamiento del dispositivo.
Código Escuela 4.0 Extremadura - Presentación prácticas Maqueen plus v2 , CC BY-SA
Para ver a pantalla completa clicamos en presentación
Preparados para comenzar a trabajar con el alumnado.
¿Qué necesitas preparar?
Antes de la sesión de acompañamiento es conveniente:
Mostrar al alumnado el kit Maqueen Plus V2 y la placa Micro:bit. Explicar cómo sus sensores actúan como ojos y sus motores como piernas en nuestra misión de sigilo.
Mostrar al alumnado la interfaz de MakeCode. De esta forma, en el acompañamiento podremos centrarnos en cómo programar los bloques de "Si... entonces" para la evasión de muros.
Además, necesitarás este material:
Un portátil por cada equipo de agentes (máximo 3) con conexión a internet.
Documentos:
Documento para el alumnado (será necesario uno por pareja o como especifique el/la docente)
Hacer clic en la rueda dentada o en el menú "Extensiones"
En el buscador, escribir: Maqueen Plus V20.
Seleccionar la extensión oficial (suele ser de DFRobot).
Resultado. Aparecerá un nuevo menú de bloques (generalmente de color verde o rojo) con las funciones específicas del robot (Motores, LEDs, Sensor de línea, etc.).
Paso 2. Creación y gestión de variables del proyecto
Para que el programa pueda almacenar, recordar y procesar la información mencionada anteriormente, debemos crear estos "contenedores" de datos siguiendo este procedimiento general:
Definición de nuevas variables. Accede a la categoría Variables (color rojo) situada en el menú lateral de bloques y pulsa el botón "Crear una variable..." que aparece en la parte superior del panel.
Asignar nombre y disponibilidad. En la ventana emergente, escribe el nombre identificativo que represente el dato que deseas guardar (como "velocidad”) y pulsa Aceptar. Este proceso se debe repetir para cada variable diferente que necesites crear; una vez creadas, MakeCode generará automáticamente los bloques ovalados con sus nombres y los bloques de "fijar" y "cambiar" específicos para gestionarlas en tu código.
Paso 3. Inicialización del programa, configuración de hardware y establecimiento de la velocidad
Este paso establece los parámetros de comunicación y el estado inicial del robot al encenderse.
Establecemos la velocidad del rover. Al iniciarse el sistema, el robot fija su potencia en '20', una configuración que se mantiene activa para todas sus funciones hasta que decidamos modificarla desde un único punto.
Sincronización de hardware: Mediante el bloque de inicialización, establecemos el protocolo de comunicación necesario para que el cerebro (Micro:bit) controle el cuerpo del robot. El sistema realiza un autodiagnóstico: si la vinculación es exitosa, la matriz LED mostrará brevemente una 'V' (verificación); en caso de error en el hardware, mostrará una 'X'. Finalmente, el rover mostrará el icono de confirmación (tablero de ajedrez) para indicar que está listo para operar.
Paso 4. Desarrollo de la lógica de navegación segura y seguimiento de línea
El comportamiento del robot se construye desglosando un ciclo de vigilancia constante que decide cómo moverse según los obstáculos y la trayectoria detectada.
Uso de estructuras repetitivas (Bucles). Todo el programa se encuentra dentro de un bucle "para siempre", el cual se ejecuta indefinidamente para que el robot nunca deje de procesar la información de su entorno. Esta acción solo se detiene cuando el programa o la placa se apagan manualmente.
Desglose de la lógica principal. Dentro del bucle, el sistema evalúa primero una estructura condicional para comprobar si la distancia en cm (leída por los pines P13 y P14 del sensor de ultrasonidos) es mayor a 15.
Navegación con sensores de línea. Si el rover no detecta ningún obstáculo a menos de 15 cm, activa su lógica de seguimiento de línea. El programa evalúa el estado de los sensores infrarrojos para decidir el rumbo:
Estado normal: Si el sensor central (M) detecta la pista, el rover avanza de forma rectilínea activando ambos motores a la potencia definida en la variable velocidad.
Corrección de rumbo: Si el robot pierde el centro, evalúa sus laterales. Si el sensor izquierdo (L1) detecta negro, significa que se ha desviado a la derecha, por lo que pivota hacia la izquierda (invirtiendo el motor izquierdo). Si es el sensor derecho (R1) el que detecta la pista, realiza la maniobra inversa para recuperar la trayectoria.
Parada de emergencia: Si ninguno de los tres sensores detecta la pista o si se detecta un obstáculo cercano, el sistema bloquea los motores inmediatamente para evitar desplazamientos erráticos o colisiones.
Optimización experimental: Una vez comprendida la lógica, el alumnado deberá realizar un proceso de calibración. Ajustando únicamente el valor de la variable velocidad, deberán encontrar el punto de equilibrio donde el movimiento sea fluido y el tiempo óptimo ya que la velocidad no es un valor absoluto, sino una variable condicionada por el rozamiento del suelo, el estado de las baterías y la inercia del propio chasis.
Paso 5. Optimización experimental
Una vez comprendida la lógica, el alumnado deberá realizar un proceso de calibración. Ajustando únicamente el valor de la variable velocidad, deberán encontrar el punto de equilibrio donde el movimiento sea fluido y el tiempo óptimo ya que la velocidad no es un valor absoluto, sino una variable condicionada por el rozamiento del suelo, el estado de las baterías y la inercia del propio chasis.
En este enlace podemos encontrar el resultado de la actividad al completo.
Comenzamos - Cooperantes de Matemáticas
¡Equipo de Logística de Datos, vuestra labor es vital!
Estamos en una carrera contra el reloj. La ruta hacia la población aislada está llena de escombros y el tiempo de respuesta es vital para el éxito del rescate. Necesitamos que nuestros rovers sean lo más veloces posible sin que pierdan el control en las curvas.
Código Escuela 4.0 Extremadura. Imagen generada con Gemini IA. Actividad 3 CC0.
Nuestra misión es configurar un sistema sigue-líneas capaz de detectar obstáculos para que la ayuda llegue a tiempo, nosotros y nosotras. Nuestra tarea consiste en jugar con los valores de velocidad del código, probando diferentes cifras por encima y por debajo del valor 40, para cronometrar cuánto tardamos en completar el circuito. Una vez recogidos los tiempos, crearemos una nube de puntos matemática para encontrar el valor exacto que nos dé la máxima velocidad sin poner en riesgo la carga.
Aprenderemos a trabajar con funciones de optimización y puntos críticos para tomar decisiones técnicas basadas en datos reales. Entenderemos cómo la estadística bidimensional nos ayuda a predecir el comportamiento de nuestras naves y utilizaremos la correlación para ajustar nuestros algoritmos de navegación. ¡Optimizaremos cada segundo para lograr nuestra misión!
¡Preparémonos para los cambios del entorno!
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 inteligencia lógica! Para entrar en la base enemiga, no podemos ser lentos. Si un escáner nos detecta o un muro se cierra, nuestro robot quedará atrapado.
🚀 ¿Cuál es nuestro objetivo? No vamos a manejar el robot con un mando. Vamos a programar su cerebro para que:
Sienta. Use sus sensores para detectar peligros.
Actúe. Decida solo cómo escapar rápidamente.
🧠 El "Algoritmo de Infiltración" Vamos a programar el escudo de maniobras del robot Maqueen. Para que funcione bien, debemos ajustar dos cosas:
Rango de detección. A qué distancia el robot ve un obstáculo y nos avisa.
Rango de evasión. Cuándo debe el robot girar por sí solo para no ser capturado.
🧪 Laboratorio de Pruebas: ¡No adivines, comprueba!
Un buen programador siempre hace pruebas antes de la misión real.
Pondremos obstáculos falsos y zonas oscuras para ver cómo reacciona el robot.
Anotaremos todo lo que pase en una ficha.
Buscaremos el mejor camino para que el robot sea invisible y seguro.
Recuerda. En la academia Stealth, la información es nuestra mejor armadura. ¡Prepárate para los cambios!
Nos preparamos
Aquí recordamos cómo funcionaba Makecode y Micro:bit. Revisaremos la práctica de conexión para entender cómo interactúa la placa con el chasis del robot. Especialmente importante revisar la categoría de "Bucles" (loops) para no repetir código innecesariamente.
Código Escuela 4.0 Extremadura Presentación Makecode y micro:bit. Teoría(CC BY-SA)
Para ver a pantalla completa clicamos en presentación
Aquí recordamos cómo funciona la extensión Maqueen.
Código Escuela 4.0 Extremadura Presentación Maqueen. Teoría, (CC BY-SA)
Para ver a pantalla completa clicamos en presentación
Aquí tenemos un documento que nos ayudara a realizar la actividad:
¡Equipo de programación! Para que nuestro simulador de infiltración sea realista, el entorno y nuestra sonda deben actuar al unísono, como si fueran uno solo. Nosotros activaremos cada cambio con nuestras acciones lógicas.
Fase 0. Equipamiento técnico del rover
Antes de iniciar la navegación por las zonas montañosas aisladas, debemos preparar el entorno de programación instalando las herramientas que permiten al robot interactuar con sus motores y sensores. Accedemos al listado de categorías en MakeCode y pulsamos en el botón Extensiones.
Nuestro reto. Enseñar al procesador de la micro:bit a interpretar las señales del sensor de ultrasonidos y de los seguidores de línea para una navegación autónoma durante la entrega.
Pista de investigación. Buscamos la extensión oficial escribiendo en el buscador "Maqueen plus v20" (DFRobot) en el menú de "Extensiones". Verificamos que aparezcan nuevas categorías de bloques para controlar el movimiento y la lectura de los infrarrojos de trayectoria.
Comprobación/visualización. Observamos que en la barra lateral disponemos ahora de funciones específicas para gestionar el desplazamiento y la detección de obstáculos en tiempo real.
Fase 1. Calibración inicial y variable de crucero
Antes de entrar en movimiento, el rover necesita encender sus sistemas, identificarse y memorizar la velocidad a la que debe realizar la misión de forma estándar.
Nuestro reto. Configurar los parámetros de arranque dentro del bloque al iniciar para que el sistema esté calibrado desde el principio.
Pista de investigación. Creamos una variable llamada "velocidad" y la fijamos a un valor seguro inicial de 20. A continuación, introducimos el bloque de inicializar el Maqueen para que la placa reconozca el chasis, y finalizamos mostrando un icono que nos sirva como confirmación visual de que nuestra programación se ha cargado en la micro:bit y que el vehículo está operativo.
Comprobación / visualización. Al encender el rover, vemos el icono iluminado en la pantalla y sabemos que el sistema ha cargado la velocidad en su memoria y ha reconocido los motores.
Fase 2. Vigilancia ultrasónica del entorno (bucle para siempre)
Establecemos un ciclo de monitorización constante para que el rover sea capaz de detectar cualquier peligro imprevisto en su camino mientras avanza hacia su destino.
Nuestro reto. Garantizar que el robot nunca deje de procesar la información de proximidad para evitar colisiones durante la misión.
Pista de investigación. Situamos todo nuestro código dentro de un bloque para siempre. ¿Cómo ayuda este bucle a que el rover evalúe continuamente la distancia medida por los pines P13 y P14 del sensor de ultrasonidos? Establecemos la condición si el sensor ultrasonidos detecta obtsáculo a más de 15 cm.
Comprobación/visualización. Percibimos que el sistema se mantiene en un estado de vigilancia indefinido, listo para reaccionar ante cambios mayores o menores a un obstáculo a 15 cm.
Fase 3. Navegación inteligente por seguimiento de línea
Programamos al rover para que se mantenga dentro del trazado logístico establecido, realizando correcciones automáticas de rumbo mediante sus sensores infrarrojos de suelo.
Nuestro reto. Implementar una lógica de seguimiento de línea que permita al robot avanzar a una velocidad estable de 20 unidades cuando el camino esté despejado (más de 15 cm).
Pista de investigación. Dentro de la condición de camino despejado (>15 cm), evaluamos el estado de los sensores de línea M, L1 y R1 usando nuestra variable “velocidad". Si el sensor central detecta la línea (M=1), activamos los dos motores a velocidad “velocidad” (bloque ondulado de variable). Si no, si sensor izquierdo detecta la línea (L1=1), activamos el motor izquierdo hacia atrás y activamos el derecho hacia adelante a velocidad " velocidad" (bloque ondulado de variable) para corregir que se está metiendo en la línea. Si no, si el sensor derecho es quien la detecta (R1= 1), realizamos la corrección opuesta. En caso de estar centrados (si no), avanzamos con ambos motores a velocidad “velocidad”.
Comprobación/visualización. Observamos que el rover realiza trayectorias fluidas, ajustando su dirección de forma autónoma según las marcas del trayecto.
Fase 4. Protocolo de parada de emergencia activa
Finalizamos la lógica de navegación asegurando que el robot priorice la seguridad del personal y de los suministros ante cualquier obstáculo detectado a corta distancia.
Nuestro reto. Programar una detención instantánea de los motores si la distancia respecto a un objeto es de 15 cm o menos.
Pista de investigación. Finalizamos la estructura condicional principal de modo que, si el sensor de ultrasonidos detecta un obstáculo cercano (si no), se ejecute inmediatamente el bloque detener dos motores.
Comprobación/visualización. Verificamos que el rover detiene su marcha en seco al encontrar un impedimento, cumpliendo con los estándares de seguridad activa de nuestra misión.
Fase 5. Auditoría estadística de fiabilidad
Una vez que el rover es capaz de completar la ruta, registramos los datos temporales para determinar si nuestra flota es apta para operar en situaciones críticas.
Nuestro reto. Realizar varios intentos de entrega completos subiendo la velocidad de 10 en 10 cada vez (comenzamos a 20) y calcular la media aritmética de los tiempos de llegada para analizar la eficiencia de la flota.
Pista de investigación. Descargamos la programación en la micro:bit (ver tutorial en "Nos preparamos"). Recogemos los cronometrajes de cada misión exitosa cambiando, en cada prueba, el valor fijado de la variable (en el bloque al iniciar) y descargado de nuevo la programación. Calculamos el promedio sumando todos los tiempos y dividiendo por el número de intentos. Investigamos también la desviación típica para entender la dispersión y fiabilidad de los datos.
Comprobación/visualización. Comprobamos si los resultados son constantes. Es recomendable cambiar los valores de velocidad e ir probando hasta que el siguelíneas sea óptimamente fluido, ya que la velocidad no es absoluta, sino que depende del estado del robot y del suelo; una desviación baja nos confirma que el robot es fiable y que la planificación permite salvar vidas de forma eficiente.
Nuestras herramientas de apoyo
Consejo de programación eficiente. Hemos creado la variable llamada "velocidad" para solo cambiar un valor en cada prueba. En el bloque básico al iniciar, fijamos "velocidad" a : 20, 30, 40, 50, ... (indicamos la velocidad que queramos en cada prueba). De esta forma, el desplazamiento de nuestro rover irá a la velocidad fijada en cada nuevo recorrido que realicemos.
Consejo de navegación. Es fundamental iniciar con la velocidad en un valor bajo (como 20) para valorar qué tiempo necesitan los sensores infrarrojos para reaccionar en las curvas cerradas sin perder el rastro de la línea.
Consejo de seguridad. También el sensor de ultrasonidos necesita una velocidad adecuada; si esta es excesiva, puede provocar una detección del obstáculo demasiado tarde. El sensor actúa como nuestro sistema de seguridad activa; recordamos que en Tech-Aid Global la seguridad del equipo está siempre por encima de la rapidez de la entrega.
Nuestra autocomprobación
¿Hemos configurado el bucle "para siempre" para que el robot nunca deje de monitorizar su entorno de trabajo?
¿Se activa la parada de emergencia automática si el obstáculo está a 15 cm o menos?
¿Hemos realizado el cálculo de la media aritmética para auditar la fiabilidad de las entregas en el informe final?
Un poco de ayuda
Montamos nuestro código
En este apartado podemos acceder al código necesario pero desmontado, nosotros tendremos que ensamblarlos de la forma adecuada.
¡Buena suerte!
Aprendo, pienso y crezco
Aprendo , pienso y crezco
El diario de aprendizaje es nuestra Memoria Corporativa de la Misión. No es un cuaderno para copiar teoría, sino un espacio para reflexionar sobre cómo hemos trabajado en equipo, cómo hemos diseñado nuestras soluciones y cómo hemos superado los retos técnicos de Tech-Aid Global.
Diario de aprendizaje (será necesario uno por grupo de alumnos o como especifique el docente)
Una vez que nuestra flota de rovers ha completado el despliegue logístico en la zona del desastre, procedemos a realizar la Validación Técnica final. Llegó el momento de auditar nuestro rendimiento frente a la Junta Directiva de la ONG para comprobar si nuestra intervención ha sido viable, precisa y totalmente segura para la misión de rescate.
Organización de los escuadrones
Departamento de Logística y Matemáticas. Presentaremos la evaluación real de nuestros vehículos de transporte. Expondremos la estadística recogida sobre los tiempos del Maqueen en la ruta, usando la nube de puntos y la correlación entre velocidad y tiempo para hallar la configuración más rápida sin perder seguridad.
Departamento de Prevención y Seguridad (FOPP). Evaluaremos la capacidad de respuesta que hemos demostrado bajo presión. Analizaremos cómo reaccionó nuestro equipo aplicando el protocolo Proteger, Avisar y Socorrer en tiempo real al detectar el vuelco de un rover, y propondremos ajustes para mejorar la gestión de crisis.
1. Roles del equipo
Para la exposición, dividiremos el trabajo en tres funciones estratégicas para garantizar la participación de todo nuestro equipo:
La portavocía. Explicaremos la urgencia de nuestra misión logística contra reloj, justificando cómo el trabajo cooperativo y la comunicación asertiva garantizan la integridad del convoy en la montaña.
La parte técnica. Haremos la demostración en vivo de la solución, enseñando cómo el rover recorre la ruta y cómo los sensores de inclinación junto a la radio logran detener al grupo si hay un accidente.
El análisis. Expondremos los datos de nuestra telemetría, detallando el sistema de inecuaciones para la velocidad segura y la optimización matemática que nos permite llegar en el menor tiempo posible.
2. Objetivo y programación (¿qué y por qué?)
Explicaremos la lógica de nuestro código y su utilidad vital para el éxito de la ayuda humanitaria:
El objetivo. Buscamos dar con los valores de velocidad óptimos para que los rovers lleguen a las zonas afectadas muy rápido, estableciendo además una red de alerta por radio que detenga la marcha si alguien vuelca.
Las instrucciones (Entradas y Salidas). Detallaremos cómo hemos ajustado los giros en el código siguelíneas y cómo programamos el envío de mensajes de emergencia que se disparan con el sensor de inclinación.
3. Diario de errores y soluciones
Documentaremos las dificultades que superamos durante los ensayos en nuestro terreno de pruebas:
Fallos técnicos. Reflexionaremos sobre los problemas vividos: ¿pusimos una velocidad excesiva y el robot abandonó el arco de circunferencia? ¿fallaron los mensajes de radio dificultando la toma de decisiones en plena crisis?
Solución. Explicaremos cómo recalibramos los límites de velocidad por ensayo y error para no penalizar el tiempo de la ruta, y cómo reescribimos el código de transmisión para que la alerta funcionara sin demoras.
4. Comprobación y conclusiones
Analizaremos si esta solución es apta para usarla en una emergencia de la vida real:
Contraste. Evaluaremos el comportamiento de nuestra flota al simular un vuelco real, verificando si la alerta de inclinación llega a tiempo a los demás vehículos para parar el convoy de inmediato.
Conclusión. Valoraremos si por fin hemos hallado el punto óptimo entre rapidez y control. Reflexionaremos sobre por qué la precisión matemática y los protocolos preventivos marcan el éxito de un rescate humanitario.
5. Formato de presentación
Elegiremos la opción que mejor demuestre nuestra competencia como rescatistas de élite:
Opción A. Demo en vivo. Haremos una prueba real en el circuito del aula. Forzaremos manualmente el accidente de un vehículo y demostraremos cómo la radio coordina la parada de toda la flota.
Opción B. Mapa del algoritmo. Proyectaremos la programación para explicar el flujo de decisiones: cómo evalúa las condiciones de inclinación y el sistema de inecuaciones que controla el movimiento seguro.
Opción C. Registro de datos. Mostraremos nuestra hoja de telemetría y una gráfica de regresión, comparando la velocidad de giro con los tiempos logrados para justificar por qué nuestra configuración es fiable.