15 - El Crumblebot sigue su camino

Uno de los ejemplos clásicos de la robótica educativa es el diseño de un programa que haga que el robot, nuestro Crumblebot en este caso, siga una línea trazada en el suelo. Para esa tarea nos serviremos de los dos sensores infrarrojos situados en la parte baja de la placa Crumblebot, junto a la rueda loca. Ambos sensores tienen sendos leds conectados, el de la izquierda de color rojo y el de la derecha de color verde, que se encienden cuando estos sensores están detectando una línea negra. Podéis ver esos sensores en la siguiente imagen:


Para la práctica que os propongo aquí, deberemos conectar esos sensores con las entradas "B" y "C" de la tarjeta Crumble de nuestro robot. Podéis ver esa conexión en la fotografía que os muestro a continuación:


Lo que pretendemos es que el robot lea continuamente, en el bucle infinito que utilizamos habitualmente, el estado de esos sensores que hemos conectado a las entradas "B" y "C". Cuando el sensor de la izquierda detecta la línea negra, es decir cuando la entrada "B" tiene el valor "HI" o 1, el robot hará un giro a la izquierda. Lo lograremos haciendo que el motor 1 retroceda al 25% de su potencia (REVERSE at 25%)  y el motor 2 avance al 100% de potencia (FORWARD at 100%). Deberemos utilizar la estructura condicional "if... then ... else" que ya conocemos y tendremos que anidar en el bloque "else" de esa condicional una nueva condicional que haga que el motor derecho gire a la derecha cuando el sensor derecho detecte la línea negra. Cuando ninguno de los dos sensores esté detectando la línea negra, el robot avanzará a toda potencia. Para ello deberemos dar al motor 1 y el 2 el valor "FORWARD at 100%" en la sentencia "else" de la última condicional. Puede parecer un poco lioso, pero no lo es tanto. Aquí veis el robot ejecutando este programa:


Y para cuando surja el atasco por falta de ideas, descargar ver ese programa en el enlace que os incluyo más abajo. Y a partir de este programa se pueden añadir las modificaciones que se nos vayan ocurriendo para hacerlo más completo. 

En cuanto a la pista por la que va a circular nuestro robot, la manera más sencilla es utilizar una cinta americana oscura, negra a poder ser, que colocaremos sobre una superficie clara. Hay que ser también un poco cuidadoso al diseñar nuestro circuito, pues, si hacemos las curvas muy cerradas y programamos el robot para que avance a toda potencia probablemente se saldrá del circuito y vagará perdido por la habitación buscando desesperadamente una línea negra. Pero el error forma parte del aprendizaje, así que probar y experimentar será una magnífica manera de aprender.
ċ
robot_siguelineas.crm
(1k)
Jose Mari Macías,
25 mar. 2016 11:13
Comments