- Diseña programas usando la programación por bloques
Criterios de evaluación:
a) Se conocen las principales características de los lenguajes de programación.
b) Se ha instalado y configurado el entorno de programación.
c) Se han identificado los componentes básicos de un programa por bloques.
d) Se han seleccionado y utilizado los bloques adecuados para realizar programas sencillos.
e) Se han realizado programas utilizando estructuras secuenciales de bloques y funciones.
f) Se han creado programas utilizando bucles iterativos de acciones.
g) Se han utilizado bloques para comunicación y representación visual.
a) Se conocen las principales características de los lenguajes de programación.
- Actividad 1.a: «Explorando el entorno de MakeCode.» Se les pide a los alumnos que abran la plataforma de MakeCode y escriban una breve descripción de las partes principales de la interfaz. Deberán identificar los tres elementos clave: la paleta de bloques, el área de trabajo y el simulador de micro:bit.

- Actividad 2.a: «El primer programa.» Deberán crear su primer programa simple en el simulador de micro:bit que muestre un texto o un ícono. Deberán explicar con sus propias palabras cómo los bloques se traducen en una acción visible en el simulador.
- Actividad 3.a: «Del bloque al código.» Los alumnos pasarán de la vista de bloques a la vista de código JavaScript y Python. Deberán capturar una imagen del código y compararlo con los bloques, identificando las equivalencias de cada uno.

b) Se ha instalado y configurado el entorno de programación.
- 1. Corazón Palpitante/Icono Animado:
- ◦ Objetivo: Crear una animación sencilla en la matriz de LEDs de la Micro:bit.
- ◦ Actividad: Utiliza bloques básicos para alternar la visualización de un corazón grande y uno pequeño, creando el efecto de latido. Esto ayuda a identificar bloques de salida visual y comprender la secuencia lógica en un bucle «para siempre».

- Pasos Detallados en la plataforma MakeCode
- Iniciar un nuevo proyecto: Abre el navegador y ve a la página de Microsoft MakeCode for micro:bit. Haz clic en «Nuevo Proyecto» y dale un nombre, por ejemplo, «Corazón Palpitante».
- Configurar el bucle principal:
- Verás dos bloques predeterminados en el área de trabajo:
al iniciar
ypor siempre
. - Para esta actividad, nos centraremos en el bloque
por siempre
del menú Básico. Este bloque es fundamental porque cualquier código que coloques dentro de él se repetirá de forma infinita, lo que es perfecto para una animación continua.
- Verás dos bloques predeterminados en el área de trabajo:
- Mostrar el primer icono (corazón grande):
- Ve a la categoría Básico en la paleta de bloques.
- Arrastra el bloque
mostrar icono
y colócalo dentro del bloquepor siempre
. - Haz clic en el menú desplegable del bloque
mostrar icono
y selecciona el ícono del corazón grande. - En el simulador de la micro:bit, verás que el corazón grande aparece inmediatamente.
- Añadir un tiempo de espera:
- Para que la animación no sea demasiado rápida, necesitamos una pausa.
- En la categoría Básico, encuentra el bloque
pausar (ms)
y arrástralo debajo del bloquemostrar icono
que acabas de colocar. - El valor predeterminado es 100 milisegundos. Puedes cambiarlo a 500 milisegundos para un efecto de latido más visible.
- Mostrar el segundo icono (corazón pequeño):
- Arrastra otro bloque
mostrar icono
y colócalo debajo del bloque depausar
. - Haz clic en el menú desplegable y selecciona el ícono del corazón pequeño.
- Arrastra otro bloque
- Añadir otro tiempo de espera:
- Para que el corazón pequeño también sea visible, arrastra otro bloque
pausar (ms)
debajo del segundomostrar icono
. - Establece el valor en 500 milisegundos.
- Para que el corazón pequeño también sea visible, arrastra otro bloque
- Verificar y probar el programa:
- Observa el simulador de micro:bit en la plataforma. Deberías ver cómo el corazón cambia de grande a pequeño, con una breve pausa entre cada cambio. Esto crea el efecto visual de un latido.
- Cargar el programa a la micro:bit física (opcional):
- Actividad 2.b: «Navegando en los bloques.» Deberán explorar las diferentes categorías de bloques (Básico, Entrada, Música, etc.) y describir qué tipo de acciones o funciones se encuentran en cada una de ellas.

