Resolver un labirinto

Para que o mClon resolva o labirinto temos que facer unhas modificacións nos soportes do sensor ultrasónico e nun dos segue-liñas. Tamén necesitamos un labirinto sinxelo con celas de 20×20 cm, aproximadamente. Tes todo o que necesitas na páxina sobre o mClon resolve labirintos.

O reto de mClon resolve labirintos está inspirado nun reto de Juegos de Robótica

Programación

Seguir unha parede

O algoritmo que utiliza o mClon para resolver o labirinto, sempre que sexa sinxelo, sen bucles, consiste en avanzar seguindo unha parede, a dereita ou a esquerda, a pouca distancia, e se atopa un parede de fronte ten que virar buscando a parede que estaba a seguir.

Para que o mClon siga a parede utilizamos o sensor ultrasónico e tentaremos que a distancia entre a parede e o mClon sexa de 3cm. Se a distancia é maior o mClon virará cara a parede e se é menor virará para afastarse da parede.

No exemplo colocamos o sensor ultrasónico no lado dereito, polo que avanzaremos paralelos á parede dereita.

Na imaxe pódese apreciar que a distancia máis axeitada do lateral do mClon á parede semella ser entre 3 e 4 cm. O sensor ultrasónico do mClon, e o do mBot, non mide distancias menores de 3cm, deseñamos un soporte que afasta o sensor do lateral do robot, polo que a distancia que buscamos como ideal será de entre 5 e 6 cm.

Se a distancia é demasiado grande temos que facer que o robot vire máis rápido avanzando menos, ou sexa que o motor esquerdo (M1) xire moito máis rápido que o dereito (M2).

Neste vídeo podes ver o mClon seguindo a parede:

https://youtu.be/GeeFNZcf9Uo

Un muro de fronte

A segunda parte do programa consiste en facer que o mClon vire 90º cando se atope cun muro de fronte. Utilizamos un dos sensores segue liñas colocado nun soporte especial. Como as paredes do labirinto son de cor clara, ao acercarse a elas o sensor detecta luz, isto fai que se dispare a parte do programa que fai virar ao mClon sen desprazarse cara adiante, xa que se non tropezaría coas paredes. No exemplo seguimos a parede dereita, polo que cando se atope de fronte cun muro terá que virar cara a esquerda 90º.

Neste vídeo podes ver como o robot xira cando se atopa un muro de fronte:

https://youtu.be/KEbfVyRdp1M

Retos

Unir os dous programas

Agora tes que unir os dous programas para facer que o mClon avance en paralelo a parede dereita a unha distancia de entre 3 a 4 cm e cando se atope cun muro de fronte vire cara a esquerda 90º.

https://youtu.be/6L2gyH5RYVU

Resolve labirintos con LEDs de cores

Ademais de ser bonitos, os LEDs poden indicarnos o que está a medir o sensor ultrasónico.

Fai que os LEDs RGB se iluminen de distintas cores segundo a distancia á que está o robot da parede. No vídeo de arriba non se aprecia moi ben, pero cando esta cerca dos 3 cm os LEDs están verdes, cando esta entre 4 e 8 se iluminan en amarelo e cando pasa dos 10 cm, a distancia, a cor e vermella.