Experimentando con Crumblebot
Breve referencia sobre Crumblebot y los experimentos que hice acerca de ejercicios de sigue-líneas.
Contexto
El Crumblebot es un kit de robótica diseñado originalmente por 4tronix y comercializado en España por complubot.
Actualmente va por la version 2 (Crumbot2), pero yo solo dispongo de la 1. Versiones del kit:
Se programa desde un IDE que desarrolla Redfernelectronics. Curiosamente, siendo un componente imprescindible para usar el robot, no es nada facil de encontrar, ni desde la página de 4tronix ni desde la de complubot. Enlace de descarga. Este IDE es una adaptación de scratch específica para el kit.
Se trata de un kit que hace muy sencillo el acceso a:
- 2 sensores de línea (alto o bajo dependiendo de si ve negro o blanco)
- 2 sensores de luz
- 2 LEDs RGB
- 2 motores
Entendiendo el sigue-líneas
El sigue-líneas usa los sensores de línea de la parte inferior del robot. La documentación recomienda usar una línea negra de algo más de un centímetro, luego veremos que no es la única opción, ni siquiera la más interesante.
La logica detrás de este tipo de programas es dejar la línea negra en el centro de los sensores, de modo que cuando un sensor detecta la línea negra lo que hará el robot es apartarse de ella. Una manera de entenderlo es como si la linea negra fuera un monorail y lo que persiguen los sensores es mantener el rail entre los dos sensores.
Una de las opciones más básicas de implementarlo es, con las siguentes conexiones y programa:
Crumble | Bot |
---|---|
A | LINE-L |
D | LINE-R |
La lógica que hay detrás de este programa es:
- A==HI quiere decir que el sensor de línea izquierdo está "viendo negro" osea está encima de la linea, con lo cual hay que apartar el robot, giramos a la izquierda.
- B==HI quiere decir que el sensor de línea derecho está "viendo negro", con lo cual hay que apartar el robot, giramos a la derecha.
- si ninguno está a HI es que el robot "ve blanco" en ambos sensores, asume que tiene la línea en el centro de modo que avanza.
Limitación: como el bot entiende "blanco-blanco" como "linea en medio, voy bien", no puede distinguir eso de "me he salido totalmente".