El sexto reto consiste en programar un sensor de aparcamiento.
Se trata de un reto de nivel básico.
Reto #6: Dado electrónico.
El reto lanzado en el twitter de Juegos Robótica era el siguiente:
Para poder programar un dado vamos a necesitar un comando de azar, que devuelva aleatoriamente un número entre el 1 y el 6.
Para poder mostrar el resultado con mBot, que viene sin ningún tipo de display en el kit básico, necesitaremos indicar el resultado del “lanzamiento” de otra manera menos trivial. En el ejemplo que he programado he usado una repetición de encendidos y apagados de los leds combinados con sonido, de manera que contando se puede saber el número indicado.
En este vídeo puedes ver la solución propuesta con mBot.
Con Arduino es fácil programar aleatoriedad con Scratch, lo difícil es poder mostrarlo en una pantalla LCD o similar.
En mi caso he utilizado una pantalla LCD que se comunica con Arduino por I2C por lo que al final he pasado de Scratch al IDE de Arduino para acabar de pulir el código. Esa es una gran cualidad de mBlock, nos permite pasar de Scratch a código Arduino directamente, aunque no todo se puede hacer en Scratch.
Aquí tienes el vídeo con la programación en Arduino.
Puedes ver que realmente la orden “random” no genera un número aleatorio puro, sino que se repite el inicio de la secuencia siempre.
Con la instrucción randomSeed le podemos obligar a Arduino a que el inicio de la secuencia lo fije con la lectura de un pin analógico de entrada que no estemos usando. El propio ruido de la entrada generará la aleatoriedad que buscamos.
En próximos tutoriales veremos como conectar una pantalla o incluso un pulsador si nunca has conectado uno en Arduino.
Si queréis ser vosotros los que lancéis el reto con 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!