c) Se han identificado los componentes básicos de un programa por bloques.
- Actividad 1.c: «Bucle infinito y botones.» Deberán crear un programa que utilice los bloques al iniciar y por siempre, y luego agregar un bloque de evento de entrada como al presionar el botón A para realizar una acción distinta.
- Actividad 2.c: «Variables en acción.» Se les pide que creen un programa que use una variable para contar el número de veces que se presiona un botón B. Deberán mostrar el valor de la variable en la pantalla de micro:bit.
- El botón A suma una unidad al display. No se puede superar el 9.
- El botón B resta una unidad al display. No se puede bajar de 0
- El botón A+B suma una unidad al display, al llegar a 9 se pasa a 0.

- Actividad 3.c: «El termómetro digital.» Deberán usar un bloque de sensor (como el de temperatura) para leer el valor y mostrarlo en la pantalla, utilizando un bloque de representación visual.
d) Se han seleccionado y utilizado los bloques adecuados para realizar programas sencillos.
- Actividad 1.d: «El dado digital.» Deberán crear un programa que muestre un número aleatorio entre 1 y 6 en la pantalla de la micro:bit cuando se agite la placa.
- El botón A muestra un número aleatorio entre 0 y 4.
- El botón B muestra un número aleatorio entre 5 y 9.

