LED PARPADEANDO

OBJETIVO

Conectar un led a microbit (pata positiva al pin 0 y pata negativa a GND) y microbit hará que parpadee

BLOQUES

Sección Avanzado

Pulsando sobre la sección avanzado aparecerán nuevas secciones para avanzar con la programación de microbit utilizando funciones más complejas.

Sección Pines

Entre las secciones que aparecen tras pulsar la sección avanzado, encontramos la sección pines.

Contiene los bloques necesarios para programar los 20 pines para conexiones externas que contiene microbit.

Bloque escritura pin digital

La placa microbit contiene 18 pines digitales que podemos utilizar para conectar dispositivos digitales. Estos pines están enumerados: de P0 a P16, p19 y P20.

Si conectamos por ejemplo un Led al pin 0, si escribimos en el pin el bit 0, apagaremos el LED y si escribimos en el pin el bit 1, encenderemos el LED.

Así, podemos decir que escribir un bit 0 en un pin digital equivale a apagar el dispositivo que tengamos conectado a ese pin y escribir un pin 1 equivale a encender el dispositivo conectado

0 - Apagar
1 - Encender

CIRCUITO

Para programar el parpadeo de un Led conectado a los pines de la placa, empezaremos por la construcción del circuito. Utilizaremos latiguillos cocodrilo para conectar el LED a Microbit.

Los Leds tienen una pata positiva (larga) y una negativa (corta). La pata negativa la conectamos con un latiguillo cocodrilo al conector GND y la pata positiva al pin0

PROGRAMACIÓN

Para programar el parpadeo de un led permanente, introducimos los bloques dentro del bucle para siempre. Daremos la orden de encender el led, enviando el bit 1. Mantenemos el led encendido realizando una pausa de medio segundo antes de proceder a apagar. Para apagar el led escribimos el bit 0 y realizamos otra pausa de medio segundo con el led apagado.

CONEXIONES EXTERNAS

Microbit en su base tiene un conjunto de 20 conexiones que podemos utilizar para conectar operadores y circuitos: leds, motores, sensores… etc. Se dividen en pines analógicos y digitales como se muestra en la siguiente imagen:

Algunas de estas conexiones están compartidas con leds de la matriz que incorpora Micro:bit. 

Para poder utilizar estos pines es necesario desconectar la matriz de leds. Para ello necesitarás el bloque acivar leds falso que encontrarás en la sección led, pulsando en …more.

Arrastra el bloque activar leds falso dentro del bloque al iniciar y al conectar la placa lo primero que hará es desconectar la matriz de leds, pudiendo así utilizar todos los pines del conector de 20 pins de la placa microbit.

Para facilitar la identificación y conexión de estos pines, podemos utilizar zócalos como este, donde tenemos serigrafiados cada uno de los pines de conexión.

MUEVE EL LED

OBJETIVO

Mover un led por la matriz de leds utilizando la inclinación de la placa micro:bit

PROGRAMACIÓN

Creamos dos variables (X e Y) para controlar la posición del Led que vamos a mover por la pantalla. Al inicio del programa, el led estará encendido y colocado en el centro de la matriz (2,2)

Si movemos la placa microbit colocando el logotipo hacia arriba, el led debe bajar en su columna actual. La primera posición dentro de una columna se corresponde con Y=0 y la última con Y=4. Si la posición Y actual es inferior a 4, el led puede seguir bajando sin salir de la matriz, así procedemos a apagar el led actual, aumentar en un posición la Y y encender el led. Así veremos en el led ha bajado una posición en su columna

Si movemos la placa colocando el logotipo hacia abajo, el efecto será el contrario. El led subirá un puesto, siempre que no esté ya en la posición 0.

Si movemos la placa hacia la derecha o la izquierda, el código será similar a los anteriores pero modificando la coordenada X.

El programa completo quedaría así:

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.