MENSAJES RADIO

Objetivo:

Establecer comunicación por radiofrecuencia y que se envíe un mensaje desde una placa microbit y se reciba en una segunda placa, visualizando su contenido en la matriz de leds.

Componentes:

Para llevar a cabo esta actividad, necesitas el siguiente material:

  • 2 Placas microbit
  • 1 Cable micro-usb
  • 1 Portapilas

Configuración de la placa:

Conectar la placa microbit al puerto USB del ordenador utilizando un cable Micro USB.

Acceder a https://makecode.microbit.org

Pulsa en nuevo proyecto.

 

Y asigna un nombre al proyecto

El sistema de programación es muy sencillo. Se basa en un lenguaje de bloques que minimiza los errores sintácticos, pudiendo poner el foco de atención en la lógica de programación.

Para configurar el idioma del software, accede al menú del engrane (esquina superior derecha), selecciona “language” y elige el idioma que desees.

El ordenador reconoce la placa microbit como si fuese una memoria externa. Puedes descargar tus programas y copiarlos en la placa utilizando el explorador de archivos, o emparejar la placa con el software para que la descarga sea directa a la placa.

 Para emparejar la placa con el software, pulsa en el icono “…” junto al botón descargar

Pulsa en “connect device”. Si no tienes conectada la placa, conéctala al PC, pulsa en siguiente y luego en Pair.

En la siguiente ventana pulsa sobre la placa bbc micro:bit y después en conectar.

Si la placa se ha podido conectar correctamente, aparecerá el siguiente mensaje:

Programación:

1. Placa emisora

Al presionar el botón A, la placa envía un número al azar entre 0 y 10.

Al presionar el botón B, la placa envía una vocal al azar.

El primer paso es configurar el canal de comunicación entre la placa emisora y la placa receptora, utilizando el bloque «radio establecer grupo». Encontrarás este bloque en la sección radio (bloques rosa). Elegimos un número, el 1 por ejemplo, y ambas placas deben configurarse con el mismo número de grupo.

Para programar la acción del botón A, en la sección entrada (bloques rosa) localiza el bloque «al presionarse el botón A».

Dentro incluiremos el bloque «radio enviar número» que localizarás en la sección Radio. Este bloque envía a la segunda placa el número que indiquemos.

Para que el número a enviar sea aleatorio, en la sección matemática, localiza el bloque «escoger al azar». En este bloque indicaremos el rango de números donde se seleccionará uno al azar. Coloca este número dentro del bloque «radio enviar número».

Procedemos del mismo modo con el botón B. Localizamos el bloque «al presionar el botón» en la sección «Entrada» y pulsando sobre «A» cambiamos el botón a «B».

Este botón enviará una vocal aleatoria a la placa receptora. Para elegir la vocal a enviar, se genera un número aleatorio de 1 a 5, que determinará qué vocal enviar:

  • 1 – vocal A
  • 2 – vocal E
  • 3 – vocal I
  • 4 – vocal O
  • 5 – vocal U
En la sección variables, crea una variable para guardar el número aleatorio entre 1 y 5.

En función del número, enviamos una u otra vocal. Para decidir qué vocal enviar, pulsa en lógica y utiliza el bloque «si…. entonces…» para evaluar qué número contiene la variable «vocal».

La condición que estamos estableciendo es «si vocal es igual a 1, entonces enviamos la vocal A». Para crear la condición vocal=1, pulsa en lógica y busca el bloque 0=0. Introduce ese boque en el hexágono «verdadero» dentro de «si…entonces». A continuación sustituye el primer 0 por la variable vocal (encontrarás el bloque en la sección variables), y el segundo cero por 1.

Si se cumple la condición, enviamos la letra A utilizando el bloque «radio enviar cadena».

Y así, construimos las condiciones asociadas a las 5 vocales:

Así queda construido el programa de la placa emisora.

 

2. Placa receptora

La placa receptora puede recibir dos tipos de datos: letras o números. El dato que reciba lo mostrará en su matriz de leds.

El primer paso, al igual que en la placa anterior es configurar el canal de comunicación.

Puesto que puede recibir un número o una letra, utilizamos los bloques «al recibir radio receivedNumber» y «al recibir radio receivedString» para esperar la llegada de un dato. En función del tipo de dato se ejecutarán los bloques incluidos en uno de los dos eventos:

En función del tipo de dato recibido, utilizaremos el bloque mostrar cadena o mostrar número para visualizar el dato recibido en la matriz de leds. Arrastra receivedNumber sobre mostrar número para mostrar el número recibido, y arrastra receivedString sobre mostrar cadena para mostrar la letra recibida. 

Pulsa en descargar y el programa quedará grabado en la placa. 

 

Desconecta la placa del PC, conecta un portapilas a cada placa y pon a prueba tus programas.

