¿Puedes trazar una línea usando solo un sensor de línea?

Puede trazar una línea usando un sensor (sensor IR) con seguridad.

Para eso necesitas programar tu bot para que se mueva en la ruta Zigzag. Siguiendo esto, podrá trazar una línea.

Ahora se trata de cómo podemos implementar esta lógica para lo mismo. En la figura a continuación, dibujé un bot con un sensor IR único que se encuentra actualmente en la línea negra que generará un 0 lógico sobre la línea negra, por lo que activaremos el motor izquierdo solo para que pueda girar a la derecha.

Después de esto, cuando su bot se movió a la izquierda y el sensor IR estará sobre la línea blanca o superficie normal, entonces el sensor IR generará la lógica 1 como se muestra a continuación. En este caso, debemos encender el motor derecho para que pueda girar a la izquierda. Nuevamente, fluirá el mismo procedimiento porque ahora el sensor IR volverá a la línea negra, de esa manera podremos seguir una línea con la ruta en zigzag usando un solo sensor IR

También puede pasar por el siguiente programa que he escrito para el microcontrolador AVR

#include

principal()
{
DDRB = 0xFF; // Hacer todos los pines del puerto B como salida
DDRC = 0x00; // Hacer todos los pines del puerto C como entrada
char rs; // Variable definida para sensor
mientras que (1)
{
rs = (PINC y 0b00001000); // Enmascarando otros bits excepto mi pin sensor

if (rs == 0b00001000) // comprobar la lógica si el sensor está en la línea blanca
{
PORTB = 0b00010000; // enciende el motor derecho
}
if (rs == 0b00000000) // comprobando la lógica si el sensor está en línea negra
{
PORTB = 0b00000010; // enciende el motor izquierdo
}
}
}

En el sensor IR del programa anterior, lo tomé en el PUERTO C en Pc3 (como inicio de conteo como Pc0, Pc1, Pc2 …) luego, después de simplemente verificar si mi sensor está sobre la línea blanca, encienda el motor derecho (Motor derecho conectado al PUERTO B en Pb4 y Pb3) y si mi sensor está sobre la línea negra, encienda el motor izquierdo (motor izquierdo conectado al PUERTO B en Pb2 y Pb1).