Saltar la navegación

Retos

Robot mBot Ranger
Ahora que ya conoces las instrucciones que controlan el funcionamiento de todos los sensores y actuadores, y, además, las has probado en los ejercicios correspondientes, te proponemos unos retos que van un poco más allá de un simple encendido de luces, pues ya realizan combinaciones con los diversos actuadores o bien mezclando sensores y actuadores varios.

Te aconsejamos que los intentes hacer y probar varias veces sin ver la solución, pues lo enriquecedor y motivador es conseguirlo uno mismo, ¡ya verás que divertido!

Intenta ser más creativo y realiza tus propios diseños.

Reto 1: Encendido de luces progresivo

En este ejercicio se pretende encender un led del anillo, que permanezca encendido un breve intervalo de tiempo tras el cual se apague, a continuación pasa a realizar la misma operación con el siguiente led del anillo y así hasta barrer los 12 leds que componen el anillo (una vuelta completa).

Un pequeña pista, vas a necesitar generar una variable para ir marcando el led que enciendes. 

Reto 2: Luces girando

Seguimos practicando con los leds, en este ejercicio vamos a hacer que los 12 leds que conforman del anillo se enciendan uno tras torro y luego, una vez encendidos todos, se apaguen uno tras otro. Esta secuencia que se repita tres veces.

Puedes ver el siguiente vídeo donde se muestra lo que se pretende (el color puedes elegir el que quieras).

Reto 3: Manejo del robot con teclado

Vamos a crear un programa muy interesante que te permita controlar el movimiento del robot con las flechas del teclado. No pongas la velocidad de avance y retroceso muy alta para que no se mueva demasiado rápido y se descontrole.

Reto 4: Encuentros

En este ejercicio vamos a hacer que el robot avance lentamente hasta que se encuentre un objeto (a unos 20 cm), en ese momento se detendrá y reproducirá una canción.

Elige la canción que tu quieras y transforma su partitura en instrucciones para el robot, recuerada Do, re... si pasan a ser notas tipo A,B ....G), y la duración en negra, redonda, corchea... pasa a ser medio, cuarto.... Descubre cuales son las equivalencias y ¡prepara tu melodía para el encuentro!.

Reto 5: mBot trabaja en el parking

Hoy en día en los aparcamientos más avanzados hay unas luces encima de las plazas que si están en verde nos permite saber que esa plaza está libre y si están en rojo es sinónimo de que se encuentra ocupada. Esto facilita la búsqueda de aparcamiento al no tener que acercarte tanto. Utiliza a tu robot para que haga esa misma función. Que se enciendan sus leds a rojo cuando detecte un objeto y a verde cuando no. Para hacerlo más interesante, haz que los leds se enciendan uno a uno.

Reto 6: Barrera de luz

En este ejercicio vamos a diseñar un programa que haga que el robot avance con el anillo de leds encendido en un color hasta que detecte una intensidad lumínica alta, en ese momento retrocede (durante unos dos segundos) y cambia el color del anillo de leds.

¿Por qué ponemos un tiempo de 2 segundos en el retroceso? El motivo es el siguiente, si no lo ponemos en cuanto retrocede un poco ya no detectaría la luz y volvería a avanzar, con lo que realizaría pequeños movimientos continuos de avance y retroceso (parece que no se desplaza nada) y lo mismo ocurre con el anillo de leds, parpadea pero no se aprecian los colores. Poniendo los dos segundos vemos como claramente da marcha atrás y se cambia el color de los leds.

Reto 7: Robot sigueluz

En este ejercicio te proponemos que programes el robot para que se comporte como un sigue luz. Lo ejecutaremos con la linterna, si está apagada debe estar parado si apuntas del lado derecho debe girar hacia ese lado y si apuntas del izquierdo girará a la izquierda, cuando apuntes de frente debe moverse hacia delante. 

Reto 8: Juego de reflejos

En este ejercicio os proponemos que uséis el robot como un medidor de vuestra rapidez. El robot va a emitir un pitido y cuando lo escuchéis debéis de colocar la mano delante de el, posteriormente el programa os deberá decir el tiempo que tardásteis desde que sonó hasta que pusísteis la mano.

Cuando empeceis a pensar en el programa ya se os va a venir a la cabeza... ¡Aquí necesito una forma de contar el tiempo! Pues bien, el robot tiene incorporado un cronómetro, para ponerlo a cero se emplea la instrucción:

Reiniciar cronómetro

A partir del momento en que pongas esa instrucción empezará a contar y cuando quieras saber lo que marca el cronómetro se encuentra en la variable que ya tiene el por defecto:

Variable cronómetro

Reto 9: Evitando obstáculos

Diseña el programa que haga que el robot avance de forma permanente hasta que detecte un obstáculo (a uno 20 cm) momento en el cual debe pitar a la vez que gira hacia un lado, en cuanto deje de detectar el obstáculo vuelva a avanzar, y así indefinidamente en el tiempo. 

Reto 10: mBot nos ayuda a aparcar, ¡sin chocar!

