Unidad Didactica Microbit

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 78

.

Qué es micro:bit
BBC micro:bit es una pequeña tarjeta electrónica programable de 4x5 cm lanzada por la BBC
británica en el año 2015 con el objetivo de que más de un millón de niños/as y jóvenes ingleses
aprendieran a programar de una forma fácil y divertida. En el año 2016 la Fundación Educativa
Micro:Bit integrada por empresas como Amazon, Microsoft, Cisco o Samsung, asumen este
proyecto con el propósito de promocionar el aprendizaje de la programación y la robótica entre los
jóvenes a nivel mundial.

Fuente de imagen: Microbit.org

Las características más destacadas de la tarjeta BBC micro:bit son:

 Código abierto. Es un desarrollo GNU Open Source o de código abierto tanto el hardware
como el software de programación.
 MakeCode. Dispone de un entorno propio de programación gráfica MakeCode diseñado por
Microsoft. Se trata de un sencillo editor gráfico online con muchas posibilidades y gratuito
que permite la introducción a la programación usando una herramienta visual de bloques.
 Programación visual alternativa. También se puede programar usando la
app micro:bit Android | micro:bit iOS desde dispositivos móviles. Otra posibilidad es
programar con makeBlock y con Scratch mediante la instalación previa de extensión o
complemento.
 Programación textual. La placa BBC micro:bit se puede programar mediante programación
textual Javascript en la propia herramienta Makecode o bien con un entorno textual
alternativo como Python
 Matriz de leds. La placa incorpora una matriz de 5x5 leds que proporcionan múltiples
posibilidades para mostrar datos: números, textos, animaciones, etc.
 Botones programables. Dispone de un botón A y un botón B que permiten programar
acciones que se disparan mediante su pulsación.
 Sensores. A pesar de su pequeño tamaño la tarjeta incorpora sensores de luz, temperatura,
acelerómetro y brújula.
 Pines de entrada y salida. Dispone de 25 conectores diminutos en su borde inferior siendo
los pines 0,1,2, 3V y GND de mayor tamaño. Con estos últimos se pueden utilizar cables con
terminales en forma de pinza de cocodrilo que facilitan la conexión a la placa de todo tipo
de componentes electrónicos adicionales típicos de Arduino: leds, servomotores, sensores,
pulsadores ...Para utilizar el resto de patillas será necesario insertar la placa en
un shield o placa de expansión.
 Comunicación inalámbrica. Ofrece conexión por radio para la comunicación de una placa
con otra facilitando desarrollos de interacción entre distintas tarjetas. También dispone de
conexión Bluetooth para facilitar la comunicación de la placa con dispositivos móviles, etc.
 Conexión USB. Se conecta por cable USB-micro USB al ordenador para descargar el
programa en ella.
 Conexión batería externa. Se puede adquirir aparte un pack de 2 pilas de batería AAA que
se conectan a la tarjeta para que funcione sin necesidad de estar conectada al ordenador
por USB.
 Coste. La placa BBC micro:bit tiene un precio en torno a 21-22 euros aprox. e incorpora
leds, botones, distintos sensores y pines de entrada/salida por lo que apenas hace falta
mucho más para empezar a trabajar, salvo unos cables con pinzas de cocodrilos y un mini-
servomotor.
 Edades. Se trata de una solución tecnológica muy interesante para la iniciación a la
programación visual de circuitos digitales a partir de 10 años. Podría ser un paso previo al
uso educativo de placas Arduino.

2. Anatomía de la placa

Fuente de imagen: Comunidad micro:bit en España

Los componentes más destacados de la placa BBC micro:bit son:

Leds
Led significa "diodo emisor de luz y es un componente que se ilumina. La tarjeta micro:bit dispone
de una matriz de 5x5 leds que se pueden programar para que se enciendan o apagen de forma
individual. Esto permite mostrar textos, números, imágenes, animaciones ...
Fuente de imagen: Microbit.org

Botones
Se ofrecen 2 botones en la cara frontal con la etiqueta A y B. Se puede detectar cuándo se pulsa
uno u el otro o bien los dos a la vez. Y por tanto se puede programar el comportamiento de la
tarjeta en cada caso.

Fuente de imagen: Microbit.org

Pines de entrada y salida


En el borde inferior la tarjeta dispone de 25 terminales
diminutos de los cuales destacan con mayor tamaño los
etiquetados como 0, 1, 2, 3V y GND. Los pines de
entrada y salida digitales/analógicos son 0-1-2. La salida
de corriente de 3V y la toma de tierra GND. A través de
ellos podrás programar motores, LEDs o cualquier otro
componente o sensor externo que conectes de Arduino
o similares. Para manejar estos pines más grandes se
pueden utilizar cables con pinza de cocodrilo. Para
facilitar el uso del resto de pines será necesario adquirir
un shield o placa de expansión donde insertar la placa.
Fuente de imagen: Microbit.org

Sensor de luz
Los leds de la placa micro:bit pueden actuar como
entrada detectando la intensidad de la luz ambiental.

Fuente de imagen: Comunidad micro:bit en España

Sensor de temperatura
El sensor de temperatura integrado en la placa
detecta la temperatura ambiente en grados
centígrados.

Fuente de imagen: Microbit.org

Acelerómetro
El acelerómetro mide la aceleración de tu tarjeta micro:bit en los 3 ejes del
espacio: X-Y-Z. Sirve para detectar cuando se mueve la tarjeta
micro:bit. También registra cuándo se agita, se inclina o
experimenta una caída libre.
Fuente de imagen: Microbit.org

Brújula
La brújula registra el campo magnético terrestre
permitiendo detectar la dirección en que se orienta la
tarjeta. Es necesario calibrar la brújula antes de
utilizarla para garantizar un funcionamiento preciso.

Fuente de imagen: Microbit.org

Radio
Esta conexión inalámbrica se emplea para comunicarse
entre placas micro:bit. Se puede utilizar la radio para enviar
mensajes a otras tarjetas, diseñar juegos multiusuario, etc.

Fuente de imagen: Microbit.org

Bluetooth
Permite que la tarjeta micro:bit pueda comunicarse con
smartphones y tablets mediante Bluetooth. Este tipo de
comunicación inalámbrica funciona en ambos sentidos por lo
que también puede utilizarse para enviar código desde la app
del dispositivo móvil a la tarjeta micro:bit. Antes de utilizar esta
característica es necesario emparejar la tarjeta micro:bit con ese
dispositivo.

Fuente de imagen: Microbit.org

Conexión USB y conexión batería externa


La placa micro:bit puede alimentarse a través del puerto USB mediante una fuente de
alimentación de 5V similar al cargador de cualquier teléfono móvil. También se puede conectar por
cable micro-USB/USB al ordenador para suministro eléctrico y también para descargar programas
dentro de la tarjeta.
También dispone de un conector específico para 2 pilas AAA o una batería. Esto permite que
ejecute el programa que tiene cargado sin necesidad de conexión USB. Esta placa almacena en su
memoria un único programa que se ejecuta en cuanto recibe alimentación.

En la parte anterior ofrece un botón RESET para reiniciar la tarjeta al pulsarlo.

Fuente de imagen: Microbit.org

Recuerda

 Las señales digitales son aquellas que sólo pueden tomar dos valores: 0 y 1 que se
corresponde con los voltajes 0V y 5 V.
 Las señales analógicas son aquellas que pueden tomar múltiples valores, p.e., entre 0 y
255 en un rango proporcional de voltajes entre 0V y 5V.

3. Accesorios de micro:bit
Normalmente cuando se compra una tarjeta micro:bit en la distribución más básica, tras el
desempaquetado, solemos comprobar que NO viene acompañada de ningún accesorio. La placa
incorpora muchos de los componentes con los cuales ya es posible empezar a programar: leds,
sensores, botones ...

Fuente de imagen: Wikipedia

Sin embargo para un mejor aprovechamiento de sus prestaciones se recomienda adquirir aparte
alguno de estos complementos:
Cable USB
Es un cable USB tipo A a microUSB tipo B macho-macho. Es
imprescindible para conectar la tarjeta al ordenador como
alimentación y para cargar los programas diseñados en ella. Por
suerte suele ser un cable muy habitual en la alimentación de
teléfonos móviles (no quizás los más recientes).

Fuente de imagen: PCcomponents

Cable Pinzas Cocodrilo


Se trata de una colección 6-8 cables pinzas cocodrilo a
dupont macho. Son útiles para conectar componentes
externos a los pines E/S de la placa: 0-1-2.

Fuente de imagen: AliExpress

Carcasa de metacrilato
Protege los componentes de la tarjeta dejando al descubierto los
botones para su manejo y los pines para su conexión.

Fuente de imagen: AliExpress

Batería de alimentación
Permite aportar suministro eléctrico a la tarjeta sin necesidad de estar conectada por USB al
ordenador. De esta forma la tarjeta podrá ejecutar el programa cargado de forma ininterrumpida.
Puede ser una caja portapilas para 3 pilas de batería del tipo AAA o bien una batería de litio de 3,7
V

Fuente de

imagen: AliExpress
Servomotor
Es un tipo de motor reductor que sólo puede girar 180 grados. Es controlado por señales eléctricas
en formato de pulsos que son enviadas desde la tarjeta. Cada pulso enviado le indica al motor a
qué posición debe moverse.

