EJERCICIO CON MICRO:BIT. TEMPORALIZADOR

En nuestro apartado para impulsar la robótica educativa os dejamos otra pequeña y divertida práctica para hacer con micro:bit muy básica. Puedes hacerla sin tener la placa aunque te recomendamos adquirirla para divertirte mucho mas. 

Una pequeña pero potente placa de bolsillo para adentrarte fácilmente en la programación y la robótica educativa.

Microbit animado

Vamos a hacer un sencillo ejercicio con micro:bit. Puedes ver el vídeo para ver cómo vamos colocando los bloques. Si tienes dudas y quiere entender la lógica de los bloques que vamos a usar lea el apartado de solución. 

Crear un temporalizador para ver la cuenta atrás.

Lo vamos a ejecutar en tres partes.

  1. Creamos un temporalizador.
  2. Hacemos que solo empiece el temporalizador si pulsamos un botón de entrada.
  3. Hacemos que cuando termine se pare y emita un sonido para alertarnos del final. 

Vamos a introducirnos y a dar nuestros primeros pasos en el lenguaje de programación. Lo vamos a hacer con la facilidad que nos proporciona los bloques. 

En resumen, en este ejercicio vamos a ver:

  • ¿Qué es y para que se usa para siempre o forever?
  • ¿Cuándo programamos un placa, de qué hablamos cuando hablamos de entradas y salidas?
  • ¿Qué es un tipo de dato lógico o booleano?

¿Preparados? ¡Vamos a divertirnos!

Vamos a iniciar un proyecto con MakeCode. Vemos que por defecto siempre nos aparece en la pantalla iniciar o para siempre.

¿Qué significan estos bloques de «on start» o «forever» de Makecode?

start forever

ON START – es la acción que se va a ejecutar cuando se inicie el programa. Antes de cualquier otro evento.

FOREVER – lo usamos cuando queremos que la acción entre en un bucle infinito, esto es, se repetirá y ejecutará todo el tiempo que el programa esté activo. También se va a usar, como va a ser en este ejercicio. Cuando queremos que mas una acción se realice, esto es, cuando queramos que el programa funcione o haga mas de una cosa a la vez. Para ello, la acción principal la pondremos en ON START (o inicio), el resto lo pondremos en FOREVER, que será «ejecutar en paralelo».

  1. Cogemos el bloque Variable, pinchamos en «make a variable» y escribimos contar. Le damos a OK o enter. Seleccionamos «Set contar to» y lo arrastramos hasta inicio o start. Seleccionaremos establecer contar para 10. Es decir, donde pone 1, ponemos 10.
  2. En para siempre escogemos los bloques variables – «cambiar contar  1» (change contar 1) y sustituimos el 1 que aparece por defecto por (-1) para que así cuente hacia atrás.
  3. Del bloque básico, arrastraremos la opción mostrar número o show number y los ponemos debajo del bloque que habíamos puesto «cambiar contar -1». Cogemos del bloque variable, la opción contar y lo arrastramos en la opción disponible del bloque mostrar número que hemos seleccionado.  Podemos escoger otras opciones como iconos o leds, es cuestión de gusto. Si escoges «mostrar número», debes ir al bloque «variable» y escoger «contar».
  4. Si le damos a play en el simulador de la placa micro:bit veremos que cuenta muy rápido hacia atrás. Para que podamos observar tranquilamente la cuenta atrás vamos a coger del bloque básico la opción pausa (pause) y seleccionamos 1 segundo (1000 ms)
Cuenta atrás

Ya hemos completado el primer apartado, ya hemos hecho la cuenta atrás. Si vemos la micro:bit no va a parar de mostrarnos información aunque la cuenta atrás termine.

¿Seguimos mejorando? – Segundo apartado: que solo se inicie la cuenta atrás cuando pulsamos un botón y luego pare y no siga contando. 

