Detectar obstáculos


Volver al índice de Robótica

Diseño


El diseño no es importante. De hecho el grupo de Bachillerato que escogió esta prueba no hizo nada especial. Tan sólo poner las cubiertas de las ruedas planas, que parecía que daban mejor resultado.

Bloques de programación


Los bloques de programación del apartado del siguelíneas son los mismos que del seguidor ULTRAFAST. El programa no dividía las tareas, sino que programaba en línea dando el mismo resultado, y añadía los siguientes bloques:

Al principio

external image 4596056738_1f86c092d2_o.png

Al principio del programa debo indicar mediante una variable la distancia a la que quiero que detecte el objeto. En este caso, era de 28 cm.

Al final

external image 4596056732_537ab23476_o.png

El bucle que detecta el obstáculo consta de dos condicionales. Debido al problema de que cuando se enciende el dispositivo la histéresis del detector hace que detecte el infinito como valor cero, al empezar el programa entraría en este bucle. Por ello, el primer condicional en el que se obliga al dispositivo a no hacer nada si la distancia es MENOR que 5 y sólo si es mayor que 5 está preparado para detectar un obstáculo.
El segundo condicional compara según la distancia de la variable introducida al principio del programa. Si detecta el obstáculo a ese valor (recuerdo que estaba a 28 cm.) se cambia el valor de la variable a un valor inferior a 5 (en este caso 3). Así nos aseguramos que sólo realiza una detección y no más detecciones mientras girase.
El resto del programa es simple. Realiza un pequeño giro durante un tiempo, para sacarlo de la línea. Después sigue girando hasta encontrarla de nuevo y ya sigue el programa siguelineas normal.