El Robot Cosquilloso
Hasta ahora, nuestros programas han estado constantemente revisando los sensores dentro de un bucle, como un niño impaciente que pregunta "¿ya llegamos?". ¡Pero hay una forma mucho más inteligente de programar! En esta misión, le daremos "reflejos" a nuestro programa. Aprenderás sobre los eventos, que permiten que el código espere en silencio y reaccione instantáneamente solo cuando algo importante sucede. ¡Prepárate para construir un robot cosquilloso que se ríe a carcajadas cuando le das un aplauso!
Nivel Básico
¿Qué haremos?
¿Eres un profesor?
Cursos
- Grados 3-12
Materiales
- Celular, tableta o computador
- Conexión a Internet
- Cartón, tijeras y un par de elásticos para sujetar el celular al cartón
Descripción
Esta actividad introduce a los estudiantes el concepto fundamental de la programación dirigida por eventos. En lugar de usar un bucle principal para verificar constantemente un sensor, aprenderán a usar un bloque de evento que "escucha" un cambio (un aumento súbito de ruido) y desencadena una secuencia de acciones.
Objetivos Educativos
- Comprender el concepto de un "evento" como un disparador.
- Diferenciar entre un programa basado en bucles y uno basado en eventos.
- Crear una secuencia de acciones que se ejecuta en respuesta a un evento.
- Construir un prototipo más interactivo y "vivo".
Inicio (10 minutos) - El Timbre y el Programa Eficiente
- Da la bienvenida a los estudiantes y presenta el nuevo concepto: "Hoy vamos a aprender una forma más profesional y eficiente de hacer que nuestros programas reaccionen. ¡Vamos a darle vida a un robot cosquilloso!"
- Usa una analogía simple: "Piensen en un timbre. ¿Está constantemente sonando y preguntando si hay alguien en la puerta? ¡No! Espera en silencio, y solo suena cuando alguien presiona el botón. Esa 'presión del botón' es un evento. Es una notificación que despierta al programa."
- Explica que hoy le enseñaremos a nuestro robot a esperar un evento (un aplauso) y reaccionar, en lugar de preguntar constantemente si hay ruido.
El Problema de Preguntar Constantemente
Hasta ahora, hemos usado un bucle repetir para siempre para leer nuestros sensores. Este método funciona, pero es como un niño en un viaje en coche que pregunta "¿ya llegamos?, ¿ya llegamos?, ¿ya llegamos?" cada segundo. El programa está constantemente trabajando y usando energía para preguntar al sensor si algo ha cambiado, incluso cuando no está pasando nada.
Una Forma Más Inteligente: ¡Los Eventos!
La programación basada en eventos es mucho más eficiente. En lugar de que el programa pregunte sin parar, simplemente se suscribe a un sensor y le dice: "Avísame si algo interesante sucede". El programa puede entonces "dormir" o esperar en silencio. Cuando el sensor detecta algo importante (como un aplauso), envía una notificación, un evento, que despierta al programa y le dice: "¡Hey, es hora de actuar!".
Evento como Disparador (Trigger)
En nuestro robot, el aplauso es el evento, este evento actúa como un disparador. No cambia el comportamiento del robot para siempre; simplemente "dispara" una secuencia de acciones que ya habíamos preparado: la animación de la risa. Una vez que la secuencia termina, el robot vuelve a su estado de espera silencioso, listo para el próximo "disparo".
Desarrollo (20-30 minutos) - Programando los Reflejos del Robot
- Con la idea clara de que un evento es una notificación, es hora de construir al robot.
- Guía a los estudiantes a través de las instrucciones para diseñar la cara del robot y programar su reacción al evento de sonido, como se detalla a continuación. Haz hincapié en que la lógica principal no está dentro de un bucle
repetir para siempre.
Cierre (5-10 minutos) - Eventos vs. Bucles
- Una vez que todos los robots estén riendo al recibir aplausos, es hora de consolidar este nuevo paradigma de programación.
- Inicia la discusión: "¿Notaron que este código es diferente? ¿Dónde está el bucle principal que siempre usábamos? ¿Por qué creen que no lo necesitamos esta vez?" Utiliza las preguntas de la sección de reflexión para profundizar en la eficiencia y el poder de la programación basada en eventos.
Reflexiona
Este programa se siente "reactivo": responde al instante. ¿Cuál es la diferencia principal entre usar un evento y usar un bucle infinito para verificar un sensor?
El evento es el "disparador". ¿Cuál es la "secuencia de acciones" que se dispara en este proyecto?
Si quisieras que la risa del robot fuera más larga, ¿qué número en el código cambiarías?
El Problema de Preguntar Constantemente
Hasta ahora, hemos usado un bucle repetir para siempre para leer nuestros sensores. Este método funciona, pero es como un niño en un viaje en coche que pregunta "¿ya llegamos?, ¿ya llegamos?, ¿ya llegamos?" cada segundo. El programa está constantemente trabajando y usando energía para preguntar al sensor si algo ha cambiado, incluso cuando no está pasando nada.
Una Forma Más Inteligente: ¡Los Eventos!
La programación basada en eventos es mucho más eficiente. En lugar de que el programa pregunte sin parar, simplemente se suscribe a un sensor y le dice: "Avísame si algo interesante sucede". El programa puede entonces "dormir" o esperar en silencio. Cuando el sensor detecta algo importante (como un aplauso), envía una notificación, un evento, que despierta al programa y le dice: "¡Hey, es hora de actuar!".
Evento como Disparador (Trigger)
En nuestro robot, el aplauso es el evento, este evento actúa como un disparador. No cambia el comportamiento del robot para siempre; simplemente "dispara" una secuencia de acciones que ya habíamos preparado: la animación de la risa. Una vez que la secuencia termina, el robot vuelve a su estado de espera silencioso, listo para el próximo "disparo".
Crear
Construyamos nuestro robot cosquilloso.
Construye el modelo de cartón— también necesitas un par de elásticos para sujetar el teléfono al cartón
- Presiona ✙ Añadir dispositivo y selecciona NivelRuido para detectar los aplausos.
- Añade el componente DibujoLED para mostrar la cara del robot.
- Finalmente, añade ReproductorSonido para la risa.
- Recuerda que puedes escanear todos los códigos ▣ QR en el mismo celular.
¡Estamos listos para darle vida a nuestro robot!
Composición del Código
Observa atentamente: ¡no hay un bucle repetir para siempre para la lógica principal! El bloque Al iniciar configura la cara estática del robot. Toda la magia ocurre en el bloque de evento cuando el nivel de ruido detecta aumento repentino. Cuando aplaudes, este bloque se activa, reproduce el sonido y ejecuta un bucle repetir 8 veces para animar la boca. Después, un bloque detener sonido corta la risa si aún sonaba, y un último dibuja vuelve a poner la cara de reposo — la misma de Al iniciar. Por eso el robot queda listo para el próximo aplauso.
Reflexiona
Este programa se siente "reactivo": responde al instante. ¿Cuál es la diferencia principal entre usar un evento y usar un bucle infinito para verificar un sensor?
El evento es el "disparador". ¿Cuál es la "secuencia de acciones" que se dispara en este proyecto?
Si quisieras que la risa del robot fuera más larga, ¿qué número en el código cambiarías?