
Chismes del Lince 83: robot seguidor de línea con micro:bit
En la nave de Lynx Enterprises, en Sierra Bermeja, el Lince tiene un robot que tiene que llevar paquetes por una pista negra. El robot se sale de la línea en cada curva. La Gata Montesa mira el suelo y le pregunta: «¿Y si el robot mirara al suelo antes de decidir hacia dónde girar?».
Introducción
Vamos a programar un robot seguidor de línea con una micro:bit y un Maqueen. El robot tendrá que seguir una pista negra sobre fondo claro usando sus sensores de suelo, sin pasar de la línea ni dejar de ver el camino.
Por qué este chisme
Un robot móvil necesita saber dónde está el suelo y tomar decisiones para moverse. Este chisme trabaja con esas dos ideas: sensar el entorno y actuar sobre los motores.
Qué es un robot
Un robot es una máquina que percibe su entorno, decide y actúa. Según su uso, se clasifican así:
- Industriales: brazos y máquinas que trabajan en fábricas, como los que sueldan coches.
- De servicio: ayudan a personas, como los aspiradores, los robots de reparto o los de cuidado.
- Educativos: sirven para aprender a programar, como el Maqueen.
El robot de este chisme es móvil: se desplaza por el suelo. Los robots móviles se usan en almacenes, en la limpieza de suelos y en el reparto de paquetes.
Cómo funciona
El Maqueen tiene tres sensores de línea en la parte inferior. Cada uno tiene un pequeño emisor de luz infrarroja y un receptor. El suelo claro refleja la luz y el negro la absorbe.
- Si el sensor ve negro, devuelve 1.
- Si ve blanco, devuelve 0.
Con esas tres lecturas el programa decide si el robot sigue recto, gira a la izquierda o gira a la derecha. Este sistema se llama control por sensores y es la base de muchos robots reales. Puedes ver ejemplos de programas similares en la wiki de DFRobot sobre el sensor de línea.
Qué necesitamos
- Una micro:bit con batería.
- Un Maqueen (o Maqueen Plus) con sus pilas.
- Cinta aislante negra, de unos 2 cm de ancho, para hacer la pista sobre una superficie clara.
- Ordenador con acceso a MakeCode (makecode.microbit.org).
- La extensión DFRobot_MaqueenPlus_v20, que se añade desde «Extensiones» buscando «maqueen».
Construcción
- Coloca la micro:bit en el soporte del Maqueen y asegúrate de que queda firme.
- Pon el robot sobre la pista, con los sensores encima de la línea negra.
- Enciende el robot y descarga el programa a la micro:bit desde MakeCode.
El programa con bloques
Todo el programa va dentro de un bloque «para siempre», que se repite sin parar.
| Orden | Bloque | Qué hace |
|---|---|---|
| 1 | para siempre | Repite el programa sin parar |
| 2 | si M = 1 y L1 = 0 y R1 = 0 | El sensor central ve la línea y los laterales no |
| 3 | → motor izquierdo 60, motor derecho 60 | Avanza recto |
| 4 | si no, si L1 = 1 | El sensor izquierdo ve la línea |
| 5 | → motor izquierdo 0, motor derecho 60 | Gira a la izquierda hasta volver al centro |
| 6 | si no, si R1 = 1 | El sensor derecho ve la línea |
| 7 | → motor izquierdo 60, motor derecho 0 | Gira a la derecha hasta volver al centro |
| 8 | si no | Ningún sensor ve la línea |
| 9 | → motor izquierdo 0, motor derecho 0 | Para y espera |
| 10 | esperar 20 ms | Da tiempo a los sensores y los motores a reaccionar |
Los nombres exactos de los bloques de motor y de sensor pueden variar según la versión de la extensión. Si no encuentras uno, busca el que hace lo mismo en el menú de Maqueen Plus.
Cómo probarlo
- Coloca el robot al principio de la pista, con el sensor central sobre la línea.
- Déjalo correr y observa qué hace en cada curva.
- Si se sale por la derecha, prueba a subir la velocidad del motor izquierdo. Si se sale por la izquierda, sube la del derecho.
Predice, prueba, comprueba
- Predice: ¿qué pasará si el sensor izquierdo ve la línea y el derecho no? ¿Hacia dónde girará el robot?
- Prueba: ejecuta el programa y compara con tu predicción.
- Comprueba (mini test):
- ¿Qué tipo de robot es el Maqueen: industrial, de servicio o educativo?
- ¿Qué valor devuelve un sensor cuando ve negro?
- ¿Por qué el programa usa
esperar 20 ms?
Para el aula
- Variables: ¿qué variable estamos midiendo? (lectura digital de cada sensor, 0 o 1). ¿Qué unidad tiene el valor de velocidad del motor? (de 0 a 255).
- Error: si el robot se sale en las curvas cerradas, ¿qué parámetro hay que cambiar?
- Hipótesis: si bajamos la velocidad base de 60 a 30, ¿el robot llegará más lejos sin salirse?
- Informe: describe el programa con tus palabras y explica en qué caso gira cada motor.
Retos
- Haz que funcione: completa una vuelta a la pista.
- Modifica: cambia la velocidad base y mide el tiempo de una vuelta.
- Añade un sensor: usa el sensor ultrasonido para parar si hay un obstáculo.
- Guarda los datos: registra cuántas veces se sale de la línea en cada prueba.
Para la parte de sistemas de control, puedes comparar con el chisme 21, la brújula, que también corrige un movimiento a partir de un sensor.
Qué hemos aprendido
Un robot móvil percibe el suelo, decide según lo que percibe y actúa sobre sus motores. Con tres sensores y unas pocas reglas ya puede seguir un camino. Cuanto más sencillo sea el programa, más fácil es entender por qué el robot hace lo que hace.