PIEDRA PAPEL O TIJERA

Vamos a programar la placa Micro:bit para que de forma aleatoria, al agitarla, nos muestre el icono de una piedra, un papel o una tijera.

Asignamos a cada icono un número, de tal forma que al agitar la placa, ésta elegirá un número aleatorio entre 0 y 2. En función del número elegido nos mostrará un icono:

0 – Piedra

1 – Papel

2 – Tijera

Creamos una variable llamada «icono», a la que asignamos el valor aleatorio.

Número aleatorio

A continuación en función del número aleatorio que haya salido, mostraremos un icono u otro

ACELERÓMETRO

OBJETIVO

La matriz de leds muestra un ángulo en la dirección hacia la que se inclinó la placa.

BLOQUES

Bloque aceleración

Se encuentra dentro de la sección Entradas.

El bloque aceleración proporciona las coordenadas X, Y, Z de la posición de la placa microbit.

En función del valor de cada una de las coordenadas podremos saber si la placa está inclinada en algún sentido

PROGRAMACIÓN

Comprobamos las coordenadas x e y. 

Si el valor de X es inferior a 0, estará inclinada a la izquierda.

Si el valor de X es superior a 0, estará inclinada a la derecha.

Si el valor de Y es mayor que 20, estará inclinada hacia abajo.

Si el valor de Y es menor que 20, estará inclinada hacia arriba.

CONDUCTIVIDAD

OBJETIVO

Conectamos a microbit 3 objetos de diferentes materiales, uniéndolos con un latiguillo a los pines 0, 1 y 2. Al tocar sobre ellos, microbit mostrará una cara contenta si el material es conductor de electricidad.

BLOQUES

Para realizar esta práctica no necesitamos ningún bloque que no hayamos visto hasta ahora.

La lógica de esta práctica consiste en visualizar una cara contenta si detectamos que se ha tocado alguno de los pines 0, 1 y 2. 

Con una mano tocaremos el pin GND, y con la otra mano el material. Si el material no es conductor, la corriente no pasará desde el pin hasta GND, no detectándose la pulsación

PROGRAMACIÓN

Para mejorar la programación podemos utilizar el operador lógico O

Operador Lógico O

Se encuentra en la sección Lógica y se utiliza para unir varias condiciones en un bloque condicional.

La condición será cierta si alguna de las condiciones unidas por el operador O lo es. Si queremos unir más de dos condiciones, basta con introducir un nuevo bloque O en alguno de los hexágonos de otro bloque O

Cuando programes recuerda ¡No hay una única solución válida!

SALIDAS

OBJETIVO

Conectar un latiguillo al pin 0 y otro al pin GND. Cuando toquemos los extremos de ambos latiguillos a la vez, la matriz de leds muestra un corazón.

BLOQUES

Bloque pin está presionado

Dentro de la sección entradas, localizamos este bloque. Lo utilizaremos dentro de un bloque condicional para leer una entrada digital de la placa microbit. Cuando juntamos los extremos de dos latiguillos conectados a los pines 0 y GND, este bloque devolverá el valor verdadero, igual que si hubiésemos conectado un pulsador y lo hubiésemos presionado.

Borrar la pantalla

Dentro de la sección básicos, localizamos este bloque, cuya función es apagar todos los leds de la matriz de leds

PROGRAMACIÓN

PULSADORES

OBJETIVO

Al presionar el pulsador A microbit muestra una cara contenta y al presionar el pulsador B muestra una cara triste.

BLOQUES

Sección Entrada

Contiene los bloques relacionados con los elementos que generan una entrada en la placa Micro:bit.

Bloque botón presionado

Se utiliza dentro de instrucciones condicionales. Realiza la lectura de los pulsadores A o B que incluye la propia placa Micro:bit y devolverá un valor verdadero cuando se presione el pulsador, y un valor falso cuando no se haya presionado

Sección lógica

Contiene los bloques relacionados con la lógica de programación de los programas: Bloques condicionales, comparadores y booleanos

Bloque Si... Entonces... Si no...

En el hexágono "verdadero" introduciremos la condición a evaluar, en función de cuyo resultado, si es verdadera se realizarán las acciones indicadas en los bloques justo debajo de entonces y si es falsa, se realizarán las acciones de los bloques que hay bajo si no

Bloque Si...

Similar al bloque anterior pero no dispone de rama si no. No obstante si una vez hecho el programa queremos modificarlo y agregar bloques en caso de que la condición sea falsa, basta con pulsar en + y aparecerá el grupo si no

PROGRAMACIÓN

CUENTA ATRÁS

OBJETIVO

Programar Micro:bit para que muestre una cuenta atrás del 9 al 0 en su pantalla de leds

BLOQUES

Utilizaremos los siguientes bloques