Fuente de imagen: AliExpress

Componentes electrónicos
Aunque no son estrictamente necesarios para comenzar, muchos de los componentes electrónicos
de los kits de Arduino se pueden conectar y programar con micro:bit: leds, sensores,
zumbadores, etc. Para ello se suele utilizar una protoboard y cables dupont de prototipado con
terminal de pinza de cocodrilo.

Otros kits y complementos


Placas de expansión

En ellas se inserta la placa micro:bit y facilitan la conexión con cables de prototipado a los 25 pines
de que consta.
 KeyStudio Sensor Shield V2 for BBC Micro:bit
 Grove Shield for BBC Micro:bit
 GPIO Shield for BBC Micro:bit

Kits de ampliación de micro:bit

 KeyStudio 37 for micro:bit. Contiene 37 tipos de sensores distintos que amplían las
posibilidades de programación y aplicación.
 Osoyoo Starter Kit for micro:bit. Dispone de 20 tipos de sensores distintos.
 KeyStudio Mini Smart Robot Car v2.0. Es un kit para construir un vehículo programable.
 Move Mini Buggy Kit for BBC Micro: bit. Es otro pack que permite la construcción de un
coche programable.

 Smart Home Kit for BBC Micro:bit. Ofrece distintos sensores orientados al diseño de una
casa inteligente.
 KeyStudio Starter Kit Honeycomb Smart Weareable for BBC Micro. Proporciona
distintos módulos electrónicos con terminales fáciles de conectar usando cables de pinza
de cocodrilo.

4. Software de programación
En este taller de iniciación se propone programar la tarjeta micro:bit usando MakeCode diseñado
por Microsoft.

 Es una aplicación online de programación visual que utilizaremos por su facilidad y


posibilidades.
 Admite también el modo de edición Javascript para optar por programación textual.
 Se accede a esta aplicación usando el navegador web y la conexión a Internet.
 Ofrece en la columna izquierda un simulador en pantalla para probar el programa.
 El programa elaborado se descarga en local en formato *.HEX y se guarda en la tarjeta
micro:Bit conectada por USB al ordenador.
Otras herramientas de programación son:

 micro:bit Android | micro:bit iOS. Son apps para dispositivos móviles.


 makeBlock y Scratch son herramientas clásicas que permiten programar la tarjeta
micro:Bit mediante la instalación previa de una extensión o complemento.
 Editor Python. Se trata de una herramienta en línea para la programación textual de la
placa microbit

4.1 El entorno de MakeCode


1. Menú Superior Izquierda. En esta barra superior izquierda es posible acceder a la página
de proyectos diseñados pulsando en el botón Inicio. Si se pulsa en el botón Compartir se
guardará el programa en la nube y se proporcionará un enlace de acceso y un código
IFRAME de inserción en la web.
2. Emulador. Proporciona una vista previa de la tarjeta microbit permitiendo testear de forma
virtual el programa diseñado mediante el manejo de los botones play/stop.
3. Paleta de bloques. Es una columna donde se ofrecen todos los bloques que se pueden
utilizar. Se organización en varias categorías por colores: Básico, Entrada, Música, Led,
Radio ...
4. Modo Bloques | Modo Javascript. Gracias a este interruptor se puede pasar del modo
visual al modo textual de programación y viceversa.
5. Menú Superior Derecha. Se ofrecen 3 botones: soporte/ayuda (con acceso a distintos
recursos y tutoriales), opciones (para configurar el idioma de la interfaz o eliminar el
proyecto) y Microsoft (acceso a la nube).
6. Panel de Programación. En este panel se construye el programa mediante la conexión de
bloques.
7. Barra de Control. Ofrece botones de zoom del panel de programación
y deshacer/rehacer útiles en la elaboración del programa.
8. Guardar. En este botón es posible establecer el nombre del proyecto. Al pulsar en el
botón guardar se guardará.
9. Descargar. Cuando se hace clic en este botón se descarga al ordenador local el archivo
del programa diseñado en formato *.HEX

4.2 Mi primer programa


Programa

Tu primer programa consiste en mostrar de forma continuada en el display de la tarjeta micro:bit


una animación formada por 2 imágenes.

 microbit-miPrimerProyecto.hex (hex - 622.64 KB).

Programación

Paso 1. Acceder desde el navegador

1. Abre el navegador web y accede a la dirección


de MakeCode: https://makecode.microbit.org/
2. Se mostrará la página con los proyectos creados. Observa que NO es necesario utilizar ni
usuario ni contraseña. Estos proyectos se mantendrán en esta página en accesos
sucesivos mientras se utilice el mismo navegador y no se borre el historial de navegación.
Paso 2. Crear un nuevo proyecto

1. Para crear un nuevo proyecto pulsa en New Project / Nuevo Proyecto. Cada programa se
guardará en un proyecto. Otra posibilidad es pulsar en el botón Importar y subir un archivo
HEX almacenado en tu equipo.
2. Se accede a la página del Editor de MakeCode.

Paso 3. Cambiar el idioma de la interfaz

1. Para cambiar la interfaz a castellano pulsa en el


botón Opciones que muestra el icono de una "rueda dentada" en la
esquina superior derecha y selecciona Language > Español.
2. Esta configuración solamente es necesario realizarla una vez. Ten
en cuenta que algunos elementos de la interfaz no están traducidos
correctamente.
Paso 4. Diseño del programa

1. Desde la paleta de bloques arrastra los distintos


elementos para ensamblarlos y construir en el
panel de programación la secuencia que
aparece en la siguiente imagen.
2. El resto de bloques que sobran en el panel de
programación se eliminan arrastrándolos s para
devolverlos a la paleta que toma el aspecto de
una papelera.

Gracias a este sencillo programa ...

1. Se ejecuta de forma continuada un bucle Para siempre.


2. El bloque mostar icono ... exhibe la imagen en la matriz de leds de la tarjeta. Muestra la
imagen del corazón expandido y luego la imagen del corazón encogido. Esta secuencia en
bucle continuo genera la animación.

Paso 5. Prueba el programa en el emulador

1. En el emulador que se ofrece en la panel


izquierdo pulsa en el botón Play para probar el
programa.
2. Este visor ofrece distintos botones para facilitar
el testeo del programa: Play/Stop, Reiniciar al
emulador, Cámara lenta (paso a paso), Silenciar
el audio y Mostrar pantalla completa

Paso 6. Conexión de la micro:bit a tu


ordenador por USB

1. Conecta la tarjeta a tu ordenador usando el cable microUSB a USB.


2. El ordenador la identificará como una unidad de disco similar a una memoria USB o
pendrive.
3. Se iluminará el led situado en la cara trasera próximo al conector USB.
Paso 7. Asignarle un nombre al proyecto.

1. En la casilla Untitled (Sin título) introduce el


nombre del proyecto: miPrimerProyecto y pulsa
la tecla enter para confirmar.

Paso 8. Descargar el programa a la placa micro:bit

Al proceso de copiar el programa en la tarjeta micro:bit se le denomina flasheo.

1. Clic en el botón Descargar que se muestra debajo del emulador.

2. Se mostrará una ventana con información de los dos pasos necesarios para descargar el
programa a la tarjeta.
3. Si no se ha mostrado el cuadro de diálogo de descarga del navegador web pulsa en el
botón verde microbit-miPrimerPrograma.hex.
4. Esta acción produce la descarga en tu equipo PC del programa *.HEX. Por defecto se
suele descargar en la carpeta Downloads o Descargas.

Windows: Desde el explorador de archivos haz clic derecho sobre el archivo descargado y
elige Enviar a > MICROBIT X:

Mac: Desde el explorador de archivos arrastra el archivo *.HEX para soltarlo en la


unidad MICROBIT
5. Una vez ordenada la carga del programa *.HEX en tu tarjeta micro.bit ésta se detendrá.
6. El led amarillo de la parte trasera comenzará a parpadear indicando que está cargando el
nuevo programa.
7. Una vez concluido el proceso de carga el programa comenzará a ejecutarse
automáticamente.

Gestión de archivos de proyecto *.HEX

 La tarjeta micro:bit solamente puede cargar archivos *.HEX y cuando se carga uno en la
tarjeta se elimina el anterior.
 Conviene guardar los programas creados en formato *.HEX en el disco duro del ordenador
PC para conservarlos y archivarlos.
 Es importante recordar ...
o MakeCode es una herramienta en línea a la que se accede sin introducir usuario ni
contraseña.
o En la página Mis proyectos se conservan los proyectos creados desde ese equipo
y navegador siempre y cuando no se elimine el historial.
o Para conservar los proyectos es MUY recomendable guardarlos en formato *.HEX
en tu equipo PC.
o En posteriores acceso desde la página Mis proyectos es posible pulsar en el
botón Importar y subir el archivo HEX a la herramienta en línea para seguir con la
edición del programa.
Flasheo vía WebUSB

Si el navegador utilizado soporta tecnología WebUSB (p.e. Google Chrome v65+) entonces es
posible flashear directamente el archivo *.HEX desde el navegador a la tarjeta micro:bit sin
necesidad de guardarlo previamente en el equipo y luego copiarlo.

Para activar el modo WebUSB:

1. Clic en el botón Opciones con el icono "rueda dentada" situado en la esquina superior
derecha de la interfaz de la herramienta MakeCode.
2. Selecciona la opción Pair device / Emparejamiento de dispositivo.
3. Se mostrará la ventana con el dispositivo USB conectado con el cual se hará la
vinculación, selecciónalo y pulsa en la ventana Conectar.
4. Si está activado el modo flasheo vía WebUSB entonces para enviar el programa HEX a la
placa basta con pulsar en el botón DOWNLOAD / DESCARGAR. El programa se situará
automáticamente en la unidad correspondiente a la tarjeta y comenzará a ejecutarse.
5. Para guardar el programa en el disco del ordenador PC es necesario clickear en el
botón Guardar que muestra el icono de un disquete al lado del nombre del proyecto.

A continuación se proponen los siguientes proyectos microbit:

1. Botones y sonrisas
2. Display de nombres
3. Contador de pulsaciones
4. Detección de pulsación
5. Cara o cruz
6. Número al azar
7. Piedra, papel o tijera
8. Lanzar un dado
9. Medidor de temperatura
10. Brújula
11. Cronómetro
12. Reloj
13. Gráfico de aceleración
14. Envios por radio
15. Baile de luciérnagas
16. Cazadores de balizas
17. La máquina de votar
18. Tu media naranja
19. Reproductor musical
20. Contador de pasos
21. Medidor de intensidad de luz
22. Display parpadeante
23. Led externo
24. El semáforo
25. Medidor de humedad
26. Control del servomotor
27. Cronometraje digital
28. Capturar el punto
29. Juego de obstáculos
30. Juego de reacción

01. Botones y sonrisas


Programa

 Diseña un programa para que se mu estre una imagen "smile" cuando se pulsa el botón A.
 Otra imagen "triste" cuando se pulsa B.
 Una animación cuando se pulsan a la vez el botón A y B.

microbit-01_botonesSonrisas.hex (hex - 615.79 KB).

Programación
Explicación

 Al presionar el botón A se mostrará la imagen de sonrisa creada en la parrilla de leds


 Al presionar el botón B se mostrará la imagen de tristeza creada en la parrilla de leds
 Al presionar a la vez los dos botones se mostrará una animación con dos imágenes de
guiño.
Desafío: manejando los botones A y B

 Al pulsar el botón A se muestra el icono de un corazón.


 Al pulsar el botón B se muestra el icono de un cuadrado.
 Al pulsar ambos botones A+B se apagan todos los leds.

microbit-01b_botonesSonrisas.hex (hex - 623.17 KB).

02. Display de nombres


Programa

 Elabora un programa que muestre tu nombre en scrolling a través de la matriz de leds de la


tarjeta micro:bit

microbit-02_displayNombres.hex (hex - 614.86 KB).

Programación

Explicación

 Al arrancar la placa se ejecutará un bucle para siempre de forma ininterrumpida.


 El bloque mostrar cadena <texto> mostrará el texto en movimiento de scroll de derecha a
izquierda.
Desafío: mostrar mensajes secretos

 Al pulsar el botón A se mostrará un mensaje secreto que no tiene vocales.


 Al pulsar el botón B se mostrará el mensaje completo.
 Al pulsar ambos botones A+B se apagan todos los leds de la parrilla.

microbit-02b_displayNombres.hex (hex - 615.43 KB).


03. Contador de pulsaciones
Programa

En este programa ...

 Se incrementa en una unidad el valor de una variable cada vez que se pulsa el botón A.
 Se decrementa en una unidad el valor de esa variable cuando se pulsa el botón B.
 Cuando se pulsan ambos botones a la vez A+B entonces el contador se resetea a cero.

microbit-03_contadorPulsaciones.hex (hex - 616.84 KB).

Programación

Explicación

 En la sección Variables se crea la variable contador que almacenará el valor.


 El bucle Para siempre mostrará de forma continuada el valor de la variable contador en el
display.
 El bloque Al iniciar se ejecuta cuando se inicia el programa y en ese momento se sitúa el
valor de la variable contador a cero.
 Al presionarse el botón A se incrementa el valor de contador en 1 unidad.
 Al presionarse el botón B se decrementa el valor de contador en 1 unidad.
 Al presionar ambos botones A y B a la vez se sitúa un cero 0 en la variable contador.
Desafío: contador limitado

Incorpora al programa anterior modificaciones para que ...

 El contador no bajará por debajo de cero aunque se pulse reiteradamente el botón B.


 El contador no sube por encima de nueve aunque se pulse reiteradamente el botón A.

microbit-03b_contadorPulsaciones.hex (hex - 617.45 KB).

04. Detección de pulsación


Programa

 Al iniciarse el programa se apagan los leds de la matriz.


 Al pulsar el botón A se muestra una imagen en la parrilla.
 Al soltar el botón A se apagan los leds y la imagen desaparece.

microbit-04_deteccionPulsacion.hex (hex - 623.52 KB).

Programación
Explicación

 Al iniciar el programa se borra la pantalla.


 El bucle Para siempre ejecutará de forma continuada el chequeo de la condición.
 Si detecta que el botón A está presionado entonces muestra el icono y si no está
presionado entonces borra la pantalla.
Desafío: detección de pulsación de ambos botones

 Al iniciarse el programa se apagan los leds de la matriz.


 Al pulsar el botón A se muestra una imagen en la parrilla y al soltarlo desaparece.
 Al soltar el botón B se muestra otra imagen distinta y al soltarlo desaparece.

microbit-04b_deteccionPulsacion.hex (hex - 623.83 KB).

05. Cara o cruz


Programa

 Crear un programa que simule el lanzamiento de una moneda al aire al pulsar el botón A.
 Para el resultado "cara" y para el resultado "cruz" utilizaremos imágenes alusivas.
 Para simular el tiempo de espera por el resultado se aplicará una pequeña animación de
imágenes.
 Cuando se pulsa el botón B se apagan todos los leds de la pantalla

microbit-05_caraCruz.hex (hex - 624.53 KB)

Programación
Explicación

 Al pulsar el botón A se iniciará una animación donde se muestran 2 veces alternando 2


imágenes para crear la simulación del sorteo.
 El bloque escoge al azar verdadero o falso devuelve verdadero o falso de una forma
aleatoria.
 En el bloque Si ... en función de ese resultado se visualizará una imagen o bien la otra.
 Al pulsar el botón B se borra la pantalla.
Desafío: Cara y Cruz II

 Mientras se esté pulsando el botón A se mostrará la animación de sorteo.


 Al soltar el botón A se mostrará el resultado de forma aleatoria.

 Pista: utilizar un bucle Para siempre para escuchar la pulsación y una


variable pressed que tomará valor 0-1 en función de la pulsación de A.
 Ver solución

microbit-05b_caraCruz.hex (hex - 625.45 KB).

06. Número al azar


Programa

 Cuando se pulsa el botón A se mostrará una animación de 4 imágenes y luego un número


aleatorio entre 1 y 6.
 Cuando se pulsa el botón B se apagan todos los leds de la pantalla.

microbit-06_numeroAleatorio.hex (hex - 624.57 KB).

Programación

http://canaltic.com/talleres/microbit/index.html
Explicación

 Al pulsar el botón A se iniciará una animación donde se muestran 2 veces alternando 2


imágenes para crear la simulación del sorteo.
 El bloque escoge al azar de 1 al 6 devuelve un valor numérico en ese intervalo de una
forma aleatoria.
 El bloque mostrar número ... mostrará ese resultado en el display.
 Al pulsar el botón B se borra la pantalla.
Desafío: Número aleatorio al agitar la tarjeta

 Modifica el programa anterior para que se muestre el número cuando se agita la tarjeta en
lugar de cuando se pulsa en el botón A.
 Para ello utiliza el bloque Si ... agitado (If ... snake)

microbit-06b_numeroAleatorio.hex (hex - 624.18 KB).

07. Piedra, papel o tijera


Programa

 Diseña un programa que al agitar la tarjeta muestre una cuenta atrás 3,2,1 ...
 Al final muestre una imagen aleatoria: piedra, papel o tijera.

microbit-07_piedraPapelTijera.hex (hex - 625.45 KB).

Programación

Explicación

 Si agitado ... dispara la secuencia de programación al agitar la tarjeta.


 Se crea la variable hand.
 El bloque escoge al azar de 1 a 3 devuelve un número de ese intervalo.
 El número se guarda en la variable hand.
 Se muestra una secuencia de números: 3,2,1 ...
 Si hand=1 entonces se muestra el icono de un cuadrado grande: papel.
 Si hand=2 entonces se muestra el icono de un cuadrado pequeño: piedra.
 Si hand=3 entonces se muestra el icono de unas tijeras: tijeras.
Desafío: Piedra, papel y Tijera II

 Modifica el programa anterior para que la secuencia previa sean las 3 imágenes: papel,
piedra y tijeras.
 A continuación se iniciará una segunda secuencia y se detendrá en aquella elegida al azar
mostrando la imagen final.

microbit-07b_piedraPapelTijera.hex (hex - 624.75 KB).

08. Lanzar un dado


Programa

 Elabora un programa de simulación del lanzamiento de un dado donde al pulsar el botón


A se muestre un número del 1 al 6.
 La puntuación final se muestra mediante una imagen de puntos similar a la cara del