- Actividad 2.d: «La brújula mágica.» Se les pide que utilicen el sensor de brújula de la micro:bit para mostrar una de las cuatro direcciones cardinales (N, S, E, O) según la orientación de la placa.
e) Se han realizado programas utilizando estructuras secuenciales de bloques y funciones.
- Actividad 1.e: Patrón de luces secuencial. Esta actividad se enfoca en el uso de la programación secuencial para encender una serie de LEDs en un orden predeterminado, y luego apagarla de la misma forma, para que quede claro el concepto de secuencia de ejecución.
Descripción: Programa la pantalla LED de MicroBit para que un solo LED se mueva en línea recta desde la primera columna hasta la última. Una vez que llegue al final, la secuencia se repetirá.
Estructura de la programación:
Crea una función llamadadibujar_patron()
.
Dentro de la función, utiliza la instruccióndisplay.set_pixel()
para encender los LEDs uno por uno en la misma fila, con un pequeño retraso entre cada uno usandosleep()
.
Llama a la funcióndibujar_patron()
desde el bucle principalwhile True
para que el patrón se repita.
- Actividad 2.e: Reacción en cadena. Esta actividad enseña cómo las funciones pueden ejecutar una serie de acciones y luego llamar a otra función para continuar con una secuencia más compleja.
Descripción: Diseña una secuencia de animación en la que un patrón de LEDs en la pantalla se enciende y apaga. Cuando la animación termine, se mostrará una flecha que apunta hacia abajo.
Estructura de la programación:
Crea una función llamadaanimacion_1()
que encienda un patrón de LEDs y luego los apague con un retraso.
Crea una segunda función,mostrar_flecha()
, que muestre una imagen de flecha en la pantalla.
En la función principal del programa, llama primero aanimacion_1()
y, cuando esta termine, llama amostrar_flecha()
. Esto demuestra la ejecución secuencial entre funciones. - Actividad 3.e: Contador de rebotes. Con esta actividad, explorarás cómo usar una función para realizar una tarea repetitiva y devolver un valor, demostrando el concepto de retorno de valores y el uso de variables.
Descripción: Crea un programa que simule un rebote en la pantalla de un LED. Cada vez que el LED rebote en un borde, una variable aumentará. Al final de la simulación, se mostrará el número de rebotes.
Estructura de la programación:
Define una funciónsimular_rebote()
que mueva un LED de un lado a otro en la pantalla. Utiliza una variable local dentro de la función para contar el número de rebotes.
La funciónsimular_rebote()
debe devolver el valor de la variable de rebotes.
En el bucle principal, llama a la funciónsimular_rebote()
y guarda su valor devuelto en una variable global.
Al final, muestra el valor de la variable global en la pantalla. - Actividad 4.e: Sistema de alarma visual. En esta actividad, se introduce la idea de un «estado de alarma» y cómo una función puede ser usada para representar ese estado.
Descripción: Crea un sistema de alarma que, cuando se active, haga parpadear toda la pantalla con un patrón de LEDs. Al terminar la secuencia, la pantalla se debe limpiar para mostrar que el estado de alarma ha finalizado.
Estructura de la programación:
Crea una función llamadaactivar_alarma()
que encenderá y apagará repetidamente todos los píxeles de la pantalla, con un retraso corto entre cada encendido y apagado.
En el bucle principal, llama a la funciónactivar_alarma()
para que la alarma se inicie.
Al terminar la secuencia de la alarma, añade una línea de código para que el display se limpie usandodisplay.clear()
. - Actividad 5.e: Visualizador de puntuación. Esta actividad te ayudará a entender cómo las funciones pueden interactuar con variables globales para actualizar datos y cómo mostrar esos datos en el display.
Descripción: Programa una simulación en la que el usuario gana puntos. Cada vez que el jugador gana, se llamará a una función para actualizar su puntuación. Cuando la simulación termine, se mostrará la puntuación final.
Estructura de la programación:
Crea una variable global llamadascore
inicializada en 0.
Crea una funciónaumentar_puntuacion()
que aumente el valor de la variable globalscore
.
En el bucle principal, simula los momentos en los que se obtienen puntos llamando a la funciónaumentar_puntuacion()
.
Cuando la simulación termine, muestra el valor final de la variablescore
en la pantalla.
f) Se han creado programas utilizando bucles iterativos de acciones.
- Actividad 1.f: «El corazón latiendo.» Se les pide crear una animación de un corazón que se hace grande y pequeño de forma repetida. Deberán utilizar un bucle por siempre para lograrlo.

- Actividad 2.f: «Contador de 10.» Deberán crear un programa que muestre los números del 1 al 10 en la pantalla, con un retraso de 500 milisegundos entre cada número, utilizando un bucle repetir (n) veces.
- Al pulsar A se aumenta el contador en una unidad entre 0 y 9. Al llegar a 9 ya no cuenta más.
- Al pulsar B se disminuye el contador en una unidad entre 9 y 0. Al llegar a 0 ya no resta más.
- Al pulsar A+B el contador suma una unidad entre 0 y 9. Al llegar a 9 vuelve a 0.

- Actividad 3.f: «El sensor de luz.» Se les pide crear un programa que, utilizando un bucle por siempre, muestre un nivel de luz en una escala de 0 a 255. Si el nivel de luz es inferior a un valor (por ejemplo, 50), la micro:bit debe mostrar un ícono de sol.
g) Se han utilizado bloques para comunicación y representación visual.
- Actividad 1.g: «El medidor de felicidad.» Deberán crear un programa que muestre un ícono de cara feliz si la temperatura es superior a 25 grados y un ícono de cara triste si es inferior.
- Actividad 2.g: «El mensaje secreto.» Se les pide que programen la micro:bit para que, al presionar el botón A, se desplace un mensaje de texto en la pantalla LED.
- Actividad 3.g: «La representación gráfica.» Deberán utilizar el sensor de acelerómetro para detectar el movimiento. Si se agita la micro:bit, deberá mostrar un gráfico de barras que represente la fuerza del movimiento.