En este bloque introduciremos los bloques para la cuenta atrás

El bloque mostrar número enciende los leds de la placa formando el número que se indique en el bloque. Haciendo click sobre el 0 podemo escribir cualquier número. Encontrarás este bloque en el grupo Básico

Realiza una pausa en el programa, dejando el programa parado en el bloque anterior durante el tiempo indicado. Podemos cambiar el tiempo haciendo click sobre el número. Encontrarás este bloque en el grupo Básico

LÓGICA DE PROGRAMACIÓN

Se trata de un programa secuencial donde todos los bloques se van a ejecutar, uno tras otro, sin opción a bifurcaciones, saltos ni repeticiones.

El programa comienza mostrando el número 9 y una espera para mantenerlo en la pantalla un tiempo corto (ej 100 ms). A continuación muestra el número 8 y realiza una espera… y así sicesivamente con cada uno de los números hasta llegar al 0

PROGRAMACIÓN

OTRAS SOLUCIONES

En programación, no existe la solución única. Podemos encontrar otras formas de resolver el problema que se propone.

En este caso, se ha realizado la solución más evidente, pero podríamos pensar en solucionar el problema utilizando un menor número de bloques.

Si observamos el programa que hemos hecho, consiste en repetir 10 veces los bloques mostrar número y pausa, cada una de esas veces se mostrará un número que ha disminuido en 1 unidad.

Los siguientes bloques nos resultarán útiles para el nuevo diseño del programa:

Repite varias veces los bloques introducidos en este bloque. Se repetirán las veces que se indique, basta con hacer click sobre el 4 y cambiarlo con el número que queramos. Este bloque lo encontraremos en la sección bucles

I es una variable que utilizaremos para almacenar el número que se va a mostrar cada vez. Al inicio del programa guardaremos en i el número 9 y después de mostrarlo en la placa le restaremos 1 unidad. Así la próxima vez que se ejecute el bucle mostrará un número menor. Para mostrar el contenido de esta variable en la pantalla de microbit, arrastramos este bloque dentro del bloque mostrar número, colocándolo sobre el número que va a mostrar. Así la variable sustituirá al número y el bloque mostrar visualizará el contenido de esta variable. Este bloque lo encontraremos en la sección variables

Guarda un dato en la variable que indiquemos. Pulsando sobre item podremos seleccionar la variable i. Haciendo click sobre 0 escribiremos el número que queremos guardar en i. En nuestro caso empezaremos guardando el número 9 que es el primero que vamos a mostrar. Este bloque lo encontraremos en la sección variables.

Modifica el contenido de una variable sumando o restando la cantidad que le indiquemos. En nuestro caso seleccionaremos la variable i y restaremos 1. Para ello modificamos 1 por -1. Así, en cada ejecución del bucle, restará 1 unidad a la variable y mostrará un número menor en la placa. Este bloque lo encontraremos en la sección variables

El programa quedará de la siguiente manera:

DIBUJA UN CORAZÓN

OBJETIVO

Dibujar un corazón en la matriz de leds

BLOQUES

En la sección Básico tenemos varios bloques para realizar dibujos en la matriz de LEDs

Mostrar LEDs

Enciende los LEDs que selecciones en la matriz. Arrastra el bloque dentro de "para siempre" y haz click sobre aquellos leds de la matriz que quieras encender. Utilizando este bloque pon a prueba tu creatividad generando tus dibujos

Mostrar Icono

Utilizando este bloque, podremos elegir diferentes dibujo ya programados para visualizar en microbit: corazon, cara contenta, cara triste, casa, tic, X... Hay 40 iconos diferentes a tu disposición

PROGRAMACIÓN

La forma más sencilla de realizar este programa es arrastrar el bloque mostrar icono dentro del bloque para siempre, y elegir el icono corazón

Para realizar el mismo programa utilizando el bloque mostrar LEDs, realizaremos la siguiente programación.

HOLA MUNDO

OBJETIVO

Mostrar el texto «Hola mundo» en la matriz de leds

BLOQUES

Los bloques necesarios para trabajar con la matriz de leds se encuentran en la sección Básico

Muestra una cadena de texto dentro de la matriz de leds de micro:bit.


PROGRAMACIÓN

Cambiamos «Hello!» por «Hola mundo» y arrastramos el bloque dentro de para siempre

Así, la placa microbit visualizará el texto «Hola mundo» continuamente

Puedes descargar el programa pulsando con el botón derecho en el siguiente botón. Selecciona guardar como y elije la carpeta en la que guardarlo.

Para probar el programa en tu placa microbit, abre el navegador de archivos, y arrastra el archivo a la unidad extraible microbit

Al finalizar el proceso de carga, verás que la placa visualiza el texto «Hola Mundo»