dado.
 Al pulsar el botón B se borra la pantalla.

microbit-08_lanzamientoDado.hex (hex - 618.33 KB).

Programación
Explicación

 Al presionar el botón A ... hace que todo se inicie cuando se pulsa este botón en la placa.
 En la variable hand se guarda un valor aleatorio entre 1 y 6.
 Si hand es igual a 1 ... se muestra la imagen creada.
 Y así sucesivamente.
Desafío: Lanzar un dado II

 Modifica el programa anterior para que la cara del dado se genere cuando se agita la
tarjeta.
 Al pulsar el botón B se borra la pantalla.

microbit-08b_lanzamientoDado.hex (hex - 618.47 KB).

09. Medidor de temperatura


Programa

 En este programa se propone leer el valor que registra el sensor de temperatura y


mostrarlo en el display de la tarjeta de forma automática cada 2 segundos.
 La temperatura se mide en grados centígrados ºC por lo que se muestra como un texto con
el formato: 99 C

microbit-09_medidorTemperatura.hex (hex - 616 KB).

Programación

Explicación

 El bucle Para siempre se ejecuta de forma continuada.


 Se almacena en la variable temp el valor devuelto por el sensor de temperatura mediante
el bloque temperatura ºC
 Se crea una cadena de texto uniendo el valor de temp y la letra "C"
 Se muestra en el display esta cadena de texto mediante el bloque mostrar cadena ...
 Se detiene el flujo del programa 2 s mediante el bloque pausa (ms) ...
Desafío: Medidor temperatura Farenheit

La temperatura que registra la tarjeta micro:bit es la temperatura de su CPU que normalmente es


un poco más elevada que la temperatura ambiente del sitio donde te encuentras.

Opción 1. Ajuste de la medida

 Usando un termómetro adicional averigua la temperatura ambiental y calcula la diferencia.


 Modifica el programa antes de mostrar el valor realizando una resta por ese valor de esa
diferencia.

Opción 2. Mostrar la temperatura en grados Fahrenheit (ºF)

 Para convertir los grados centígrados ºC en grados fahrenheit ºF es necesario hacer esta
operación: F = 1,8 x C + 32
 Modifica el programa anterior para mostrar la temperatura registrada en grados ºF.

microbit-09b_medidorTemperatura.hex (hex - 616.66 KB).

10. Brújula
Programa

 En este programa se utiliza el valor devuelto por el sensor magnetómetro de la tarjeta en


función de su orientación magnética.
 Este valor es un número que oscila entre 0 y 359 grados. Si la brújula no está lista para
medir devolverá el valor -1003
 Se mostrará en el display la imagen de una flecha que se orientará en todo momento al
Norte.
 Para ello el programa leerá el valor del sensor y en función del mismo se mostrará la
flecha: norte, oeste, sur y este.
o Flecha Norte: de 315º a 45º (menos de 45º y luego más de 315º)
o Flecha Oeste: de 45º a 135º (menos de 135º)
o Flecha Sur: de 135º a 225º (menos de 225º)
o Flecha Este: de 225º a 315º (menos de 315º)

 Observa que las flechas oeste y este están permutadas para asegurar que apunten al
norte.
 Importante: configura la pulsación de los botones A+B para calibrar inicialmente la
brújula.

microbit-10_brujula.hex (hex - 618.77 KB).

Programación

Explicación

 El bucle Para siempre se ejecuta de forma continuada.


 Se almacena en la variable grados el valor devuelto por el sensor del magnetómetro
mediante el bloque dirección de la brújula
 Crea una secuencia de bloques Sí ... anidados que en función de los valores límites
muestra la flecha correspondiente.
 Al presionarse los dos botones A+B entonces se ejecuta el bloque Calibrar brújula.

Nota:

 La rutina de calibración se realiza inclinando la tarjeta hacia distintas orientaciones hasta


que se completan todos los leds iluminados de la pantalla.
 Solo es necesario realizar la calibración la primera vez.
Desafío: Brújula con letras

 Modifica el programa para que se muestre la letra de la orientación: N, E,S y O en función


del valor registrado del magnetómetro.

microbit-10b_brujula.hex (hex - 616.84 KB).

11. Cronómetro
Programa

 Este programa simula un cronómetro para medir el tiempo de un proceso mediante


pulsaciones en el botón A.
 Para empezar a cronometrar se pulsa el botón A y se vuelve a pulsar para detenerlo y
mostrar el tiempo transcurrido en segundos.
 En la programación se emplea el bloque tiempo de ejecución que devuelve el tiempo
transcurrido desde que se inició el programa.

microbit-11_cronometro.hex (hex - 625.85 KB).

Programación
Explicación

 Se crea una variable start_time que almacena el instante inicial del cronometro y que
permite en el instante final calcular el tiempo transcurrido entre ambos puntos.
 El bloque tiempo de ejecución (ms) devuelve el tiempo transcurrido en milisegundos
desde que se inició el programa.
 Al iniciar se establece el valor de esta variable a cero.
 Al presionar el botón A puede ocurrir ...
o Si la variable start_time tiene valor cero ... Es el instante inicial del
cronometraje. Se almacena en la variable start_time el valor que devuelve el
cronómetro expresado en milisegundos. Y también se muestra la imagen para dar
al usuario información de que se está cronometrando.
o Si la variable start_time NO tiene valor cero ... Es el instante final del
cronometraje. Se calcula la diferencia entre el tiempo que devuelve el cronómetro y
el almacenado inicialmente en la variable start_time. Este valor se divide entre
1000 para pasar de milisegundos a segundos y luego el resultado se redondea a
unidades. Se muestra ese valor en el display y se almacena cero en la variable
start_time.
Desafío: Cuenta atrás

Modifica el programa anterior para ...

 Mostrar en el display la secuencia continua de cuenta atrás del 9 al 0 ajustándose al valor


del cronómetro.
 Pista: Para ello utiliza el bucle Para siempre. Si el valor de la variable start_time es
distinto de cero entonces muestra: 9 - el resto de dividir entre 10 el redondeo del tiempo
transcurrido.
 Ver solución

microbit-11b_cronometro.hex (hex - 618.47 KB).

12. Reloj
Programa

 Al iniciar el programa se establece "00:00" como hora.


 El reloj muestra la información hh:mm cada vez que se agita la tarjeta.
 Al pulsar reiteradamente el botón A se pueden cambiar las horas de una en una.
 Al pulsar reiteradamente el botón B se pueden cambiar los minutos de uno en uno.

microbit-12_reloj.hex (hex - 620.31 KB).

Programación

Explicación

 Se crean las variables hora y minuto (para almacenar la hora y minuto) y la cadena de
texto time (para almacenar la cadena de texto hh:mm).
 Al iniciar el programa se reinician hora y minuto a cero y time al texto vacío "".
Explicación

 Si se agita la tarjeta se inicia esta rutina de bloques ...


 Almacenar en la variable de texto time el valor "h:m"
 Mostrar en el display el texto time.

Explicación

 Al presionar el botón A se incrementa en una unidad el valor de la variable hora.


 Si es inferior a 23 horas se suma una unidad más.
 Si es superior a 23 horas se sitúa a cero.
 Se muestra el nuevo valor de la hora en el display y luego se borra.
 Idem con los minutos al presionar el botón B.
Explicación

 Se ejecuta este bucle Para siempre de forma continua


 Se establece una micropausa de 60 segundos al cabo de la cual se actualizan los minutos
y segundos.
 Si el minuto es inferior a 59 se añade un minuto.
 Si el minuto es igual o superior a 59 se pone a cero y se añade una hora.
 Al añadir un hora se comprueba también si es inferior a 23 h para añadir la hora.
 Si la hora es igual o superior a 23 entonces se pone a cero.
Reloj digital II

 Mejora la programación anterior para que se muestren también los segundos transcurridos,
es decir, la hora se exhiba con este formato: hh:mm:ss
 Para ello define una variable adicional segundos
 En el bucle Para siempre define una micropausa de 1000 ms y luego incrementa los
segundos en 1 s. y en cascada los minutos y las horas.

microbit-12b_reloj.hex (hex - 621.23 KB).

13. Gráfico de aceleración


Programa

 En este programa se muestra un gráfico de barras en el display de la tarjeta con la


evolución en el tiempo de un valor numérico.
 Por ejemplo: del valor sobre el eje X devuelto por el sensor del acelerómetro.
 Esto se consigue usando el bloque plot bar graph of variable up alto donde variable es
la variable a mostrar y alto es el valor máximo que puede tomar.

microbit-13_graficoAceleracion.hex (hex - 618.25 KB).

Programación

Explicación

 Se crea una variable "a" para guardar en ella el valor de la aceleración.


 En un bucle indefinido Para siempre se ejecuta la lectura del valor devuelto por el sensor
acelerómetro.
 Se guarda en la variable "a" el valor devuelto para la coordenada X del acelerómetro.
 Se crea un gráfico de barras con ese valor teniendo en cuenta que el valor máximo puede
ser 1023.
 Para comprobar su correcto funcionamiento agita la tarjeta y observa cómo se iluminan los
leds de la matriz.
Desafío: Gráfico de temperatura

 En este caso se propone que la variable "a" almacene el valor del sensor de temperatura
usando como valor máximo 40 grados.