Convierte a mBot en tu sensor de aparcamiento. Haz que se enciendan los leds en verde y emita un sonido cuando se encuentre el obstáculo a una distancia moderada, que los LEDs pasen a naranja y el sonido aumente en frecuencia cuando se aproxima más y que se enciendan los LEDs en rojo  y la frecuencia sea todavía superior cuando estemos muy cerca de chocar.

Reto 11: ¿Cuanto quieres que me mueva?

Si nosotros queremos que mBot se mueva una distancia concreta también podemos conseguirlo gracias a los encoders que tiene en los motores que cuentan los grados que giran los ejes de los mismos. Precisaremos usar el siguiente comando:

Instrucción que devuelve los grados que gira un motor

Como todos sabemos, una vuelta entera serán 360 grados. Así que, podemos convertir las vueltas del motor, en vueltas de la rueda y, por tanto, conocer la distancia que este recorre si suponemos que la rueda tiene un radio de 4,1 cm (es un valor aproximado, la rueda es algo menor pero lo incrementamos pues la goma adherida a la misma hace que aumente el perímetro).

Diseña un programa que te pregunta la distancia que quieres que el robot y haga que mBot se desplace esa medida.

mBot preguntando

Reto 12: ¿Cuantas personas pasan por la puerta?

En muchos eventos desarrollados en lugares cerrados hay un aforo limitado. Puedes hacer uso del robot para realizar el recuento de las personas que acceden a la fiesta.

Ten presente que puede haber personas que tarden mas tiempo en atravesar la puerta o incluso pararse por lo tanto el robot tiene que detectar cuando las personas están pasando y cuando han terminado ya de pasar

AHORA TE TOCA A TÍ

Tras haber realizado diversos retos te llega el turno a tí, idea un posible reto para plantear a tus compañeros. Piensa en todas las posibilidades que ofrece mBot Ranger y  plantea un enunciado, a continuación resuélvelo tu mismo, para comprobar que funciona correctamente el código con mBot. Plantéales el reto a tus compañeros y guía a aquellos que lo necesitan con pequeñas ayudas que los conduzcan a la solución. 

Ten en cuenta la tabla que se muestra a continuación donde se indican los criterios que se van a a tener en cuenta a la hora de valorar tu trabajo y el peso de cada uno de ellos en la evaluación del mismo:

EXCELENTE BIEN ACEPTABLE NO ACEPTABLE
ASPECTOS % 4 3 2 1
ORIGINALIDAD 10

La idea es original, no se parece a nada ya realizado previamente

La idea está inspirada en alguna existente. 

La idea es muy semejante a alguna existente.

El ejercicio no aporta nada distinto a trabajos realizados previamente.
PROGRAMACIÓN 40

El programa está bien organizado, sin código repetido y no presenta errores.

El programa funciona correctamente, no presenta error, pero el código podría estar mejor organizado.

El programa tiene sentido pero presenta algunos error (máximo dos) que hacen que no funcione correctamente.

El programa  plantea una secuencia carente de sentido.

DISEÑO 10

El alumno reflexiona acerca del problema, plantea una solución y hace entrega al profesor del algoritmo correspondiente.

El alumno reflexiona acerca del problema, plantea una solución que entrega al profesor en forma de boceto pero sin ser un algoritmo.

El alumno dedica un rato a reflexionar acerca del problema pero no presenta material gráfico reflejo de sus reflexiones.

El alumno no realiza ningún tipo de reflexión acerca del problema planteado.

SENSORES 10 El programa emplea, al menos, dos de los sensores presentes en el robot. Y la señal recibida por ellos se emplea adecuadamente para que influya en el comportamiento del mismo de alguna forma. El programa emplea un sensor de los presentes en el robot. Y la señal recibida por el se emplea adecuadamente para que influya en el comportamiento del mismo. El programa emplea un sensor pero la señal recibida por el mismo no se emplea adecuadamente en el programa. El programa no implementa en su código la señal detectada por ningún sensor.

ACTUADORES

10

El programa emplea, al menos, dos actuadores de forma adecuada y con cierta complejidad (no limitándose a un simple encendido o apagado sino combinando luces, sonidos y movimientos variados).

El programa emplea, al menos, dos de los actuadores presentes en el robot de forma adecuada. 

El programa emplea un solo actuador de forma adecuada. 

El programa emplea actuadores pero no funciona adecuadamente.

CONDICIONALES

Y VARIABLES

10

Se utiliza en el programa alguna instrucción condicional y se encuentra bien implementada. 

Se emplea alguna variable de forma adecuada en el programa.

El programa utiliza instrucciones condicionales pero presenta algún pequeño error en su implementación.

Se emplea alguna variable en el programa de forma adecuada.

El programa presenta intrusiones condicionales o variables, pero no las dos a la vez, y se encuentran implementadas correctamente aportando a la historia

No existen instrucciones de bucles en el programa ni variables.

ENTREGA 10

El alumno entrega el trabajo en tiempo enriquecido con elementos a mayores de los obligatorios.

El alumno entrega el trabajo en tiempo.

El alumno entrega el trabajo en tiempo pero incompleto.

El alumno no entrega el  trabajo en el tiempo establecido