Skip to main content

Un sencillo seguidor de líneas

Código básico

Los dos sensores ópticos colocados bajo la placa de Cutebot, similares a los de un ratón de ordenador, pueden detectar líneas negras. El kit de Cutebot incluye una plantilla de papel con una línea negra cerrada a modo de circuito. Programaremos micro:bit para que Cutebot sea capaz de reconocer el circuito y recorrerlo de forma autónoma.

Tras cargar la extensión de Cutebot, comenzaremos por introducir un código que muestre en la matriz de LED de micro:bit el logotipo del seguidor de líneas:

Sigue00.png

El bucle para siempre se dedicará a leer continuamente los dos sensores de líneas y a actuar sobre la velocidad de las ruedas. Cuando los dos sensores de líneas detecten el color negro (El estado del seguimiento es ●●), significará que Cutebot está justo sobre la línea del circuito y que debe continuar avanzando hacia adelante. Para ello hay que hacer girar las dos ruedas a la misma velocidad.

Sigue01.png

Si el sensor derecho detecta color blanco (El estado del seguimiento es ●), el robot se ha salido de la línea por la derecha  y debe girar hacia la izquierda. Para ello habrá que parar la rueda izquierda y hacer girar la rueda derecha hacia adelante. El código tendrá el siguiente aspecto:

Sigue02.png

Si, por el contrario, el sensor izquierdo detecta color blanco (El estado del seguimiento es ○●), el robot se habrá desviado hacia la izquierda y habrá que girarlo hacia la derecha para recolocarlo sobre la línea:

Sigue03.png

¿Qué ocurre si el robot ha perdido completamente la línea y los dos sensores detectan color blanco? En este caso, (El estado del seguimiento es ○○), conviene parar el robot. El código completo se muestra a continuación:

Sigue04.png
Mutatis mutandis

El código desarrollado es efectivo, pero admite muchas mejoras. Por ejemplo, cuando el robot intente dar una curva muy cerrada, es posible que pierda la línea y se detenga completamente. Realicemos una pequeña modificación en el código para que Cutebot pueda volver a encontrar la línea perdida:Sigue05.png

De acuerdo con el último bloque condicional, cuando se pierda la línea (El estado del seguimiento es ○○) el robot comenzará a rotar sobre sí mismo y no se detendrá hasta que la vuelva a encontrar.