Repasamos antes: ¿Qué es una entrada y qué es una salida?

  • Salida (output): es la acción que le hemos dicho que haga a la placa mediante un lenguaje de códigos. El resultado es que el dispositivo nos muestra aquello que le hemos dicho que muestre.
  • Entrada (input): cuando queremos que el dispositivo reaccione a cosas, estás son las entrada. Los sensores (de temperatura, humedad, sonido, táctiles) le ofrecen información a la placa para que la procese.
bloque de entrada

Ahora le vamos a decir que cuando alguien pulse el botón A, se inicie una acción. Podemos poner que la acción sea cuando se pulsa el botón A, cuando se pulsa el botón B o cuando se pulsa a la vez A y B. la placa haga lo que le hemos dicho que haga si alguien pulsa este botón.

  1. Vamos a coger en el bloque entrada o input – «al presionar el botón A» (on button A pressed). Y lo arrastramos al tablero de bloques. 
  2. Dentro del bloque variables. Creamos una nueva variable, escribimos temporalizador y le damos a ok. Escogemos la opción «establecer el temporalizador para 0» (set temporizador to 0). Lo arrastramos dentro del bloque de entrada, «al presionar el botón A». Pero ese 0 del temporalizador lo vamos a sustituir por el valor verdadero. Verdadero lo entramos en el bloque de lógica. 

Repasamos antes: ¿Qué es un tipo de dato lógico o booleano?

Aquí tenemos que entender un poco la lógica de la programación. En computación la lógica binaria se representa en este caso como dos valores: verdadero (true) o falso (false). También, en otros casos lo podemos ver representado como «si» o «no» o como «1» o «0». Por tanto, el valor booleano tiene dos valores posibles. 

Aquí el código se ejecutará si una condición booleana es verdadera o falsa. 

Para este ejercicio vamos a usar dentro del bloque booleano:

  • IF (si). Este bloque se ejecutará solo si la condición es verdadera. Puede comparar variables con valores o variables con variables para una condición verdadera. 

Ahora le vamos a decir a la placa que cuando alguien pulse el botón A, se inicie una acción. (Podríamos personalizarlo y poner que la acción sea cuando se pulsa el botón A, cuando se pulsa el botón B o cuando se pulsa a la vez A y B.)

  1. Ahora le vamos a decir cómo tiene que actuar si es verdadero, esto es, cómo queremos que actúe si pulsamos el botón A. Para eso nos valemos del bloque de lógica, dentro pulsamos «si verdadero entonces» (if true then). Lo vamos a arrastrar al bloque de «para siempre» (o forever). OK, le hemos dicho al programa que si pulsamos el botón A tiene que ejecutar algo pero no le hemos dicho qué tiene que hacer. 
  2. Seleccionamos en el bloque de lógica – la sección comparación  (comparison) y  arrastramos donde pone «verdadero». En esa comparación, vamos a sustituir:
    • El valor 0 que está mas a la izquierda por el valor temporalizador. (Temporalizador estaba en el bloque de variable).
    • El valor 0 que está mas a la derecha por el valor verdadero. (Verdadero estaba en el bloque de lógica).

Si pulsamos el play del simulador de la micro:bit vemos que empieza la cuenta atrás aunque no hayamos pulsado el botón A. ¿Por qué? Pues porque no le hemos explicado la lógica a la placa. Es decir, le hemos dicho a la placa que queremos que haga algo cuando pulsamos el botón A pero no le hemos dicho el qué. No le hemos dicho qué va a ser lo «verdadero».


Esto lo vamos a hacer arrastrando la opción de mostrar número, contar y pausa que habíamos escrito en el apartado A dentro de la opción de lógica que hemos creado – «si temporalizador es igual a verdadero entonces» (if temporalizador = true then).
Exactamente, le hemos dicho que cuando se pulse el botón A de la placa de comienzo una cuenta atrás.


segundo apartado cuenta atras microbit

Resumen: hemos creado una cuenta atrás y le hemos dicho que solo realice la acción (esta cuenta atrás) cuando sea verdadero y solo es verdadero si pulsamos el botón A.