microbit-13b_graficoTemperatura.hex (hex - 618.16 KB).

14. Envíos por radio


Programa

 Se utiliza la señal de comunicación por radio entre tarjetas micro:bit para enviar un icono
de una a otra pulsando un botón u otro de la tarjeta.
microbit-14_enviarMensajeRadio.hex (hex - 632.18 KB).

Programación

Explicación

El programa descrito se carga en todas las tarjetas micro:bit que desean comunicarse entre sí.

 Al iniciar el bloque radio establecer grupo 0 define el número de canal de radio que
utilizarán todas las tarjetas para comunicarse. Puede ser un valor entre 0 y 255.
 Al presionar el botón A ... se enviará por señal de radio el número 0 y se mostrará en la
tarjeta emisora el icono relacionado con ese número enviado. En este caso es un corazón.
 Al presionar el botón B ... se enviará por señal de radio el número 1 y se mostrará en la
tarjeta emisora el icono relacionado con ese número enviado. En este caso es una casita.
 Al recibir por radio un número ... (en la tarjeta receptora)
o Si el número recibido es 0 entonces se mostrará el icono de corazón.
o Si el número recibido es 1 entonces se mostrará el icono de casita.
Desafío: Envíos por radio II

 Mejora el programa anterior añadiendo más eventos que puedan enviar números. Por
ejemplo cuando se pulse A+B o bien cuando se agite la tarjeta.
 Recuerda que en el bloque Al recibir radio receivedNumber ... tienes que decodificar el
número para que en la tarjeta receptora se muestre o se haga lo que está asociado al
número recibido.

microbit-14b_enviarMensajeRadio.hex (hex - 633.36 KB).

15. Baile de luciérnagas


Programa

 Cada tarjeta simulará ser una luciérnaga que emite un destello de luz.
 El flashazo se produce cada vez que su variable interna clock alcanza un valor, por
ejemplo, 8. Lo acompaña la emisión de una señal de radio enviada al resto de tarjetas.
 Tras la emisión de luz el contador se reinicia a 0 y comienza de nuevo a incrementarse en
un bucle continuo.
 Si la luciérnaga se encuentra en solitario emitirá destellos con una cadencia fija, predecible
y amplia.
 Si la luciérnaga está cerca de otras, recibirá por señal de radio un mensaje y como
respuesta a esa recepción se incrementará su contador interno mucho más rápido.
 El efecto conseguido es que emitirá destellos con una cadencia mucho menor debido a la
recepción de mensajes de radio de sus compañeros/as.
 Esto se consigue mediante un programa que utiliza los mensajes de radio de acuerdo con
la especificación indicada.

microbit-15_baileLuciernagas.hex (hex - 625.72 KB).

Programación
Explicación

El programa descrito se carga en todas las tarjetas micro:bit que desean comunicarse entre sí.

 Se crea una variable clock que es un contador interno que cuando alcanza el valor 8 hace
que se emita un flash, se envíe el número 0 por radio ...
 Al iniciar el bloque radio establecer grupo 0 define el número de canal de radio que
utilizarán todas las tarjetas para comunicarse. Puede ser un valor entre 0 y 255.
 Al recibir por radio un número ... (en la tarjeta receptora) se incrementa el
contador clock en una unidad más.
 Si el valor de clock es igual o superior a 8 ...
o El bloque agregar puntos a la puntuación actual 1 genera un destello concreto
en el display.
o El bloque radio enviar numero 0 envía una señal de radio al resto de tarjetas.
o El bloque pausa 200 ms genera una micropausa en el programa de 2 décimas de
segundo.
o Se establece el valor de clock como cero para reiniciar la cuenta para el próximo
destello.
 Si el valor de clock es inferior a 8 ...
o Se define una micropausa de 200 ms.
o Se incrementa en una unidad la variable clock
Desafío: Jugando con Luciérnagas

 Modifica el programa para conseguir distintas cadencias o bien distintos efectos de destello
del display.

microbit-15b_baileLuciernagas.hex (hex - 632.35 KB).

16. Cazadores de balizas


Programa

 Se trata de un juego donde hay una tarjeta micro:bit escondida en la sala y emitiendo una
señal de radio a intervalos regulares. Es la baliza.
 El resto de tarjetas micro:bit reciben esa señal y tratan de aproximarse y descubrir la
baliza. Son las tarjetas cazadoras.
 Se pueden organizar varios grupos de: una baliza por grupo y varios cazadores.
 Cada grupo emite en un número de radio concreto y distinto jugando por separado.
Baliza
microbit-16_baliza_CazadorBalizas.hex (hex - 627.83 KB).

Cazadores
microbit-16_cazador_CazadorBalizas.hex (hex - 630.55 KB).

Programación
Baliza

Explicación

El programa descrito se carga en solamente en la tarjeta baliza que se esconde.

 Al iniciar ...
o El bloque radio establecer grupo 0 define el número de canal de radio que
utilizarán todas las tarjetas de ese grupo para comunicarse.
o El bloque radio establecer número de serie de transmisión verdadero produce
que la radio transmita el número de serie en cada mensaje.
o El bloque radio establecer potencia de transmisión define la potencia de
transmisión que moderamos para poder jugar en una habitación grande.
 Para siempre ...Es un bucle que se ejecuta de forma continuada.
o El bloque radio enviar número 0 envía el número 0 como señal de radio.
o Los bloquesmostrar icono generan una animación de 2 imágenes.
o El bloque pausa (ms) 200 produce una micropausa de 2 décimas de segundo.
Cazadores

Explicación

El programa descrito se carga en todas las tarjetas cazadoras. Se crea la variable signal.

 Al iniciar ... el bloque radio establecer grupo 0 define el número de canal de radio que
utilizarán todas las tarjetas de ese grupo para comunicarse.
 Al recibir radio receivedNumber se dispara cuando se recibe un número por señal de
radio ...
o El bloque received packet intensidad señal ... devuelve la intensidad de la señal
de radio recibida.
o Este valor se guarda en la variable signal.
o Si signal es menor de -60 entonces se muestra el icono "pequeño diamante" para
indicar LEJOS.
o Si signal es menor de -50 entonces se muestra el icono "rombo" para indicar
MEDIO.
o En caso contrario, es decir, si signal es igual o mayor de -50 entonces se muestra
el icono "cuadrado" para indicar CERCA.
Desafío: Cazadores de balizas

 Realiza las modificaciones oportunas en las tarjetas cazador para que se muestre la
intensidad de la señal en lugar del icono alusivo.
 La variación de la señal será la ayuda para aproximarse y localizar la tarjeta baliza.

17. La máquina de votar


Programa

 Vamos a crear un sistema de votación electrónica Sí/No.


 Una única tarjeta micro:bit será la receptora de los votos enviados por el resto de tarjetas
emisoras.
 En la tarjeta receptora si se pulsa el botón A se mostrará el contador de síes. Si se pulsa el
botón B se mostrará el contador de noes. Si se pulsan ambos botones se resetean ambos
contadores.
 En cada tarjeta emisora si se pulsa el botón A se enviará una respuesta Sí y se mostrará
su icono en el display. Si se pulsa el botón B se enviará una respuesta No y se mostrará su
icono correspondiente en el display.
Receptor de votos
microbit-17_receptorVoto.hex (hex - 627.78 KB).

Emisores de voto
microbit-17_emisorVoto.hex (hex - 627.78 KB).

Programación

Receptor de votos
Esta programación se cargará en la tarjeta receptora de la votación.
Explicación

 Al iniciar ...
o El bloque radio establecer grupo 0 define el número de canal de radio que
utilizarán todas las tarjetas de ese grupo para comunicarse.
o Los bloques Establecer yes | no para 0 reiniciar respectivamente los contadores
de Síes y Noes.

Explicación

Al recibir radio receivedNumber se dispara cuando se recibe un número por señal de radio ...

 Si el número recibido es 0 entonces el contador de Noes se incrementa en una unidad.


 Si el número recibido es 1 entonces el contador de Síes se incrementa en una unidad.
Explicación

 Al presionarse el botón A ... se mostrará en el display el número de Síes durante un


instante y luego se borra la pantalla.
 Al presionarse el botón B ... se mostrará en el display el número de Noes durante un
instante y luego se borra la pantalla.
 Al presionarse el botón A y el B ... entonces se reiniciarán a cero el contador de Síes y
Noes.
Emisores de voto
Esta programación se cargará en todas las tarjetas emisoras de voto.

Explicación

 Al iniciar ...
o El bloque radio establecer grupo 0 define el número de canal de radio que
utilizarán todas las tarjetas de ese grupo para comunicarse.
o El bloque radio establecer número de serie de transmisión verdadero produce
que la radio transmita el número de serie en cada mensaje.
o Se muestra un icono de un fantasma.
Explicación

 Al presionarse el botón A se envía por radio el valor 1 y se muestra el icono Sí


 Al presionarse el botón B se envía por radio el valor 0 y se muestra el icono No
Desafío: La máquina de votar II

 Realiza las modificaciones oportunas en el código de las tarjetas emisoras de voto para
que sólo puedan votar una única vez.
 Hasta que no se pulsen los dos botones A y B en la tarjeta emisora no se podrá volver a
votar.
 Pista: utiliza la variable voted para controlar si se ha votado o no desde ese terminal.
 Ver solución

