siguelineas

Ya has montado el PrintBot Renacuajo. Ahora vamos a programarlo para que siga una línea negra. ¿Sabes cómo funciona un siguelíneas? En la siguiente imagen te lo explicamos. El robot, gracias al sensor infrarrojo, sabe cuándo el suelo es blanco o negro, por lo que es capaz de detectar si está encima de la línea o no y, en función de esta información, puede actuar para seguirla.

Siguelineas100

Bien, vamos a ir paso a paso viendo cómo se programa en bitbloq

¡Comencemos! Nuestro PrintBot tiene dos sensores infrarrojos que le ayudan a detectar cuándo está encima de la línea negra, así que vamos a leer el valor de los sensores. Llamaremos a las lecturas ir_derecho e ir_izquierdo. ¡Ojo! “ir” significa infrarrojo, no es el verbo ir. Además, como puedes ver en el esquema eléctrico de arriba, el servo derecho está conectado al PIN digital 9 y el izquierdo al PIN digital 6.

dec_pines

Fíjate en que el sensor izquierdo está conectado al pin 3 y el derecho al 2

El sensor infrarrojo nos da un valor 0 cuando detecta negro y 1 en caso contrario. Para acordarnos, vamos a declarar la variable NEGRO con el valor 0. Las variables son “nombres” a los que asignamos un valor. Mira cómo se hace.

NEGRO

¿Y ahora? Pues ahora tenemos que mover los motores para que el robot siga la línea. ¿Has leído bien la explicación del siguelíneas?

1. Cuando los dos sensores ven la línea negra quiere decir que el robot está sobre la línea, y por lo tanto debe avanzar. Para ello los dos servos giran.

2. Cuando los dos sensores ven blanco entonces se ha terminado la línea negra o el robot se ha perdido, y lo mejor es pararnos.

3. Cuando el sensor izquierdo ve negro y el derecho blanco quiere decir que el robot se está saliendo por la derecha, y debe girar a la izquierda. Para girar a la izquierda lo que hago es mover sólo la rueda derecha (prueba en casa, ya verás como tengo razón).

gira_izquierda

4. Cuando el sensor derecho ve negro y el izquierdo blanco quiere decir que se está saliendo por la izquierda, y debe girar a la derecha. Para girar a la derecha lo que hago es mover sólo la rueda izquierda (¿ya te has convencido?).

gira_derecha

Bien, ¡está claro! Ahora pensemos juntos. Fíjate en los 4 casos y busquemos una regla sencilla.

Siempre que el sensor derecho ve negro, se mueve la rueda izquierda, y si el sensor derecho ve blanco se para la rueda izquierda.

Siempre que el sensor izquierdo ve negro, se mueve la rueda derecha, y si el sensor izquierdo ve blanco se para la rueda derecha.

¡Piensa en ello!

Si has entendido esto hacer el programa es facilísimo:

control

La pausa de 10 milisegundos que hay en cada servo es porque después de mover un servo siempre es bueno esperar un poquito :)

Ya sabes programarlo perfectamente, y si no nuestra amiga Berta te lo explica en este vídeo. Es una auténtica robonauta. ¿Te atreves tú a mandarnos tus propios videos? Escríbenos a diy@bq.com y te los publicaremos.