Bola 8 mágica con micro:bit: condicionales y números aleatorios
Haz una pregunta, agita la placa y recibe una respuesta al azar: «Sí», «No» o «No lo sé». Un proyecto práctico para aprender eventos, variables, azar y lógica IF/ELSE.
¿Cómo funciona la bola 8 con micro:bit? Al detectar que la placa se agita, el programa utiliza números aleatorios y una estructura condicional para elegir entre tres respuestas: «Sí», «No» o «No lo sé».
Crea una bola mágica que responde al agitar micro:bit
Este proyecto funciona mejor con una placa física porque utiliza el acelerómetro integrado para detectar el gesto de agitar. El simulador de MakeCode permite probar el evento, pero manipular la placa hace que el ejercicio resulte mucho más claro y divertido.
Secuencia del proyecto
Presentar el juego
Mostramos una frase inicial y el número 8 al encender la placa.
Detectar el gesto
El evento «al agitar» inicia una nueva consulta a la bola mágica.
Elegir la respuesta
Un número aleatorio decide qué mensaje aparece en la pantalla.
¿Qué vamos a aprender con esta actividad?
Este ejercicio es un repaso práctico de los condicionales. Está pensado para personas que están empezando y necesitan comprender no solo qué bloque deben arrastrar, sino también por qué el programa toma una decisión u otra.
La bola 8 mostrará una respuesta cuando agitemos la placa. Para conseguirlo, aprenderemos a diferenciar una instrucción que se ejecuta siempre de otra que solo se ejecuta cuando se cumple una condición.
Condición
Permite decirle al programa: «si ocurre esto, entonces realiza esta acción».
Entrada
El gesto de agitar envía información a la placa e inicia la respuesta.
Azar
El número aleatorio permite que la respuesta no sea siempre la misma.
Salida
La matriz LED muestra el mensaje elegido por el programa.
Repasamos: ¿qué es un dato lógico o booleano?
Para entender los condicionales necesitamos conocer un poco la lógica de programación. Un dato booleano solo puede tener dos valores: verdadero (true) o falso (false).
También podemos encontrar esta misma idea representada como sí o no, encendido o apagado o 1 y 0. Aunque cambien las palabras, siempre hay dos estados posibles.
Una comparación produce precisamente uno de esos dos resultados. Por ejemplo, la pregunta «¿el número elegido es igual a 2?» solo puede responderse con verdadero o falso.
Aplicado a la bola 8
El programa comprobará varias condiciones. Si una comparación es verdadera, mostrará la respuesta asociada. Si es falsa, pasará a comprobar la siguiente posibilidad.
¿Qué es una condición en programación?
Una condición es una regla que debe cumplirse para que se ejecute una acción. Con el bloque IF —«si… entonces»— le explicamos a la placa cuándo debe hacer algo.
Por ejemplo: si se pulsa el botón A, entonces muestra una sonrisa. La sonrisa solo aparecerá cuando se cumpla esa condición. Si pulsamos el botón B, no aparecerá porque el programa no ha recibido la entrada que estaba esperando.
Una instrucción colocada en «al iniciar» es incondicional: se ejecuta automáticamente al encender la micro:bit.
Ejemplo: la acción ocurre únicamente cuando se cumple la condición indicada.
Instrucción incondicional: no necesita que hagamos nada para ejecutarse. Por ejemplo, un mensaje dentro de «al iniciar» aparece nada más encender la placa.
¿Qué ocurre cuando la condición no se cumple?
Si nuestro único bloque dice «si se pulsa A, muestra una sonrisa» y no pulsamos A, no sucede nada. El programa no tiene instrucciones para la situación contraria.
Para indicar qué debe ocurrir cuando la primera condición es falsa utilizamos ELSE, que en MakeCode aparece como «si no».
IF · Si se cumple
Si se pulsa el botón A, el programa muestra una cara sonriente.
ELSE · Si no se cumple
Si la condición anterior es falsa, el programa ejecuta la alternativa, por ejemplo mostrar «Pulsa A».
Es importante expresarlo con precisión: ELSE no significa “falso” por sí mismo. Es la rama que se ejecuta cuando la condición anterior ha dado como resultado falso.
Ejemplo completo
- IF: al pulsar A aparece una sonrisa.
- ELSE: cuando no se cumple esa condición aparece el mensaje «Pulsa A».
Esta estructura permite que el programa tenga una respuesta para ambos caminos.
Ejemplo visual de una estructura IF/ELSE con micro:bit.
En nuestra bola mágica: necesitaremos tres caminos. Utilizaremos «si», después «si no, si» y finalmente «si no» para mostrar SÍ, NO o NO SÉ.
Solución del ejercicio: bola 8 mágica con micro:bit
Vamos a construir el programa siguiendo el mismo orden que aparece en el vídeo. La explicación mantiene los bloques originales para que puedas leer cada paso y localizarlo después de forma visual.
Primera parte: presenta la bola mágica
Lo primero que vamos a hacer es indicar a la persona que puede formular una pregunta y mostrar el número 8 para que reconozca el juego.
- Borra el bloque «para siempre». Coloca el ratón sobre el bloque, pulsa el botón derecho y selecciona la opción para eliminarlo. En este ejercicio no necesitamos repetir instrucciones continuamente.
- Dentro de «al iniciar» —on start— entra en Básico y arrastra el bloque «mostrar cadena» —show string—.
- Escribe el mensaje «Haz una pregunta». Puedes personalizarlo, pero recuerda que los textos largos se desplazan por la matriz LED.
- Debajo del mensaje, añade desde Básico el bloque «mostrar número» —show number— y escribe el número 8.
Estas instrucciones se encuentran en «al iniciar», por lo que se ejecutarán automáticamente al encender la placa. Primero leeremos el mensaje y después aparecerá el número 8.
Primera parte del ejercicio: mensaje inicial y número 8.
¿Por qué mostramos de nuevo el 8?
El número 8 funciona como una señal visual. Indica que la placa está preparada para que hagamos una pregunta y la agitemos.
Segunda parte: detecta que agitamos la placa
Ahora vamos a crear la acción que ocurrirá cuando movamos físicamente la micro:bit como si fuera una bola mágica.
- Entra en el bloque Entrada —Input— y selecciona «al agitar» —on shake—.
- Arrastra este evento al espacio de trabajo. Todo lo que coloquemos dentro se ejecutará únicamente cuando el acelerómetro detecte que hemos agitado la placa.
- Dentro de «al agitar», entra en Básico y añade «borrar pantalla» —clear screen—.
Al borrar la pantalla retiramos el número 8 antes de mostrar la respuesta. Así la nueva información se presenta de forma más clara.
Tercera parte: crea las condiciones de la respuesta
Una vez preparadas las acciones iniciales, vamos a decirle a la placa cómo debe elegir entre las respuestas posibles.
- Dentro de Lógica, escoge el bloque «si verdadero entonces / si no». Después utilizaremos el icono + para añadir una segunda condición.
- En la primera condición, sustituye «verdadero» por un bloque de comparación. Este bloque también está dentro de Lógica.
- En el espacio de la izquierda de la comparación coloca «elegir al azar» o random number. En las versiones actuales de MakeCode suele encontrarse en Matemática; también puedes localizarlo mediante el buscador.
- Mantén el rango de números que aparece en tu vídeo y, en el valor derecho de la comparación, escribe 2.
- Dentro de esta primera rama, entra en Básico, añade «mostrar cadena» y escribe «SÍ».
¿Qué acabamos de decirle a la placa? Que compruebe una comparación. Si esa comparación resulta verdadera, mostrará el mensaje «SÍ». Si resulta falsa, continuará con la siguiente condición.
- Pulsa el icono + del bloque condicional para añadir una rama «si no, si». Si aparece una rama adicional que no necesitas, puedes retirarla con el icono −.
- Puedes duplicar la comparación anterior con el botón derecho del ratón y arrastrarla a la nueva rama.
- En esta segunda comparación, sustituye el valor 2 por 1, tal como aparece en el vídeo.
- Debajo, añade otro bloque «mostrar cadena» y escribe «NO».
- En la rama final «si no», añade «mostrar cadena» y escribe «NO SÉ».
La estructura se lee de arriba abajo. Primero intenta cumplir la condición del «SÍ». Si no se cumple, prueba la condición del «NO». Si tampoco se cumple, llega a la rama final y muestra «NO SÉ».
Cuarta parte: prepara la siguiente pregunta
Después de mostrar la respuesta debemos indicar que la bola está lista para volver a utilizarse.
- Debajo de todo el bloque condicional, entra en Básico y añade «mostrar número».
- Escribe de nuevo el número 8.
- Este bloque debe quedar dentro de «al agitar», pero fuera de las ramas IF/ELSE, para que aparezca después de cualquiera de las tres respuestas.
De esta forma, cuando termine la respuesta veremos otra vez el número 8 y sabremos que podemos formular una pregunta nueva.
Compara el resultado final con los bloques que aparecen en tu vídeo.
¡Hecho! Descarga el programa, transfiérelo a la micro:bit, formula una pregunta, agita la placa y observa la respuesta. Después aparecerá de nuevo el número 8.
Ideas para personalizar la bola mágica
Añade respuestas
Amplía el rango aleatorio y crea mensajes como «Tal vez», «Pregunta otra vez» o «Seguro».
Incorpora sonido
Reproduce un tono diferente para respuestas positivas, negativas o dudosas.
Usa iconos
Sustituye las palabras por una cara feliz, una cruz o un signo de interrogación.
Solución de la bola 8 con micro:bit en vídeo
Sigue la construcción del proyecto en MakeCode y compara los bloques con la explicación paso a paso.
Material para seguir aprendiendo con micro:bit
Empieza con una placa completa, equipa un aula o amplía tus prácticas con electrónica y construcción.
Kit micro:bit GO
Incluye lo necesario para ejecutar la bola mágica y continuar con proyectos de iniciación.
Ver kit micro:bit
Pack de 10 micro:bit
Permite realizar el ejercicio por equipos y comparar soluciones y personalizaciones.
Equipar el aula
Caja de experimentos
Amplía el aprendizaje con componentes, sensores y nuevas entradas y salidas.
Ver caja de experimentosMás proyectos: visita la sección de recursos de micro:bit de Createc3D para continuar con actividades de programación y robótica educativa.
Dudas sobre la bola 8 de micro:bit
¿Necesito una placa micro:bit para realizar el ejercicio?
MakeCode permite simular el gesto de agitar, pero la placa física ofrece la experiencia completa gracias a su acelerómetro.
¿La explicación coincide con el vídeo original?
Sí. Esta versión mantiene la misma secuencia de bloques y comparaciones mostrada visualmente en el tutorial.
¿Cómo se eligen las tres respuestas?
Las comparaciones mostradas en el vídeo determinan cuándo aparece «Sí» o «No»; la rama final muestra «No lo sé» cuando no se cumple ninguna de las anteriores.
¿Cómo puedo añadir más respuestas?
Aumenta el límite del número aleatorio y añade más condiciones «si no, si» para los nuevos valores.
¿Qué sensor detecta que agitamos la placa?
El acelerómetro integrado detecta cambios de movimiento y activa el evento «al agitar».
Haz una pregunta, agita la placa y descubre la respuesta
Programa la versión básica, prueba la lógica y después amplía el proyecto con más respuestas, sonidos e iconos.