microbit-17b_emisorVoto.hex (hex - 628.88 KB).

18. Tu media naranja


 No se puede hablar. Sólo es posible comunicarse usando las tarjetas micro:bit.
 El objetivo del juego es encontrar a tu persona media naranja usando los botones A y B
definidos de acuerdo con la programación establecida.
 Se realiza un sorteo donde cada persona saca de una bolsa un papel con el número de
canal de comunicación de radio de 0 a 255 que utilizará.
 Es importante que de cada canal haya 2 papeles en la bolsa y que no quede ninguna
persona sin emparejar de forma secreta.
 Nos acercamos a una persona y no podemos ver su tarjeta micro:bit. Pulsamos el botón A
para enviarle una sonrisa. Si le llega esa sonrisa nos enviará una sonrisa. Si le envíamos
un corazón al pulsar el botón B entonces nos enviará un corazón con lo cual ya lo hemos
encontrado.
 Cada jugador diseña el programa con el número de canal que le ha tocado en el sorteo.
 Al iniciar se define ese número de canal, la intensidad de señal a 1 para forzar acercarse a
la persona para que funcione y se muestra una imagen de medio corazón de introducción.
 Al presionar el botón A se envía un 1 (amigos) y al presionar el botón B se envía un 2
(media naranja).
 Al recibir un 1 se muestra una cara sonriente (amigos) y al recibirse un 2 se muestra un
corazón (media naranja).

microbit-18_mediaNaranja.hex (hex - 630.11 KB).


Programación

Explicación

 Al iniciar ...
o El bloque radio establecer grupo 128 define el número de canal de radio que
utilizara cada pareja de jugadores para encontrarse.
o El bloque radio potencia de transmisión 1 define que la señal sea débil para
obligar a acercarse.
o Mostrar LEDs con la figura de medio corazón.
 Al presionar el botón A | B se enviará mediante la transmisión por radio los números 1 y
2 respectivamente.
Explicación

 Al recibir por radio un número ...


o Si el número recibido es 1 entonces se mostrará el icono de sonrisa (solo amigos)
o Si el número recibido es 2 entonces se mostrará el icono de corazón (media
naranja)
Desafío: Tu media naranja II

 Modificar la programación para enviar un tercer mensaje pulsando simultáneamente los


botones A y B.
 De esta forma el 1 será una sonrisa, el 2 será un corazón y el 3 será un check de ok

microbit-18b_mediaNaranja.hex (hex - 632.79 KB).

19. Reproductor musical


Programa

 La tarjeta micro:bit permite programar melodías nota a nota usando el bloque Reproducir
tono <Nota> por <Xpulso>.
 Para escuchar la tarjeta es necesario conectarla a unos auriculares o altavoces mediante
dos cables de cocodrilo: uno desde el terminal 0 a un borne del conector del dispositivo de
sonido y otro desde el terminal GND al otro borne del conector de sonido.
 En este programa se componen los primeros compases de una melodía popular. Sonará
cuando se pulse en el botón A.

microbit-19_reproductorMusical.hex (hex - 618.73 KB).

Programación
Explicación

 Al presionarse el botón A ...


o Cada bloque Reproducir tono <nota> por <X> pulso reproduce esa nota con
esta duración relativa. A partir de una partitura sencilla es posible crear una
melodía.
Desafío: La Caja de Música

 Diseña un programa que permita seleccionar un número de melodía de 0 a 5 mediante


pulsaciones sucesivas del botón A.
 El número seleccionado se muestra en el display
 Cuando se pulsa en el botón B se confirma la selección comenzando a reproducirse la
melodía.
 Al pulsar los dos botones A+B se detiene la reproducción de la melodía.
 Pista: se utiliza una variable pista que almacena el número de melodía seleccionado.
También se utiliza el bloque comenzar melodía ... que ya incorpora melodías conocidas.
 Ver solución
microbit-19b_reproductorMusical.hex (hex - 652.04 KB).

20. Contador de pasos


Programa

 Este proyecto convierte el micro: bit en un contador de pasos o podómetro.


 Cada evento de sacudida incrementa una variable de contador.
 El conteo de pasos se muestra en la matriz de leds.

microbit-20_contadorPasos.hex (hex - 616.49 KB).

Programación

Explicación

 Se crea una variable steps para almacenar el número de pasos contados.


 Al iniciar se inicia a cero el contador de pasos.
 Para siempre es un bucle que de forma permanente muestra el contador de pasos en el
display.
 Si agitado ... se ejecuta cada vez que la tarjeta experimente un movimiento de este tipo
o Cambiar steps por 1. Este bloque incrementa en una unidad el contador.
o Detener animación. Detiene la animación que se muestra en el display mientras
se está moviendo para evitar un pequeño retardo.
Desafío: Contador de pasos II

 Mejora el programa anterior para que el contador se reinicie cuando se pulsan ambos
botones A+B.

microbit-20b_contadorPasos.hex (hex - 616.75 KB).

21. Medidor de intensidad de luz


Programa

 En esta página se propone crear un programa que lea de forma continua el valor del
sensor de luminosidad de la tarjeta micro:bit.
 Ese valor se guarda en una variable y se muestra el gráfico de barras.
 Cuando se pulsa en el botón A se visualiza este valor en el display.

microbit-21_medidorLuz.hex (hex - 619.74 KB).

Programación

Explicación

 Se crea una variable lux para almacenar la intensidad de luz de 0 a 255.


 El bloque nivel de luz devuelve el valor numérico de la intensidad de luz registrada por la
tarjeta micro:bit.
 Para siempre es un bucle que de forma permanente ...
o Establecer lux para nivel de luz. Este bloque almacena en la variable lux el valor
registrado por el sensor.
o Plot bar graph of lux up to 255. Este bloque genera en el display un gráfico de
barras en función del valor lux tomando como valor máximo 255.
o Si botón A presionado entonces se mostrará el número en el display.
Desafío: Alarma de apagado

 Diseña un nuevo programa en el cual cuando la intensidad de luz disminuye por debajo de
un valor entonces se dispara una señal acústica de alarma.
 Pista: utiliza un bucle para siempre que está escuchando en todo momento. Si la
intensidad de luz se encuentra por debajo entonces se reproduce el audio.
 Ver solución

microbit-21b_medidorLuz.hex (hex - 617.37 KB).

22. Display parpadeante


Programa

 En este programa se propone controlar de una forma más eficaz todos y cada uno de los
leds del display integrado en la placa micro:bit.
 Para ello se utilizan los bloques graficar XY y ocultar XY para encender y apagar el led
cuyas coordenadas XY se introducen como dato.
 También se utiliza el bloque pause ms para detener el flujo del programa durante unos
instantes.
 Con estos bloques es posible mostrar animaciones personalizadas en el display de la
tarjeta.

microbit-22_displayParpadeante.hex (hex - 616.44 KB)

Programación
Explicación

 Para siempre ... (se ejecuta de forma permanente)


o Se han creado dos variables i y j que permiten recorrer las filas (i) y las columnas
(j).
o El bloque Para j de 0 a 4 recorre los valores j=0, j=1, j=2, j=3 y j=4 y ejecuta ...
 El bloque Para i de 0 recorre los valores i=0, i=1, i=2, i=3 e i=4 y ejecuta ...
 El bloque graficar x i - j ilumina el led del display que ocupa la
posición fila=i y columna=j
o El bloque borrar la pantalla que borra todos los leds para volver a empezar.
Desafío: Display Parpadeante II

 Añade al bucle Para siempre otro bucle doble Para i/j de 0 a 4 ... que vaya apagando
paulatinamente de izquierda a derecha y de arriba hacia abajo los leds del display.

microbit-22b_displayParpadeante.hex (hex - 617.1 KB).

23. Led externo


Programa

 En este ejemplo se expone cómo es posible controlar con una tarjeta micro:bit
componentes electrónicos externos.
 Se conecta un led a la salida digital 0 de la tarjeta, cerrándose el circuito sobre el
terminal GND
 Se elabora un programa usando el bucle Para siempre que emita por esa salida digital 0 el
valor 1 y el valor 0 de forma intermitente.
microbit-23_ledExterno.hex (hex - 615.52 KB).

Programación

Explicación

 Para siempre ... (se ejecuta de forma permanente)


 El bloque escritura digital pin P0 a 1 envía una señal 1 al pin P0 donde está conectado el
led externo produciendo que se encienda.
 El bloque pausa (ms) 1000 genera una pausa de 1 s.
 El bloque escritura digital pin P0 a 0 envía una señal 0 al pin P0 donde está conectado el
led externo produciendo que se apague.
 El bloque pausa (ms) 1000 genera una pausa de 1 s.
Desafío: Led externo con botones

 Diseña un programa donde se encienda el led al pulsar el botón A y se apague al pulsar el


botón B.

microbit-23b_ledExterno.hex (hex - 615.43 KB).

24. El semáforo
Programa

 Se construye un circuito con 3 leds: rojo, amarillo y verde. Cada uno conectado a un pin de
la tarjeta micro:bit: 0, 1 y 2.
 El terminal se comparte junto con una resistencia conectada al terminal GND de la placa.

 Se programa la placa micro:bit para que el sistema funcione como un semáforo


ejecutando esta rutina de forma continua:

o Estado 1: rojo iluminado (5 s)


o Estado 2: rojo y amarillo iluminados (1 s)
o Estado 3: verde iluminado (5 s)
o Estado 4: verde y amarillo iluminados (1 s)

microbit-24_semaforo.hex (hex - 616.88 KB).

Programación

Explicación

 Para siempre ... (se ejecuta de forma permanente)


 Cada estado del semáforo se caracteriza por estar encendido uno o dos leds. Esto se
consigue mediante el bloque escritura digital pin PX a 1.
 Con el mismo bloque pero puesto a cero (0) se logra apagar el led conectado a ese pin.
 Al final de cada estado se sitúa una pausa para que se mantenga durante ese tiempo.
Desafío: El semáforo II

 Modifica el programa anterior para que ...


o El tiempo de semáforo rojo sea mayor que el tiempo de semáforo verde cuando
hay mucha luz (mayor de 30, horas centrales del día).
o El tiempo de semáforo rojo sea menor que el tiempo de semáforo verde cuando
hay poca luz (menor 30, horas más nocturnas).

microbit-24b_semaforo.hex (hex - 617.89 KB).

25. Medidor de humedad


Programa

 En este programa vamos a crear un detector de conductividad o humedad usando una


tarjeta micro:bit
 Para ello vamos a conectar dos cables: uno al pin P0 y otro al pin 3V.
 El programa lee el valor analógico de entrada en el pin P0 que estará condicionado por la
conductividad del objeto o material interpuesto.
 El valor leido será más alto cuando mayor humedad tenga el suelo o bien el material
interpuesto sea más conductor.
 El valor leído será más bajo cuando menor humedad tenga el suelo o bien el material
interpuesto sea más aislante.

Fuente de imagen: https://makecode.microbit.org/

microbit-25_medidorConductividad.hex (hex - 619.87 KB).

Programación
Explicación

 Para siempre ... (se ejecuta de forma permanente)


 Se crea una variable lectura que guardará el valor leido en el pin P0.
 El bloque plot bar graph ... crea un gráfico de barras con el valor de lectura usando como
máximo el valor 1023.
 Si presionas el botón A entonces se muestra el valor leído en el display.
Desafío: Medidor de humedad II

 Para ahorrar batería y teniendo en cuenta que la variación de la lectura no es inmediata,


se propone modificar el programa para ...
o Reducir el brillo del display a 64 al inicio del mismo.
o El cable conectado a 3V se sitúa ahora conectado al pin P1 para emitir señal
mediante programación cada cierto tiempo (5 s). Es el emisor de señal.
o El otro cable sigue conectado al pin P0 como antes y será el receptor de señal.
 Ver solución

microbit-25b_medidorConductividad.hex (hex - 620.71 KB).

26. Control de servomotor


Programa

Un servomotor es un tipo especial de motor que no gira de forma continua. Admite el giro
controlado en un sentido y en otro solamente dentro de un rango de amplitudes entre 0 y 180
grados. Se suele utilizar para implementar brazos robóticos, sistemas de control de la dirección de
vehículos teledirigidos, etc. El control que se puede ejercer sobre este tipo de motores no se basa
en regular la dirección y velocidad de giro. Más bien lo que se controla es la posición que adopta
en cada instante expresada en grados entre 0 y 180. El servomotor tiene tres terminales: 5V (rojo),
GND (marrón o negro) y Control (amarillo o naranja). La patilla de control se conectará a una salida
analógica P0 de nuestra placa micro:bit cuyo valor oscilará entre 0 y 180.

Las conexiones del servomotor con la tarjeta micro:bit será similar a la siguiente imagen:

Nota importante:
 La mayoría de micro servo motores están diseñados para funcionar con un voltaje de 5
voltios. Recuerda que la salida de la placa micro:bit es de 3 voltios por lo que la conexión
recogida en la imagen NO funcionará bien. Para solucionar esta limitación se debe
alimentar el servomotor con un cable que proporcione 5V y otro conectado a GND o polo
negativo procedente de una batería auxiliar. El cable de control naranja deberá
conectarse a la tarjeta micro:bit.

El programa diseñado tendrá las siguientes especificaciones:

 Se define una variable angulo que almacena en todo momento el ángulo aplicado al
servomotor.
 El valor del ángulo se muestra en el display permanentemente.
 Al inicio del programa se establece un valor del ángulo igual a 90.
 Al pulsar el botón A el valor del ángulo disminuye en 5 unidades con un mínimo de 0.
 Al pulsar el botón B el valor del ángulo aumenta en 5 unidades con un máximo de 180.

microbit-26_controlServomotor.hex (hex - 618.2 KB).

Programación
Explicación

 Para siempre ... (se ejecuta de forma permanente) se muestra en el display el valor
almacenado en la variable angulo que es el valor aplicado a través del pin P0
 Al iniciar ... se establece la variable angulo igual a 90 para empezar y se escribe ese
valor en el servo pin P0
 Al presionarse el botón A ...
o establecer angulo entre el máximo de 0 y el resultado de restar 5 unidades al
ángulo.
o escribir servo pin P0 ... aplicando ese nuevo valor en la salida P0.
o detener animación para borrar la pantalla al cambiar el valor del ángulo.
 Al presionarse el botón B ...
o establecer angulo entre el mínimo de 180 y el resultado de sumar 5 unidades al
ángulo.
o escribir servo pin P0 ... aplicando ese nuevo valor en la salida P0.
o detener animación para borrar la pantalla al cambiar el valor del ángulo.
Desafío: Control servomotor 2

 Modificar el programa anterior para que el servomotor tome la posición 0, 90 o 180 en


función de la intensidad de luz detectada (menos de 30, 30-90, más de 90).
 Ver solución

microbit-26b_controlServomotor.hex (hex - 618.11 KB).

27. Cronometraje digital


Programa

Este programa permite cronometrar el tiempo invertido por un móvil en recorrer una distancia.

Circuito

 Se montan sendas puertas, cada una con dos pletinas de cinta de cobre o papel de
aluminio.
 La primera pletina de la puerta inicial se conecta al pin P0 y la primera pletina de la puerta
final se conecta al pin P1.
 La segunda pletina de ambias puertas se conecta al mismo pin GND.
 En la parte inferior del coche se sitúa una pletina que al pasar consigue conectar por
debajo con las pletinas.
 El coche al pasar por encima de una puerta contacta ambas pletinas con lo que se envía
una señal al pin correspondiente: P0 y P1.
Programa

 El programa registra el instante temporal en que pasa por la primera puerta P0 (t0) y luego
registra el instante en que pasa por la segunda puerta P1 (t1).
 El tiempo invertido es la diferencia entre ambos valores: d = t1 - t0.
 Ese tiempo se transforma en milisegundos y se muestra en el display de la tarjeta micro:bit

microbit-27_cronometrajeDigital.hex (hex - 645.8 KB).

Programación

Explicación

 Al iniciar ... se mostrará un led iluminado en el centro del display para indicar que el
sistema está listo para comenzar la medición.
 Se crean 3 variables. t0 y t1 que almacenan el registro temporal de instante en el que el
vehículo pasa por cada puerta. La variable d almacena la diferencia de ambos valores: d =
t1 - t0.
Explicación

 Al presionarse el pin P0 ... Este bloque se activa cuando se registra una entrada de señal
en el pin P0. Es el conectado a la puerta inicial.
o Guarda en la variable t0 el valor del bloque marca temporal del evento. Este
bloque devuelve en formato timestamp el instante en que se detectó entrada de
señal en el pin P0. El formato timestamp expresa en microsegundos el tiempo
transcurrido desde el 1 de enero de 1970 hasta ese instante.
o En la matriz de leds se muestra una primera línea para indicar que se ha registrado
el paso por la puerta inicial.
Explicación
Al presionarse el pin P1 ... Este bloque se activa cuando se registra una entrada de señal en el
pin P1. Es el conectado a la puerta final.

 Guarda en la variable t1 el valor del bloque marca temporal del evento. Este
bloque devuelve en formato timestamp el instante en que se detectó entrada de señal en
el pin P1. El formato timestamp expresa en microsegundos el tiempo transcurrido desde el
1 de enero de 1970 hasta ese instante.
 En la matriz de leds se muestran dos líneas para indicar que se ha registrado el paso por la
puerta final.
 Se calcula la diferencia d = t1 - t0, se divide entre 1000 para pasarlo a milisegundos y se
redondea para evitar decimales.
 Se muestra el valor de la diferencia en el display.
 Por último se ilumina el led central para indicar que se está en disposición de volver a
realizar otra medida.
Desafío: Cálculo de la velocidad

 Modifica el programa anterior para calcular la velocidad media del vehículo.


 Mide la distancia "e" entre ambas puertas y anota la medida.
 En la programación calcula la velocidad "v" dividiendo la distancia "e" entre el tiempo "t"
registrado: v = e / t
 Muestra la velocidad en el display.

28. Capturar el punto


Programa

"Capturar el punto" es un juego de habilidad en el que el jugador tiene que presionar A


exactamente cuando el punto llega al centro de la pantalla. Cuando esto ocurre anotará un punto
del juego. Si falla se detendrá el juego y se mostrará el mensaje GAME OVER y la puntuación
obtenida.

