Manual de Programación BBC micro:bit

Actualizado hace 21 dias por Jose Francisco Muñoz

Manual de Programación micro:bit  •  Resumen online gratuito

Portada Manual microbit DIN A4-PDF.jpg


Manual de Programación micro:bit

Título: Manual de Programación micro:bit

Autor: José Francisco Muñoz ( https://almeribot.com/ )
Editor: Microes.org

3ª Edición: Enero, 2020 - 2ª Edición: Enero, 2019 - 1ª Edición: Julio, 2018

Este manual es un resumen online de otras guías de manejo impresas:

Manual micro:bit & Basic kit

Manual de Programación micro:bit & Octopusbit

manual-de-programacion-microbit-octopusbit-interior.jpg

Estas guías pueden adquirirse al comprar los packs de ampliación disponibles:

http://microes.org/formacion/packs-educativos-microbit


“Manual de Programación micro:bit” ha sido publicado bajo la licencia Creative Commons:

C:UsersCHEMADesktopManual de Programación microbitCreative Commons.jpg

C:UsersCHEMADesktopmicroeslogomicroes logo tagline fondo Blanco 300.png

¿Dudas? ¿Quieres colaborar con la comunidad?. Contáctanos:

e-mail: info@microes.org

teléfono: 945 29 80 50  (de 8:00 a 14:00)

Puedes comprar la tarjeta micro:bit e infinidad de complementos compatibles en:

robotopia-logo-300.png

http://robotopia.es/


Introducción a la micro:BIT

¿Qué es micro:bit?

micro:bit es una pequeña tarjeta programable, pensada para su uso en el aula, de coste asequible y programable mediante el editor gráfico online MakeCode. Estas y otras características, la convierten en la plataforma ideal para introducirse en el mundo de la programación de robots educativos.

fuente: http://microes.org

Características técnicas

25 LEDs. Se pueden programar de forma independiente y permiten mostrar números, letras e imágenes.


Sensor de Luz. Los LEDs también pueden ser usados como sensor de luz, lo que permite medir el nivel de luminosidad ambiente.


Pulsadores. Existen 2 botones, etiquetados como A y B. Se puede detectar la pulsación independiente de cada uno de ellos, así como la pulsación simultánea de ambos.


Conectores. Situados en la parte inferior de la placa, dispone de 25 conexiones que permiten conectar otros sensores y actuadores. 5 de las conexiones se encuentran sobredimensionadas para facilitar la conexión mediante pinzas de cocodrilo.


Sensor de temperatura. Permite conocer a la micro:bit la temperatura ambiente. Las unidades son grados Celsius.


Acelerómetro. Permite conocer aceleraciones y giros a los que se somete la placa.


Brújula digital. Permite conocer la desviación respecto el Norte Magnético. También permite detectar la presencia de campos magnéticos próximos. Al iniciar su uso entra en modo de calibración.

Radio. Permite conectarse inalámbricamente con otras micro:bits.


Bluetooth. Pensado para conectarse e intercambiar datos inalámbricamente con otros dispositivos (móviles, tablets, ordenadores, etc.) que dispongan de este tipo de conexión.


USB. Se usa para descargar los programas a la memoria de la tarjeta y para alimentar eléctricamente la micro:bit.


Conector de batería. Permite suministrar electricidad mediante dos pilas. La tarjeta carece de interruptor, por lo que cuando se conecta la fuente de alimentación se ejecuta de forma automática el código que haya en la memoria. Se debe prestar atención y alimentar con el voltaje recomendado por el fabricante.

fuente: http://microes.org

¿Cómo programar la micro:bit?

Hay diferentes plataformas que permiten programar la micro:bit, siendo la más extendida la versión online de MakeCode. La versión web de este editor gráfico es accesible desde el siguiente enlace: https://makecode.microbit.org/

Si se usa Windows 10, existe la posibilidad de descargar de Microsoft Store, una versión instalable de MakeCode para micro:bit.

Otra opción es descargar la versión offline de Makecode para ordenador, desde el siguiente enlace: https://makecode.microbit.org/offline-app

También existen otras plataformas gráficas como Scratch 3.0, mBlock o Tickle que permiten programar la micro:bit desde un ordenador o incluso desde dispositivos móviles gracias a la conexión Bluetooth.

Además, los usuarios más avanzados tienen la posibilidad de usar JavaScript o Pyton para codificar la tarjeta. MakeCode para micro:bit tiene la opción de convertir la programación realizada mediante bloques en código JavaScript con solo pulsar un botón.

¿Cómo alimentar la micro:bit?

Usando el puerto microUSB. Cuando la micro:bit está conectada a un ordenador por el puerto USB no necesita ninguna otra fuente de alimentación

Mediante un portapilas. La micro:bit cuenta con un conector JST que permite enchufar un portabaterías con dos pilas alcalinas.

Cabe destacar que se pueden tener las dos fuentes de alimentación conectadas a la vez. La micro:bit cuenta con un diodo que desconecta la alimentación de las baterías cuando detecta que se conectó mediante el puerto USB.

Es muy importante no superar el voltaje recomendado con el que se alimenta a través del conector para el portapilas, no se encuentra protegido frente a sobretensiones, lo que puede dañar la electrónica de la micro:bit. Por ejemplo, no se recomienda alimentar con una batería LiPo, ya que cuando está cargada al máximo el voltaje entregado suele rondar los 4,2 voltios.

 

¿Cómo actualizar el firmware de la tarjeta?

Ocasionalmente la Fundación micro:bit libera actualizaciones del firmware con la intención de realizar cambios y mejoras en el software del sistema.

Para comprobar la versión de firmware que tiene instalada la micro:bit se debe abrir el fichero “DETAILS.TXT” que aparece cuando conectamos las tarjeta al ordenador. La versión aparece como “Interface Versión: 0253”. Siendo en este caso “0253” la versión que tiene instalada la micro:bit.

Para llevar a cabo la actualización, lo ideal es descargar el fichero de la página oficial:

https://microbit.org/es/guide/firmware/

Con la batería desconectada y el cable USB conectado al ordenador, se debe pulsar el botón de reinicio de la tarjeta sin soltar el botón se conectará el cable USB a la micro:bit. Tras esto debe aparecer una unidad en el administrador de archivos llamada mantenimiento. Justo aquí es donde se debe copiar el fichero HEX descargado con anterioridad. Cuando deje de parpadear el LED amarillo la actualización habrá terminado.

Para finalizar se debe comprobar que la micro:bit se actualizó correctamente comprobando la versión de firmware instalada, tal como se indicó anteriormente.

También existe la posibilidad de instalar versiones de firmware anteriores descargando los ficheros de la página oficial.


MakeCode. Primeros pasos

Tras iniciar el programa el usuario se encuentra con una página de bienvenida desde la que se puede crear un Nuevo Proyecto, Importar proyectos anteriores, además de poder visualizar tutoriales, cursos y vídeos descriptivos del producto.

Para cargar un proyecto descargado al ordenador o desde una URL facilitado por un tercero, se debe pulsar en Importar. Esta opción abre una nueva ventana desde la que se puede seleccionar entre Importar Archivo o Importar URL... 

Para crear un nuevo programa, se debe pulsar sobre el icono Nuevo Proyecto, enlace que lleva la página de programación.

Descripción General

Simulador. Situado en el lado superior izquierdo de la pantalla, nos muestra una micro:bit, donde se puede ver la ejecución del programa. Esta sección es útil para depurar el código antes de volcarlo a la memoria de la tarjeta.

Caja de Herramientas. Situado en una columna vertical, al lado del simulador, se ubican los bloques de programación organizados por categorías. Al pulsar sobre el nombre de una categoría se abre, a la derecha, un desplegable donde aparecen los bloques de la sección. Es importante fijarse en que justo debajo del nombre de la categoría, la mayoría de veces, aparece la opción … Más. Si se pulsa se muestran el resto de bloques de la categoría. Una vez seleccionado el bloque a usar se debe arrastrar al área de programación.

Área de programación. Situado a la derecha de la Caja de Herramientas, es la zona donde se arrastran los bloques para crear el programa.

Barras de Herramientas. Situadas en la parte superior e inferior de la pantalla, ofrece atajos a diferentes funcionalidades.

Al pulsar sobre micro:bit o Inicio se abre una ventana que permite guardar el programa creado y lleva a la página de bienvenida.

Compartir permite al programador distribuir los códigos creados con otros usuarios. En primer lugar se solicita “Publicar el Proyecto”, tras lo que aparece una nueva ventana, que ofrece un enlace y diferentes opciones de código para poder insertar en una página web.

Permite intercambiar entre la visualización mediante bloques o ver el código escrito en JavaScript.

En el extremo derecho de la Barra de Herramientas se encuentran las secciones de Ayuda, Configuración y acceso a la página principal de MakeCode.

En la barra de herramientas inferior, a la izquierda, nos encontramos con dos opciones. Descargar. Copia el código a la micro:bit. Se usará un nombre por defecto si no se asignó uno previamente. La caja donde aparece Sin título, junto al ícono de un disquete, permite asignar un nombre y descargar el programa al disco duro.

En la zona derecha de la barra de herramientas inferior existen dos flechas que permiten deshacer y rehacer los pasos de codificación. En el extremo derecho inferior aparece el icono “+” que aumenta el zoom del área de programación y el icono  “-” que disminuye el zoom.

Entre el simulador y la caja de herramientas aparece un botón con una flecha hacia la izquierda que hace desaparecer el simulador y deja más espacio en la zona de programación.

Cómo crear un programa con MakeCode

Lo primero que hay que decidir es qué evento inicia el código. Por defecto, MakeCode sitúa en el área de programación dos bloques con los que iniciar el programa, estos son: al iniciar y para siempre.

También existen otros eventos que permiten iniciar el código. Los más habituales se sitúan en la categoría Entrada. Éstos a su vez permiten varias opciones que se podrán ver si se pulsa sobre el triángulo invertido de color blanco.

En categorías como Radio, Pines, Serial y Control, aparecen otras opciones de eventos para iniciar los programas.

Para crear un programa se deberán arrastrar los bloques al área de programación y encajar éstos con los ya existentes.

Tipos de bloques que usa MakeCode

Eventos. Son comandos que contienen las sentencias que componen el código.

Sentencias. Instrucciones básicas en las que se divide el programa. Cuentan con una pestaña para ir encajando entre ellas.

Datos. Tienen forma rectangular con los lados pequeños curvos. Los datos pueden ser números, cadenas de texto (incluyen comillas), el dato obtenido por un sensor, el valor que toma una variable o el resultado de una operación.

Operadores lógicos. Con forma de hexágono alargado. Los operadores de comparación permiten cotejar dos números o dos grupos de caracteres. Por otro lado están los operadores booleanos, que son los nexos lógicos entre los dos términos de una relación. En ambos casos se devuelve verdadero si se cumple el requisito y falso en caso de no cumplirse.

Cómo descargar un código a la micro:bit

Tras conectar la micro:bit al ordenador, aparecerá como una nueva unidad de disco. Terminado el programa y comprobado su funcionamiento, se debe pulsar sobre el icono Descargar, lo que copia el código al ordenador con un nombre por defecto. Otra opción es introducir el nombre elegido en la caja situada al lado del icono del disco y pulsar sobre éste para descargar el código.

Ya sólo queda copiar el fichero con extensión .hex a la unidad que apreció tras conectar la micro:bit.

Si se está programando mediante la aplicación obtenida de Microsoft Store y además tenemos conectada la micro:bit al ordenador, si se presiona sobre Descargar, el código se copiará directamente en la memoria de la micro:bit.

Cómo ejecutar el código

Copiado o descargado el código en la micro:bit, el programa comienza a ejecutarse de forma automática. Si se quiere usar la micro:bit desconectada del ordenador, se debe conectar un pack de pilas al conector situado junto al conector microUSB e inmediatamente se ejecutará el código descargado.


Programando la micro:BIT

En este apartado se van a mostrar algunos ejemplos de cómo programar los diferentes sensores y actuadores incluidos en la tarjeta micro:bit. Con este objetivo se hará un repaso, no exhaustivo, de los bloques más comúnmente usados.

MakeCode para micro:bit es una aplicación en constante evolución y mejora, por lo que algunos bloques pueden aparecer o usarse de forma diferente a la mostrada en este libro.

Panel LED

La tarjeta consta de 25 LEDs de color rojo, estos se pueden programar de forma independiente. Permite mostrar números, letras e imágenes. El sistema está preparado para desplazarse de forma automática en el supuesto de que no quepan los caracteres a mostrar.

Reto 1. Hola Mundo

Cuando se aprende a programar, se llama “Hola Mundo” al primer programa que se crea. Este código imprime el texto «¡Hola Mundo!» en un dispositivo de visualización.

Objetivo

Al conectar la micro:BIT, se debe mostrar el texto «¡¡¡Hola Mundo!!!» en el panel LED de la tarjeta.

Descripción del código

Se propone usar el evento al iniciar, situado en la categoría Básico. Este bloque permite ejecutar el código introducido, cuando se inicia la micro:BIT

A continuación se usará el bloque mostrar cadena, también localizado en la categoría Básico e introducir el texto “Hola Mundo !!!”. Este bloque permite mostrar carácter a carácter, el texto introducido.

El código quedará de la siguiente manera.

De forma inmediata comenzará a leerse en el panel LED la cadena de texto introducida. El texto no cabe en su totalidad por lo que este se desplazará de forma automática.

Propuesta

Modificar el código, para que se muestre el nombre del programador.

Reto 2. Cómo mostrar un icono

Un icono es un signo que mantiene una relación de semejanza con el objeto representado; por ejemplo algunas señales de tráfico. En informática es un símbolo gráfico que aparece en la pantalla de una computadora u otro dispositivo electrónico y que representa un programa, un sistema operativo, etc.

Objetivo

Mostrar durante el intervalo de 100 ms tres iconos de la librería incluida en el software MakeCode. Al finalizar apagar la pantalla.

Descripción del código

Se usará el evento “para siempre”, situado en la categoría Básico.. Este evento permite repetir el código introducido de forma continua, permitiendo en cada iteración que se ejecute otro código.

Situar en el interior el bloque anterior la instrucción “mostrar icono”, usar el icono llamado corazón. Este bloque también se localiza en la categoría Básico. Este bloque dibuja el icono seleccionado en la pantalla LED.

Agregar el bloque pausa ms (100) ubicado en la categoría Básico. Pausa la ejecución del programa el tiempo indicado en milisegundos.

Repetir los pasos 2 y 3, esta vez seleccionando los iconos de la jirafa y de la tijera.

Añadir el bloque borrar la pantalla ubicado en la categoría Básico. Este bloque apaga todos los LEDs.

A continuación deberá aparecer una secuencia de iconos que muestran un corazón, una jirafa y una tijera. Al finalizar se apaga la matriz LED.

Propuesta

Diseñar un programa que muestre todos los iconos disponibles.

Reto 3. Animando los iconos

La animación es una técnica que logra crear sensación de movimiento a imágenes estáticas. Se consigue mediante una secuencia de imágenes ordenadas, que al ser mostradas consecutivamente,  consiguen generar la ilusión visual de movimiento.

Objetivo

Se propone, que al conectar la micro:BIT, se muestre en el panel LED un corazón que late.

Descripción del código

Se usará el evento “para siempre”, situado en la categoría Básico..

Situar en el interior el bloque anterior la instrucción mostrar icono, usar el llamado corazón.

Agregar el bloque pausa ms (100) localizado en la categoría Básico.

Repetir los dos bloques anteriores, pero seleccionando el icono “corazón pequeño”.

De forma inmediata se visualiza en el simulador un corazón que simula latir.

Propuesta

Hacer un código que muestre la animación de una tijera cortando.

Reto 4. Diseñando iconos

MakeCode permite diseñar de forma gráfica los iconos a mostrar en el display LED. Para este menester dispone de un bloque específico situado en la categoría Básico. El bloque se llama “mostrar LEDs” y permite al usuario diseñar sus propios iconos marcando de forma independiente los LEDs que se quieren iluminar.

Objetivo

Diseñar un icono con forma de Indalo. Se trata de una figura rupestre encontrado en una cueva de la provincia de Almería y que representa una figura humana con los brazos extendidos y un arco sobre sus manos. Actualmente se considera un símbolo de la provincia de Almería.

Descripción del código

Se usará el evento al iniciar, situado en la categoría Básico..

Situar en el interior el bloque anterior, la instrucción “mostrar LEDs”, este se localiza en la categoría Básico. Este bloque permite marcar de forma independiente los LEDs que se quieren encender.

Pulsar sobre los LEDs que se quieren iluminar hasta conseguir el icono deseado.

Deberá aparecer en el simulador el icono con la forma diseñada.

Propuesta

Diseñar un código que muestre un logotipo diseñado por el programador.

Pulsadores

Hay dos botones en la cara frontal de micro:bit (etiquetados como A y B). Puedes detectar cuando son pulsados de forma independiente o a la vez y ejecutar una acción en cada caso.

Reto 5. Crear iconos de formas aleatorias

MakeCode ofrece la posibilidad de encender y apagar LEDs de forma independiente. Para encender un LED en una posición establecida se debe usar el bloque “graficar x(0)  y(0)”, estando este bloque ubicado en la categoría LED. Para encender un LED en una posición concreta se deberá indicar posición del LED mediante las coordenadas del mismo. El origen de las coordenadas (0,0) se ubica en la esquina superior izquierda del display LED de la micro:BIT.

Un número aleatorio (obtenido al azar) es un número de una secuencia cuyo valor es impredecible y la elección de uno no depende de la elección del otro.

Para elegir un número al azar dentro de un rango definido, MakeCode dispone del bloque “escoge al azar de 0 a (4)”, este comando se sitúa en la categoría Matemática. Este bloque devuelve un número aleatorio entre 0 y un número establecido.

.

Objetivo

Crear iconos con formas aleatorias en el display LED de la micro:BIT al presionar el pulsador “A” y apagar los LEDs al presionar “B”

Descripción del código

Se usará el evento al presionar el botón A, situado en la categoría Entrada.. Este bloque ejecuta lo incluido, cuando se pulsa el botón A.

Situar en el bloque anterior la instrucción “repetir (4) veces, ejecutar”, sustituir el número 4 por 25. Esta instrucción se ubica en la categoría Bucles. Este bloque permite repetir una serie de acciones el número de veces especificado.

La instrucción a repetir 25 veces será “graficar x(0)  y(0)”

Para encender de forma aleatoria los diferentes LED de la placa, se debe sustituir el valor de “x” e “y” por un valor aleatorio entre 0 y 4. Recordar que el origen de coordenadas está en (0,0)

Borrar la pantalla al accionar el pulsador “B”

Una vez terminado la programación, si se pulsa el botón “A” aparecerán iconos con formas aleatorias y al pulsar el botón “B” se apagan los LEDs.

Propuesta

Modificar el código para que el bucle se repita un número aleatorio de veces, pero nunca superior a 10.

Sensor de temperatura

El sensor de temperatura integrado en la placa detecta la temperatura ambiente en grados Celsius.

Reto 6. Termómetro digital

Un termómetro es un instrumento que sirve para medir la temperatura; el más habitual consiste en un tubo capilar de vidrio cerrado y terminado en un pequeño depósito que contiene una cierta cantidad de mercurio o alcohol, el cual se dilata al aumentar la temperatura o se contrae al disminuir y cuyas variaciones de volumen se leen en una escala graduada.

Los termómetros digitales son aquellos que, valiéndose de dispositivos transductores, utilizan circuitos electrónicos para convertir en números las pequeñas variaciones de tensión obtenidas, mostrando finalmente la temperatura en un visualizador.

Objetivo

Mostrar en el panel LED la temperatura detectada por el sensor de temperatura integrado en la micro:BIT.

Descripción del código

Se propone iniciar el programa usando el evento “para siempre”. Añadir el bloque, localizado en la categoría Básico, mostrar número. Este bloque muestra en la pantalla LED el número introducido, desplazándose si es mayor de 1 cifra.

Sustituir el número “0” por el valor obtenido del sensor de temperatura. Este bloque se localiza en la categoría Entrada.  

A continuación se borra la pantalla y se introduce una pausa de 1000 ms. Quedando el programa de la siguiente forma:

En el simulador aparecerá una barra vertical que permite modificar la temperatura, siendo la temperatura marcada la mostrada en el panel LED.

Propuesta

Hacer un programa que al pulsar el botón A muestra la temperatura en grados celsius y al pulsar el botón B la temperatura mostrada sea en grados Fahrenheit.

Reto 7. Aviso de placas de hielo

La mayoría de coches incorporan en el salpicadero, junto a la pantalla que marca la temperatura exterior, un testigo con forma de copo de nieve, que avisa de la posibilidad de que haya placas de hielo en la carretera. Este testigo se suele iluminar cuando la temperatura baja de 3 grados centígrados.

Objetivo

Mostrar en el panel LED de la micro:BIT un icono con forma de copo de nieve cuando la temperatura esté por debajo de 3 grados.

Descripción del código

Para iniciar el programa, se propone usar el evento para siempre. Posteriormente se debe añadir el operador lógico si … entonces situado en la sección Lógica. Este bloque verifica si es verdad que se cumple una condición, si es así, ejecuta las instrucciones introducidas.

Para comprobar si la temperatura está por debajo de los 3º centígrados se usará el operador que devuelve verdadero siempre que 3 sea mayor que el valor reportado por el sensor de temperatura. El bloque se localiza en la categoría Lógica.

Para mostrar un icono con forma de copo de nieve se usará el bloque mostrar LED, también se debe añadir el bloque borrar la pantalla para que no se quede encendido el panel LED cuando suba la temperatura de 3º centígrados.

Una vez terminado el código, aparecerá el símbolo de hielo, cuando la temperatura sea menor de 3º centígrados.

Propuesta

Añadir un aviso sonoro cuando la temperatura sea inferior a 3 grados celsius.

Reto 8. Temperatura de confort

La sensación de confort térmico se alcanza entre los 21 °C y 26 °C. Lo recomendable es establecer una temperatura que nos garantice una sensación de confort pero controlando el gasto energético.

Objetivo

Mostrar en el panel LED de la micro:BIT, si la temperatura ambiente se encuentra dentro del rango de confort térmico. Para ello se propone mostrar una carita feliz si la temperatura se encuentra dentro del rango entre 21ºC y 26ºC. Si se encuentra fuera de rango mostrar una carita triste.

Descripción del código

Para ejecutar el código se propone usar el evento para siempre.

Se introduce el condicional si entonces si no, con el que se comprobará en rango se encuentra la temperatura, para de esta forma decidir qué icono se muestra.

Para verificar si la temperatura se encuentra dentro del rango entre 21ºC y 26ºC, se comprobará si la temperatura es mayor o igual a 21ºC y además es menor o igual a 26ºC.

Se usará el condicional … y ... anidado con los condicionales mayor que y menor que.

Si se cumple la condición, se mostrará una carita feliz y en caso contrario una carita triste.

El programa quedaría de la siguiente forma.

A continuación se podrá comprobar el funcionamiento del programa en el simulador.

Propuesta

Con la intención de ahorrar energía, modificar el código para que se muestre el icono al pulsar a la vez los botones A y B de la placa. A los 3 segundos se apagará la pantalla.

Reto 9. Temperatura óptima de una nevera

La temperatura óptima de un frigorífico es de 7ºC, mientras que la temperatura de un congelador debe estar entorno a los -18ºC. Algunas neveras incorporan un avisador acústico que se activa cuando la temperatura no es la óptima.

Objetivo

Mostrar en el panel LED de la micro:BIT la temperatura del frigorífico y activar una alarma cuando la temperatura esté por encima de 7ºC

Descripción del código

En este reto se incorpora un altavoz como actuador externo. Se conectará uno de los polos al GND y el otro al PIN 0.

Para iniciar el programa se usará el bloque “para siempre”. Dentro se situará el condición “si entonces”. La condición a verificar será: si la temperatura es mayor de 7 grados.

Si el valor es verdadero entonces se reproducirá un tono de aviso.

También se muestra la temperatura medida.

En el simulador se puede variar la temperatura para comprobar el correcto funcionamiento del programa.

Propuesta

Modificar el código para monitorizar el congelador.

Sensor de luminosidad

Los LEDs de la placa micro:bit también pueden actuar como entrada haciendo que detecten la luz ambiente.

Reto 10. Medir la intensidad de la luz ambiente

Los sensores de luz se usan para detectar el nivel de luminosidad y producir una señal de salida representativa de la cantidad de luz detectada.

En algunas ocasiones puede ser interesante conocer el nivel lumínico que hay en diferentes situaciones y así poder calibrar un dispositivo que dependa del valor de la intensidad luminosa, como puede ser una cámara fotográfica.

MakeCode dispone del bloque nivel de luz en la categoría Entrada, que lee el valor de luz aplicado en la pantalla LED. Este valor se mueve en un rango de 0 (oscuro) a 255 (luminoso).

Objetivo

Al presionar sobre el pulsador A se mostrará el valor numérico de la intensidad de la luz ambiente. Al pulsar sobre B, se mostrará gráficamente la intensidad lumínica. Al pulsar A y B de forma simultánea, se apagará la pantalla.

Descripción del código

Se propone crear tres programas diferentes y que cada uno se inicie según el botón o combinación de botones presionados.

Al pulsar sobre el botón A se mostrará el valor numérico de la intensidad luminosa. Se usará el bloque mostrar número introduciendo el bloque nivel de luz como valor a presentar.

Al pulsar el botón B se encenderán los LEDs necesarios, para mostrar de forma gráfica el valor del nivel de luz. Se usará el bloque plot bar graph of ... up to ... localizado en la sección LED. En primer lugar se introduce el bloque nivel de luz  y en el segundo término se sustituye el valor por defecto por 255, valor máximo que detecta el sensor de luz.

Para terminar se usará la pulsación combinada de los botones A y B para borrar y apagar la pantalla LED.

Propuesta

Crear un código que permita encender todos los LEDs del panel de la micro:BIT al pulsar el botón A y apagarlos al pulsar el botón B, pero no se encenderá si el valor del sensor de luz es superior a 175.

Reto 11. Alarma de exposición al sol

En la actualidad hay estudios que demuestran la relación entre la exposición al sol y el riesgo de padecer cáncer de piel. Los dermatólogos recomiendan evitar la exposición al sol durante las horas de máxima radiación y el uso de cremas protectoras.

Se propone crear, usando la micro:BIT, un dispositivo que avise que estamos expuestos a un valor de elevado de radiación solar.

Objetivo.

Al iniciar el programa se indica que hay que pulsar el botón A para que muestre el valor de la intensidad del sol. Al pulsar el botón se mostrará una carita feliz si el valor es inferior a 175(*) y una carita triste si es superior. Pasados 3 segundos se pasará a modo de ahorro de energía, quedando a la espera de que se vuelva a pulsar el botón A.

Nota.- El valor usado como límite, carece de toda validez científica.

Descripción del código

Al iniciarse la micro:BIT se mostrará el texto “Pulsar A”

Su usará el evento al presionarse el botón A, para iniciar la medición del valor de la exposición. Se introducirá la condición si … entonces, si no, para comprobar si se está por encima o por debajo del valor teórico tomado como límite. Si el valor del nivel de luz es menor a 175, se muestra una carita feliz y a los 3 segundos se apaga la pantalla. En caso contrario se muestra una carita triste y se entrará en modo de ahorro de energía pasados 3 segundos. El programa quedaría de la siguiente forma.

Propuesta

Crear un programa que mida el nivel luminoso existente, para ello usará el sensor de luz de la micro:BIT. Posteriormente se comprobará si este valor es inferior a 50, si es así, se encenderán todos leds de la placa a su máxima intensidad.

Reto 12. Modificar el brillo de los LEDs

La mayoría de los teléfonos móviles incorporan la posibilidad de modificar la luminosidad de la pantalla, para adaptarse a la luz ambiente.

Objetivo

Diseñar un programa que permita modificar la luminosidad de los LEDs, si se pulsa el botón A la luminosidad aumentará, si se acciona el botón B la luminosidad disminuirá. Si se pulsan A+B la luminosidad se situará a un valor intermedio (128).

Descripción del código

Para iniciar el programa se definirá una variable que se llamará “brillo”. En la categoría Variables se podrá crear una nueva variable o renombrar la que sale por defecto.

Se establecerá un valor inicial de 128 para la variable creada.

Se propone usar pasos por valor de 32 unidades para evidenciar el cambio de brillo en los LEDs, pero se puede usar cualquier otro valor.

Al accionar el pulsador A se aumentará la variable “brillo” en 32 pasos. Al pulsar el botón B se disminuye el valor de la variable “brillo” en 32 pasos. Por último si se pulsa a la vez las teclas A y B se establece el valor inicial de la variable “brillo”.

Ya para terminar faltaría mostrar en el panel LED un icono que muestre los cambios en el brillo de los LEDs. Se debe usar la variable “brillo” como valor que toma el bloque ajustar brillo

Propuesta

Se propone como reto hacer un código que ajuste el brillo de forma automática, a mayor luminosidad medida por el sensor de luz, mayor valor del brillo de los LEDs.

Acelerómetro

El acelerómetro mide la aceleración de tu micro:bit. Se activa cuando tu placa se mueve y también puede detectar otras acciones como agitar, girar y hasta soltar tu micro:bit en caída libre

Reto 13. Mostrar el valor del acelerómetro

El acelerómetro incluido en la micro:bit permite conocer las aceleraciones según los ejes X, Y, Z, además de la fuerza de la aceleración. Para conocer estos valores Makecode incorpora el bloque aceleración (mg) permitiendo seleccionar los diferentes valores.

Objetivo

Mostrar el valor del acelerómetro incorporado en la micro:bit, según el eje Z.

Descripción del código

Al iniciarse la micro:BIT se mostrará en el panel LED el valor numérico leído por el acelerómetro. Se usará el evento para siempre, donde se introduce el bloque mostrar número y se usará el bloque aceleración (mg) que muestra el valor medido por el sensor de luz. Se debe seleccionar la “z” del desplegable.

Propuesta

Programar la micro:bit para que muestre el valor de la fuerza total de la aceleración que se le aplica.

Reto 14. Número al azar entre 0 y 100

Entre los eventos disponibles para inciar la micro:bit se dispone de eventos que usan el acelerómetro incorporado para iniciar un programa.

Objetivo

Cuando se agite la micro:bit, mostrar un número al azar entre 0 y 100.

Descripción del código

Al iniciarse la micro:BIT queda a la espera de ser agitada. Una vez se agita se mostrará un número al azar entre 0 y 100. Se usará el bloque mostrar número, introduciendo como valor numérico el obtenido de usar el bloque escoger al azar de 0 to 100

Propuesta

Cuando la micro:bit tenga el panel LED hacia arriba mostrará una carita feliz, cuando esté orientado hacia abajo mostrará una carita triste.

Brújula

La brújula detecta el campo magnético terrestre por lo que se puede saber en qué dirección está orientada la micro:bit. (Necesita ser calibrada para asegurar un resultado preciso)

Reto 15. Mostrar la desviación de la brújula respecto el Norte

El norte magnético es la dirección que señala la aguja imantada de una brújula, dirección que no coincide con la del Polo Norte geográfico. Se puede conocer la orientación si se conocen los grados de desviación respecto el Norte Magnético.

Objetivo

Tras calibrar la brújula, nos dirá la desviación en grados respecto al Norte Magnético de la micro:BIT.

Descripción del código

Usar el evento para siempre, para iniciar el programa.

Mostrar el valor del sensor dirección de la brújula (º) que ofrece el ángulo de desviación respecto el Norte Magnético.

Esperar 1 segundo y borrar la pantalla.

Propuesta

Cuando la brújula apunte al norte magnético deberá aparecer una flecha apuntando hacia arriba. En caso contrario solo aparecerá el valor numérico.

Sensor magnético

Otro de los usos que se le puede dar a la brújula es medir el campo magnético.

Reto 16. Mostrar la fuerza de un imán

El magnetismo o energía magnética es un fenómeno natural por el cual algunos objetos producen fuerza de atracción o repulsión sobre los otros materiales.

Objetivo

Mostrar el valor total de la fuerza magnética generada por imán situado en las proximidades de la micro:bit

Descripción del código

Usar el evento para siempre, para iniciar el programa.

El bloque fuerza magnética permite conocer la el valor en los 3 ejes y además el valor de la fuerza total.

 

Esperar 1 segundo y borrar la pantalla.

Propuesta

La micro:bit mostrará el valor total de la fuerza magnética ejercida por un imán situado en las proximidades de la placa. Se mostrará el valor en el eje X si se pulsa el botón A, el valor de la fuerza en el eje Y si se pulsa el botón B y el valor en el eje Z si se pulsan a la vez los botones A y B.  A los 3 segundos volverá a mostrar el valor de la fuerza total.

Radio

Reto 17. Sensor inalámbrico

En algunas situaciones se puede dar el caso de que no se pueda tener conectado el sensor con la unidad receptora de datos mediante cable. Cuando esta situación se presenta una opción es usar sensores inalámbricos.

Usar sensores inalámbricos aporta numerosas ventajas. Entre ellas destacan la seguridad, la centralización de la monitorización y el ahorro de costes por no tener que cablear la instalación.

Un sensor inalámbrico está compuesto por el sistema recolector de datos, un sistema de emisión de datos y una fuente de alimentación. Lo más habitual es que la transmisión de datos sea mediante radiofrecuencia. Por otro lado, se encuentra un sistema receptor de datos conectado al sistema de almacenamiento y procesado.

Objetivo

Diseñar un sistema inalámbrico de recolección de datos. La micro:BIT emisora se situará en el interior de una nevera y emitirá la temperatura. La unidad exterior mostrará el valor de la temperatura.

Descripción del código

Se deberán crear dos códigos, uno para la micro:BIT emisora y otro para la receptora.

Para que las tarjetas se puedan comunicar entre sí, ambas deben estar en el mismo grupo de comunicación. También se debe emitir con la máxima potencia para evitar la atenuación que sufre la tarjeta emisora al encontrarse dentro de la nevera. Por este motivo, se deberá usar el bloque radio establecer potencia de transmisión situado en la categoría Radio y usar el máximo valor que es 7. Se recomienda usar el evento al iniciar para establecer el grupo de comunicación y asignar la potencia de transmisión.

micro:BIT emisora:

Tras establecer el grupo de emisión en 1 y poner la potencia de emisión al máximo, se enviará el valor de la temperatura mediante el bloque radio enviar número.

micro:BIT receptora:

La cadena enviada se guarda en la micro:BIT receptora en una variable que por defecto se llama “receivedNumber”. Se usará el bloque mostrar número, para visualizar la temperatura medida en la nevera. Tras un segundo se apagará el panel LED. No olvidar establecer al inicio el grupo de comunicación.

El código de la tarjeta receptora quedaría de la siguiente forma:

Propuesta

Tras pulsar en la micro:bit emisora uno de los dos pulsadores, aparecerá en la micro:bit receptora, la letra que identifica el pulsador accionado.

Pines de entrada y salida

La micro:BIT dispone de 25 conectores situados en el borde inferior . A través de ellos se podrán programar motores, LEDs o cualquier otro componente o sensor externo.

Reto 18. ¿hay continuidad?

En algunas ocasiones interesa conocer si un cable tiene continuidad en toda su longitud. Para comprobar la continuidad se suele usar un multímetro, midiendo la resistencia del conductor. Una lectura de resistencia infinita indicaría una interrupción en alguna parte del interior del cable.

Objetivo

Diseñar un programa que permita comprobar si un cable tiene continuidad. Si no está cortado, mostrar una cara feliz.

Descripción del código

Se usará el bloque pin (P0) está presionado de la categoría Entrada para comprobar la continuidad. Se propone emplear el evento para siempre y usar un condicional que verifique si el P1 está presionado.

Si se cumple la condición se muestra una carita feliz, en caso contrario, el panel permanece apagado. El código podría quedar de la siguiente forma:

Para comprobar el funcionamiento se puede usar un cable con bananas conectados al GND, si se conecta con el P1 y el cable tiene continuidad, deberá aparecer una carita feliz en el panel LED.

Propuesta

Al pulsar el botón A se mostrará el valor leído en el P1. El bloque que permite conocer el valor analogico en el P1 se localiza en la categoría Pines.

Reto 19. Moviendo un servomotor

Un servomotor (también llamado servo) es un dispositivo similar a un motor de corriente continua que tiene la capacidad de ubicarse en cualquier posición dentro de su rango de operación, y mantenerse estable en dicha posición.

Objetivo

Diseñar un programa que al pulsar el botón A el servo se posicione a 180º, si se acciona el pulsador B se debe situar a 0º y al pulsar conjuntamente A+B se ubicará a 90º.

Descripción del código

El bloque escribir servo pin (P0) a (180) que sirve para posicionar el servo, se encuentra ubicado en la categoría Pines, que aparece al pulsar en la sección Avanzado del menú principal.

Se puede elegir en qué pin se conecta el servo y con qué ángulo se posiciona el brazo del servo. Se usará el bloque al presionarse el botón, para iniciar los diferentes programas según el pulsador accionado.

El programa quedará de la siguiente forma:

En el simulador aparece la imagen de un servo y hará lo programado según el pulsador accionado.

Propuesta

Crear un código que permita mover el servo en pasos de 15º al pulsar el botón A y devuelva el brazo a 0º al accionar el pulsador B.

Reto 20. Detector de presencia de agua

Múltiples son las razones por las que interesa detectar la presencia de agua. Bien sea para detectar una fuga, para confirmar que un depósito está lleno o vacío, incluso para saber si se ha formado condensación en un recinto cerrado.

Objetivo

Diseñar un programa que permita avisar de forma acústico - visual de la presencia de agua.

Descripción del código

Se propone usar el evento para siempre e introducir un bloque condicional que verificará si el P1 está presionado. El circuito se cierra si hay presencia de agua y permanecerá abierto ni no hay. Si hay agua sonará una melodía a la vez de que aparece en el panel LED la cadena Agua. En caso de que no haya agua se apaga la pantalla.

El código puede ser el siguiente:

Para probar el código se puede usar un vaso donde se introducen un par de clavos, uno conectado al P1 y el otro al GND. Si el vaso está vacío, no hay conductividad por lo que el panel se mantiene apagado, pero si se vierte agua, se cierra el circuito, sonará una melodía y se mostrará el mensaje “agua”.

Propuesta

Probar con diferentes líquidos y mostrar el valor analógico leído.


Otros libros del autor

“Iniciación a la Robótica Educativa con mBot de Makeblock”

Disponible para su compra en:

https://www.makeblock.es/productos/libro-iniciacion-robotica-educativa-mbot/

W:docsMakeblock.esLIBROsIniciación a la Robótica Educativa con mBot de MakeblockBookCover v2.jpg


“micro:bit a fondo”

76 ejercicios resueltos y explicados paso a paso para aprender programación con MakeCode

Disponible para su compra en:

https://robotopia.es/libros/176-libro-microbit-a-fondo.html

Spiral Book Mockup 1reducido.jpg


¿Quieres participar en esta guía?

En Microes.org creamos guías didácticas como la que tienes en tus manos para ayudar a los profesores y usuarios a sacar el máximo partido a micro:bit.

Si eres experto en robótica y tienes algún ejercicio original que quieres compartir con la comunidad ponte en contacto con nosotros.

C:UsersCHEMADesktopmicroeslogomicroes logo tagline fondo Blanco 300.png

¿Dudas? ¿Quieres colaborar con la comunidad? Contáctanos:

e-mail: info@microes.org

teléfono: 945 29 80 50  (de 8:00 a 14:00)

Puedes comprar la tarjeta micro:bit e infinidad de complementos compatibles en:

robotopia-logo-300.png

http://robotopia.es/

José Francisco Muñoz (Almeribot.com)  •  Microes.org (Comunidad micro:bit en España)  •