En esta lección te vamos a enseñar cómo activar el Modo Seguimiento de tu autito robot inteligente para que siga a un objetivo y avance. Para lograrlo también se usa el módulo ultrasónico, pero de una forma un poco distinta a como se usa en el modo de evasión de obstáculos.
Principio de funcionamiento
Vamos a darle un vistazo a la estructura general del principio de funcionamiento del modo seguimiento usando el módulo ultrasónico y después analizamos el programa. Este es un sistema de seguimiento basado en ultrasonido: el auto usa un sensor ultrasónico para detectar si hay un objetivo a menos de 20 cm adelante.
Si no detecta nada, se controla el servo para que gire en cuatro ángulos de forma secuencial (80°, 20°, 80° y 150°) para escanear el área. Si encuentra un objetivo en alguno de esos ángulos, el auto se va a mover en esa dirección (adelante, izquierda o derecha) para seguirlo automáticamente.
Abrí la Demo1 en la carpeta TB6612. Esta demo tiene dos funciones que llaman a otras adicionales, todas declaradas en el archivo ApplicationFunctionSet_xxx0.h y definidas en ApplicationFunctionSet_xxx0.cpp. En el archivo .h vas a encontrar la declaración de la función de inicialización Init(), la de seguimiento Follow() y algunas variables que ya vimos en capítulos anteriores.
La función Init() (en el .cpp, entre las líneas 76 y 92) funciona como un "autotest de encendido": activa secuencialmente los motores, el sensor ultrasónico, el giroscopio y el servo, calibra los sensores y deja el sistema listo para arrancar. Por otro lado, la función Follow() (líneas 247 a 358 del .cpp) es la que maneja la lógica compleja. Podés contraer los bloques de código para que te sea más fácil ver la estructura de if...else... anidados.
Al entrar en la lógica de seguimiento, el programa primero chequea si el auto está levantado del suelo y mide la distancia de los obstáculos. Si no detecta nada adelante, entra en modo escaneo; apenas encuentra un objetivo, cambia al modo seguimiento. Para probarlo, cargá el programa (acordate de poner el interruptor "Upload-Cam" en "Upload"). Una vez que la carga sea exitosa, apoyá el autito firme en el piso y prendé el interruptor. Por defecto, si detecta un objetivo adelante va a ir derecho, y si no hay nada, va a empezar a buscar inteligentemente.