microbit-28_juegoCapturarPunto.hex (hex - 632.48 KB).

Programación
Explicación

Estas 2 secuencias generan la animación del punto en el display de la tarjeta micro:bit:

Al iniciar ... (se ejecuta al inicio del programa)

 Crear una variable con el nombre sprite que guarda la referencia en todo momento al
sprite (objeto animado)
 El bloque establecer sprite para create sprite at x: 2 y:2 crea un sprite referenciado
desde la variable sprite y lo sitúa en el punto central del display, es decir, en el punto de
coordenadas X=2 e Y=2. Recuerda que los leds del display de la tarjeta tienen
coordenadas del 0 al 4 tanto para el eje X como para el eje Y. Este bloque se encuentra en
la categoría Juego de la paleta de bloques.
 El bloque establecer puntuación a cero define esta puntuación del juego como cero.

Para siempre ... (se ejecuta de forma permanente)

 sprite desplazar 1. Este bloque define un desplazamiento hacia la derecha del sprite de 1
punto.
 pausa ms (500 ms). Esta pausa en medio del bucle produce una ralentización del mismo
haciendo más fácil el juego. Para incrementar la dificultad del juego sitúa como pausa 100
ms y para disminuirla sitúa 1000 ó 2000 ms.
 El bloque sprite si en el borde, rebotar hace que el sprite rebote en dirección contraria al
llegar a un borde.
Si ejecutas el programa con sólo estas dos secuencias observarás la animación del sprite o punto
rebotando de un lado para otro sobre la Y=2.

Explicación

Esta tercera secuencia añade la interactividad del jugador en el juego.

Al presionar el botón A ...

 Si sprite X es igual a 2 ... si la coordenada X del sprite en el instante en que se pulsa el


botón es igual a 2, es decir, si se captura el punto en ese instante ...
 Agregar puntos a la puntuación actual 1 ... se añade un punto a la puntuación actual. En
el display se mostrará por defecto un efecto visual de animación característico de acierto.
 Si no ... fin del juego. Este bloque provocará que el juego detenga, se mostrará en el
display el mensaje GAME OVER y a continuación la puntuación final obtenida SCORE ...

Para volver a jugar será necesario pulsar en el botón trasero RESET de la tarjeta micro:bit.

Desafío: Capturar el punto 2

 Modifica el programa anterior para añadir un segundo sprite o punto.


 En el bucle Para siempre define ...
o Para sprite1 establece una ubicación aleatoria para X entre 0 y 4 y para Y entre 0
y 1. De esta forma ocupará posiciones distintas en la banda superior del display
(filas 0 y 1)
o Para sprite2 establece una ubicación aleatoria para X entre 0 y 4 y para Y entre 3
y 4. Con esta configuración ocupará una posición aleatoria en la banda inferior del
display para las filas 3 y 4.
o Establece una micropausa de 1000 ms para facilitar la consecución del juego.
o Cuando ambos sprites coinciden en su coordenada X entonces se anota un punto.
En caso contrario se detiene el juego con un game over.

microbit-28b_juegoCapturarPunto.hex (hex - 631.3 KB).

29. Juego de obstáculos


Programa

 En este sencillo juego se controla el movimiento de un sprite en la parte inferior del


display.
 Se puede desplazar sobre la línea inferior a la izquierda o derecha usando los botones A y
B de la placa.
 De forma aleatoria van apareciendo en la parte superior obstáculos que van cayendo hacia
abajo por el display.
 Se trata de evitarlos para anotar puntos.
 Si chocas contra ellos el juego se detendrá y mostrará la puntuación obtenida.

Fuente de imagen: MakeCode de Micro:bit

microbit-29_juegoObstaculos.hex (hex - 659.25 KB).

Programación

Explicación

 Al iniciar ... se ejecuta al iniciarse el programa. Se crea un sprite con el nombre player y
se sitúa en el punto X=2 Y=4, es decir, en la parte inferior central de la matriz de leds.
Explicación

 Al presionarse el botón A ... se resta a la coordenada X del sprite player una unidad.
Esto produce que se desplace a la izquierda.
 Al presionarse el botón B ... se suma a la coordenada X del sprite player una unidad.
Esto produce que se desplace a la derecha.

Para siempre ... ejecuta de forma continua la rutina que se programa a continuación.

 pausa ms escoger al azar entre 1000 y 2000 ms. Esto produce una pausa aleatoria entre
1 y 2 segundos.
 establecer obstaculo ... Crea un sprite con el nombre obstáculo y lo sitúa en un punto de
X entre 0 y 4 y de Y=0. De esta forma el punto sprite creado aparecerá en la línea superior
de leds en una columna aleatoria entre 0 y 4.
 repetir 4 veces ejecutar ... se ejecuta este bucle 4 veces.
o pausa 200 ms. Define una pausa en el programa. Cuanto más pequeño sea la
pausa más rápido desciende el obstáculo. Cuanto más grande sea la pausa más
lento baja el obstáculo.
o obstáculo cambiar y por 1. La coordenada Y de este sprite se incrementa en 1
con lo cual desciende un peldaño.
 Si "is player touching obstaculo" entonces ... Si el sprite player toca el sprite obstáculo
entonces ....
o fin del juego. Este bloque detiene el juego, muestra GAME OVER en el listado y
luego el marcador de puntos conseguidos SCORE X
 pausa 200 ms. Define una pausa de 200 ms.
 Agregar puntos a la puntuación total. Este bloque añade un punto a la puntuación del
jugador. Esto se producirá cuando el obstáculo haya bajado hasta la línea más inferior de
leds.
 delete obstaculo. Elimina este sprite para reiniciar el bucle Para siempre con la creación
de un nuevo sprite.
Desafío: Juego de captura

 Modifica el programa anterior para que el jugador puntúe solamente cuando el sprite móvil
intercepte el obstáculo que desciende.
 Con esta acción conseguirá un punto.
 Si el obstáculo llega abajo sin ser interceptado entonces el juego finalizará.
 Pista: invertir la secuencia de código del bloque Si "is player touching obstaculo"
entonces ...

microbit-29b_juegoObstaculos.hex (hex - 659.33 KB).

30. Juego de reacción


Programa

 Juego para 2 personas.


 Se trata de ver quien reacciona más rápido al aparecer un punto en el centro del display.
 Cada jugador debe presionar su botón (A o B) para tratar de ganar un punto.
 El primer jugador que llega a 5 puntos gana el juego.

microbit-30_juegoReaccion.hex (hex - 646.72 KB).

Programación
Explicación

 ocultar X=2 Y=2. Este bloque oculta el led central del display en el inicio del programa
 Se crean 3 variables:
o gameover que tendrá valor 0 mientras dura el juego y tendrá valor 1 cuando se
detiene el juego.
o player score 1 almacena la puntuación del jugador 1 que interactúa con el botón
A.
o player score 2 guarda la puntuación del jugador 2 que interactúa con el botón B.
 Se inician los valores de las variables a cero.

Explicación

Para siempre ... se ejecuta de forma indefinida

 Si gameover=0 entonces ... Esta condición chequea que el juego no se haya terminado.
o pausa ms escoger al azar de 2000 a 10000. Esto genera una micro pausa de
duración aleatoria entre 2 y 10 segundos.
o graficar X=2 Y=2 ilumina el led central del display.
Explicación

Al presionar el botón A ...

 si punto x=2 y=2 entonces ... si está iluminado el led central ...
o cambiar player score 1 por 1. Se incrementa el contador de puntos del jugador 1
en una unidad.
o ocultar x=2 y=2. Se apaga el led central.

Idem para el botón B y el jugador 2.

Explicación

Para siempre ... se ejecuta de forma indefinida

 Si gameover=0 entonces ... Esta condición chequea que el juego no se haya terminado.
o graficar x=0 y=player1 score -1. Este bloque produce que se ilumine en la
columna más a la izquierda de leds (x=0), el led de posición 0, 1, 2 ... según los
valores que va tomando el contador de puntos del jugador 1 player1 score.
o graficar x=5 y=player2 score -1. Este bloque produce que se ilumine en la
columna más a la derecha de leds (x=5), el led de posición 0, 1, 2 ... según los
valores que va tomando el contador de puntos del jugador 2 player2 score.

Esta rutina crea un marcador de barra vertical en la posición x=0 hacia abajo para el jugador 1 y en
la posición x=4 para el jugador 2.

Explicación

Para siempre ... se ejecuta de forma indefinida

 Si player1 score =5 ... Si el contador de puntos del jugador 1 es igual a 5 ...


o establecer gameover para 1. Al definir este valor para la variable gameover se
detendrá el encendido y apagado del led central.
o mostrar led ... muestra la flecha que apunta al usuario ganador.

Idem con el jugador 2.

Desafío: Juego de reacción con pulsadores externos

 Modifica el programa para jugar usando sendos objetos conductores o pulsadores.


 Conectar uno a P0 y GND y el otro a P1 y GND.

microbit-30b_juegoReaccion.hex (hex - 646.77 KB).

6. Más información
Para hacer y aprender

 Proyectos
 Ejemplos
 Cursos
 Lecciones
Referencia de micro:bit

 micro:bit APIs
 micro:bit device
Referencia de lenguaje y datos

 Lenguaje de Bloques
 Lenguaje Javascript

También podría gustarte