Para ver los bloques del programa descargado, abre la web https://makecode.microbit.org/# y pulsa en import

Selecciona Import File, elije el archivo descargado y pulsa en Go ahead!

Se abrirá un nuevo proyecto donde verás el programa que se ha realizado.

No obstante, recuerda que la mejor manera de aprender a programar es ¡haciéndolo tú mismo!

PRIMEROS PASOS CON MICRO:BIT

A la hora de trabajar con microbit podemos optar por dos opciones:

1. Sincronizar la placa con el navegador. Cuando realizamos la conexión de la placa con el navegador que utilizamos para programar, conseguimos que al pulsar el botón de «descargar», el programa que hemos creado se almacena directamente en la placa. Esta opción no es válida en todos los navegadores. 

2. Utilizar la placa como una unidad extraíble. Cuando se detectan problemas en la comunicación entre la placa y el navegador, podemos optar por trabajar como una unidad extraible. Descargaremos el programa como un archivo que posteriormente arrastraremos a la unidad extraíble micro:bit.

Unidad extraíble micro:bit:

1. Conecta la placa micro:bit al ordenador

2. En el navegador de archivos verás que te reconoce la placa como una unidad extraíble

Trabajar sincronizando con el navegador:

Programación por bloques

MICRO:BIT dispone de una plataforma online con un lenguaje de bloques similar a scratch que facilita poder programar la placa sin fallos de sintaxis y de forma muy intuitiva

Empezamos

Conecta la placa MICRO:BIT al ordenador utilizando un cable micro USB. 

El LED de alimentación de la placa quedará encendido.

Accede al sistema de programación a través del enlace https://makecode.microbit.org/  

Pulsando sobre «Nuevo Proyecto» podrás empezar a programar tu placa MICRO:BIT. El sistema de programación está basado en bloques de código, similar a Scratch o Mblock

Cambiar el idioma

Por defecto la web de microbit muestra los bloques de programación en inglés. Podemos cambiar de idioma pulsando en el icono del engrane, arriba a la derecha.

Del menú desplegable, selecciona la opción Languaje

Se desplegará un nuevo menú con todos los idiomas disponibles. Para la realización de esta web hemos seleccionado el idoma Español (España)

A continuación, vamos a elaborar un primer programa de ejemplo para comprender la dinámica de programación con MICRO:BIT 

Primer programa: Hola Microlog

Objetivo: La tarjeta MICROBIT mostrará un mensaje en su matriz de LEDS

Para programar la tarjeta, el sistema de programación dispone de una serie de bloques organizados por categorías. Al iniciar un nuevo proyecto vemos que en el escritorio de trabajo se muestran dos bloques: «al iniciar» y «por siempre»

Bloque "al iniciar"

La placa realizará las órdenes de los bloques introducidos en éste bloque 1 sola vez al conectarla

Bloque "por siempre"

La placa realizará la secuencia de órdenes introducidas en este bloque infinitas veces y de forma continuada

Sección Básico

Si pulsamos en básico accedemos a todas las instrucciones relacionadas con la matriz de leds de la placa MICROBIT

Bloque Mostrar Cadena

Dentro de la sección básico, seleccionamos el bloque "mostrar cadena", encargado de encender los leds de la matriz y visualizar un mensaje.

Arrastramos el bloque "mostrar cadena" dentro de "al iniciar"

Modificamos el texto del bloque "mostrar cadena" haciendo click con el ratón sobre la caja blanca, y añadimos el texto que queramos. En nuestro caso ponemos "HOLA MICROLOG".

Al incorporar este bloque dentro de "al iniciar", comprobamos en el emulador de la izquierda de la pantalla, que la placa muestra el texto una sola vez

Probamos el programa en MICROBIT

Para ver el mensaje en nuestra placa, pulsamos en el botón descargar y se guardará en la carpeta de descargas del ordenador un archivo con extensión .hex y aparecerá la siguiente imagen en el navegador de internet:

Si accedemos al explorador de archivos de nuestro ordenador, veremos que en nuestro equipo aparece una nueva unidad «MICROBIT F:» como si hubiésemos conectado una nueva unidad de almacenamiento externa al PC.

Para cargar el programa dentro de MICROBIT, basta con arrastrar el archivo .hex descargado dentro de esta nueva unidad. Cuando termine el proceso de copia (que apenas dura unos segundos) veremos que automáticamente el mensaje se muestra en la matriz de LEDs de MICROBIT.

El mensaje se mostrará una sola vez. Si queremos que se repita indefinidamente, cambiaremos el programa utilizando el bloque «para siempre» en lugar de «al iniciar». ¡Puedes hacer la prueba tú mismo!.

Si quieres que la placa funcione de forma autónoma sin estar conectada al PC, basta con quitar el cable USB y conectar un portapilas específico con conectar para microbit.