Representar números hasta 100k en micro:bit

Actualizado hace 6 meses por Distintiva Solutions

Introducción

Aunque la tarjeta BBC micro:bit se puede programar para que muestre números grandes en su display,  éstos lo hacen pasando de uno en uno en forma de animación por lo que para ciertas ocasiones nos puede resultar complicado y lento visualizar un número grande como por ejemplo el 99.876 

Por tanto hemos creado un sistema que permite visualizar números de 0 a 99.999  muy sencillo de entender.

El sistema de puntos

Este sistema es muy similar a un ábaco , donde cada posición horizontal muestra uno de los 5 dígitos capaces de representar números hasta 99.999  

Números del 1 al 5

Se ilumina el led correspondiente al número a representar,  en los siguientes 3 ejemplos lo vemos de una forma muy sencilla

Números de más dígitos

Siguiendo la lógica anterior ya podemos representar cualquier número que tenga entre 1 y 5 dígitos.
Lo vemos con los siguientes 6 ejemplos :

Números del 6 al 9

Si el número que queremos representar es >5 entonces sólo tenemos que descomponerlo como la suma de 5+ el resto.

  • 6 = 5 + 1
  • 7 = 5 + 2
  • 9 = 5 + 4

Siempre que veamos el led superior encendido es porque el número es > 5

Representar cualquier número de 0 a 99.999

Con lo aprendido anteriormente ya podemos representar cualquier número de 0 a 99.999

Algoritmo

Con Makecode

El siguiente código muestra cómo implementar éste sistema con un algoritmo sencillo usando Makecode para micro:bit

Puedes acceder al código anterior desde el siguiente enlace: 
https://makecode.microbit.org/_LgAH70KC44s6

Con eBlock

La aplicación basada en Scratch eBlock ya tiene un bloque implementado con este mismo sistema, así que lo podremos usar tanto compilando el código como en modo online mediante el cable USB 

Extensión Makecode

Hemos desarrollado una extensión para Makecode así te resultará más sencillo usar esta funcionalidad.

Desde Advanced->Extensions  introduce la siguiente dirección en la caja de búsqueda:

https://github.com/distintiva/pxt-number100k

Reloj digital

Conociendo este sistema nos puede resultar muy interesante para representar la hora que queramos en el display de micro:bit

  • Las 13:23 como 13023
  • Las 23:59 como 23059
  • etc ...


La tarjeta BBC micro:bit mostrando la hora 13:23 con el sistema de puntos de este tutorial