En esto reto hay que hacer que el robot pueda cronometrar un tiempo entre dos pulsaciones de un botón.
Se trata de un reto de nivel iniciación.
Reto #9: Robot cronometrando un tiempo fijado.
El reto lanzado en el twitter de Juegos Robótica era el siguiente:
Para poder practicar almacenando un tiempo el reto planteaba programar un juego donde el robot debía comprobar una cuenta mental de tiempo de 10 segundos por ejemplo.
Hay al menos dos maneras de poder almacenar un tiempo transcurrido entre dos pulsaciones de botón utilizando mBlock, basado en Scratch, y mBot o Arduino.
La primera puede resultar algo más compleja para quienes no estén familiarizados con las variables. Se trata de definir una variable donde almacenar el tiempo transcurrido contando por ejemplo décimas de segundo.
Podremos hacerlo repitiendo una espera de una décima y un incremento de esa décima en la variable utilizada para almacenar el tiempo transcurrido.
Siendo puristas seguramente transcurra más de una décima en cada ciclo debido al propio transcurrir del programa, pero en principio podría servir.
La manera es utilizar las instrucciones en forma de bloque de “cronómetro” y “reiniciar cronómetro”.
Entenderlo en lenguaje de Arduino es bastante más difícil que entenderlo en mBlock. Simplemente se trata de reiniciar el cronómetro cuando se pulse por primera vez el pulsador y hacer una lectura del cronómetro cuando se pulse por segunda vez. Aunque en esta ocasión no es necesario sería posible almacenar el valor del cronómetro en diferentes momentos almacenando su valor en esos momentos concretos en diversas variables.
Para entender mejor la solución del reto puedes ver un vídeo realizando la solución en mBot y otro vídeo con la solución en Arduino.
Finalmente programé un juego más completo en mBot con la matriz de leds de manera que hace una puntuación acumulada de tres intentos de contar mentalmente 10 segundos y en el caso de batir el record vigente lo refleja mediante una señal sonora.
Puedes descargar el programa del juego para mBot, aunque siempre es mejor que lo utilices sólo como referencia para crear tu propia versión. En el siguiente vídeo puedes ver una descripción del programa del juego y una demostración de su funcionamiento.
Si queréis ser vosotros los que lancéis el reto con Lego Mindstorms EV3, mBot o Arduino no tenéis más que poneros en contacto o dejar un comentario.
La semana que viene tendremos nuevo reto, estad atent@s!
Deja una respuesta