En este reto hay que programar la placa microbit para que funcione como un reloj binario.
Se trata de un reto de nivel medio.
Reto #64. Reloj en sistema binario con microbit con set de hora actual.
El reto lanzado en facebook y twitter de Juegos Robótica era el siguiente:
Para resolver este reto vamos a dividir la programación en dos funciones muy concretas que acabarán trabajando en conjunto.
Por un lado debemos programar el reloj en sí, con el paso de los minutos y las horas, y por otro lado programaremos la conversión de sistema decimal a sistema binario para poder representar las horas y minutos a través de los LEDs de la placa.
Por último crearemos un sencillo sistema para hacer la inicialización o set de horas y minutos actuales con los botones de la placa microbit.
Como es habitual te dejo un vídeo para que puedas entender mejor la resolución de este reto, pero recuerda que hay diversas soluciones para un mismo problema, por lo que es posible que lo hayas resuelto de otra manera. Apúntate a los cursos de Juegos Robótica para aprender a programar con robótica educativa desde cero y tener acceso a todos los retos de programación resueltos.
Como mejora se podría añadir la posibilidad de establecer una hora de alarma para que la placa emitiera algún sonido si le conectamos un buzzer.
Si quieres ser tú quien lance el reto con Lego Mindstorms EV3, mBot, Micro:bit, Arduino, Ranger, Lego WeDo, Codey Rocky o Lego Spike, sólo tienes que ponerte en contacto o dejar un comentario y no olvides suscribirte al boletín de Juegos Robótica para recibir actualizaciones sobre los retos de programación y el resto de recursos sobre robótica educativa.
¡La semana que viene tendremos nuevo reto!
Hola,
he seguido tu solución al reto #64 de reloj en sistema binario con microbit pero cada vez que pasa un minuto, vuelve a poner el reloj en uno.
No tiene un sumatorio que vaya incrementando los minutos y las horas, tan sólo lo fijas con los botones pero no sigue con una hora en tiempo real.
Tal vez no era ese el objetivo de todas formas.
Un saludo y muchas gracias por tus retos, más aún en días como los que estamos viviendo.
Hola Sergio,
En torno al minuto 10 verás que después de una pausa de 60000 milisegundos (60 segundos) hay una orden “cambiar minutos por 1”. Esa orden incrementa los minutos de uno en uno y posteriormente al llegar a 60 vuelven a pasar a 0 e incrementa la hora en una unidad.
Repasa el minuto 10 a ver si has puesto correctamente esa orden y me dices.
Saludos y gracias por comentar!
Hola Dani,
como era de esperar tienes toda la razón, había cometido yo un error y ahora ya funciona fenomenal.
Muchísimas gracias por tu respuesta.
Un saludo, Sergio.
Gracias a ti por seguir los retos y comentar Sergio. Me alegro de que ya esté solucionado.
Ahora ya sabes, intenta añadir una alarma o alguna mejora.
Saludos!
Cuando descargaro el reto, lo hace como archivo .txt que no puedo abrir en makecode.
¿puede ayudarme?, gracias
Hola Jordi,
Se te habrá descargado un archivo .hex que debes abrir en el editor de bloques arrastrando sobre la página principal de Makecode dedicada a Microbit. Puedes ver unas sencillas instrucciones aquí.
Si no lo consigues dímelo por aquí o a través del correo o formulario de soporte y lo vemos.
Saludos