¿Seguimos mejorando? – Tercer apartado: que nos avise cuando llega de forma visual y sonora cuando ha terminado la cuenta atrás para que no tengamos que estar atentos mirando la placa.

Primero vamos a parar la cuenta atrás cuando nosotros/as queramos. Una vez se realice la acción (la cuenta atrás llegue a 0) parará la micro:bit.

  • Haciendo clic derecho con el ratón sobre el bloque  «al presionar el botón A» nos sale la opción duplicar. Esta vez donde pone «A» vamos a elegir «B» y en el subbloque variable (establecer temporalizador), donde pone verdadero (true) elegimos falso (false). Si no quieres duplicar dentro del bloque entrada (input) encontrarás la opción de «al presionar el botón A» y dentro de variable está la opción de «establecer temporalizador para 0».

¿Qué ocurre  ahora si pulsamos el botón B en el simulador de nuestro micro:bit? Pues que se para la cuenta atrás. ¿Por qué ocurre esto? Porque le hemos dicho que pulsar B no es verdadero y, por lo tanto, si no es verdadero no se puede ejecutar la acción o instrucciones que le hemos dicho (esto es, hacer una cuenta atrás).

Aunque hemos conseguido parar la cuenta atrás cuando queramos, si pulsamos el botón A cuando termina la cuenta atrás ¡sigue!. Y no queremos que esto suceda, queremos que cuando llegue a 0 pare. Para ello vamos a crear con código una lógica nueva que pare la acción cuando acaba:

  • Vamos a coger del bloque de lógica – «si verdadero entonces» (if true then) y lo arrastramos debajo del bloque de lógica que teníamos hecho de cuenta atrás.
  • Seleccionamos en el bloque de lógica – la sección comparación  (comparison) y  arrastramos donde pone «verdadero». En esa comparación, vamos a sustituir:
    • El valor 0 que está mas a la izquierda por el valor contar. (Contar está en el bloque de variable).
    • El símbolo = lo sustituimos por menor o igual que.
    • El valor 0 que está mas a la derecha lo dejamos.
  • Duplicamos el bloque de variable que contiene «al presionar el botón B» (on button B pressed) y lo ponemos debajo de la nueva lógica que estamos creando. Debajo de si contar es igual o menor que (if contar  ≤  que 0 then) 
  • Debajo vamos a colocar del bloque variable la opción – establecer temporalizador para 0 (set temporalizador to 0). Cambiamos el 0 por falso (false).

Ahora vamos a poner un aviso sonoro cuando para que sepamos que ha acabado la cuenta atrás y de esta forma no tener que estar mirando la pantalla de la placa. 

  • Ponemos debajo la opción de bucle (loops)repetir 4 veces ejecutar (repeat 4 times do) y dentro colocamos del bloque de música (music) – reproducir tono por (play tone … for). Si tenemos la v2 de la placa podemos poner la opción (play sound ….)
  • Le diremos también que:
    • Entre cada repetición haga una pausa. Arrastramos del bloque básico la opción de pausa y escogemos el tiempo que deseamos. 
    • Cuando acabe la cuenta atrás en la pantalla veamos un dibujo. Para eso del bloque básico arrastraremos la opción icono y elegiremos el que nos guste mas. 

¡HECHO! Ahora si pulsamos A y SOLO si pulsamos A va a comenzar una cuenta atrás. Esta cuenta atrás la podremos parar cuando queramos pulsando el botón B.

Cuando la cuenta atrás haya llegado al final nos avisará la placa por sonido y…¡nos mostrará un icono motivador!

tercera parte cuenta atras

Ahora puedes personalizar este temporalizador como quieras, lo importante es que hayas entendido la lógica de las acciones que hemos hecho. 

Has visto que puedes adentrar en el mundo de la micro:bit usando el simulador que proporciona MakeCode. 

Además de ver en bloque las opciones para dar instrucciones a la placa MakeCode te permite ver y escribir en JavaScript y Python.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.

Scroll al inicio