En la imagen de arriba podemos ver el diagrama, donde M son los motores, IN 1_1, IN 1_2, IN 2_1 e IN 2_2 son entradas, las primeras dos controlan el motor de la izquierda, las dos ltimas controlan el motor de la derecha en ambos sentidos. Por ejemplo si aplicamos una seal (un 1 lgico) en la entrada IN 1_1 y la entrada IN 1_2 est en bajo (0 lgico) el motor girara a favor de las manecillas del reloj, si hacemos lo contrario es decir seal (1 lgico en IN 1_2) y bajo (0 lgico) en IN 1_1 el motor girara en contra de las manecillas del reloj. Lo mismo sucede con las entradas IN 2_1 e IN 2_2, pero estas controlan el motor de la derecha. Las seales que llegaran a estas entradas son las enviadas por el circuito de control que puede ser un circuito de interconexin de compuertas o con la programacin de un micro controlador PIC.
A continuacin veremos el circuito de control realizado con compuertas para el manejo de 4 sensores.
Las entradas A B C y D son las provenientes de los 4 sensores, las salidas M1 M1 M2 y M2 son las que van al Driver L293D.
En esta imagen vemos el circuito completo, desde los sensores hasta los motores. Donde dice Sensor 2, Sensor 3 y Sensor 4 son circuitos idnticos al del sensor 1 que aparece ah. Lo que dice XT 4 MHZ es un cristal de 4 Mhz, la resistencia de 1k va directamente a 5 volts, sin ella el PIC no arranca. El cdigo utilizado es el siguiente:
'Programa para Robot 'seguidor de lineas. TRISA = %00000 TRISB = %00001111 PORTA = %00000 PORTB = %00000000 'LECTURAS leer_frente: If PORTB.0 = 1 Then If PORTB.1 = 0 Then If PORTB.2 = 0 Then If PORTB.3 = 1 Then Goto frente
Else Goto leer_izq Endif Endif Endif Endif leer_izq: If PORTB.0 = 1 Then If PORTB.1 = 1 Then If PORTB.2 = 0 Then If PORTB.3 = 1 Then Goto izquierda Else Goto leer_derecha Endif Endif Endif Endif leer_derecha: If PORTB.0 = 1 Then If PORTB.1 = 0 Then If PORTB.2 = 1 Then If PORTB.3 = 1 Then Goto derecha Else Goto leer_arriba Endif Endif Endif
Endif leer_arriba: If PORTB.0 = 0 Then If PORTB.1 = 0 Then If PORTB.2 = 0 Then If PORTB.3 = 0 Then Goto arriba Else Goto final_lin Endif Endif Endif Endif final_lin: If PORTB.0 = 1 Then If PORTB.1 = 1 Then If PORTB.2 = 1 Then If PORTB.3 = 1 Then Goto final_linea Else Goto nov_izq Endif Endif Endif Endif nov_izq: If PORTB.0 = 0 Then If PORTB.1 = 0 Then If PORTB.2 = 0 Then
If PORTB.3 = 1 Then Goto noventagrados_izq Else Goto nov_der Endif Endif Endif Endif nov_der: If PORTB.0 = 1 Then If PORTB.1 = 0 Then If PORTB.2 = 0 Then If PORTB.3 = 0 Then Goto noventagrados_der Else Goto nada_1 Endif Endif Endif Endif nada_1: If PORTB.0 = 0 Then If PORTB.1 = 1 Then If PORTB.2 = 0 Then If PORTB.3 = 0 Then Goto arriba Else Goto nada_2 Endif
Endif Endif Endif nada_2: If PORTB.0 = 0 Then If PORTB.1 = 0 Then If PORTB.2 = 1 Then If PORTB.3 = 0 Then Goto arriba Else Goto nada_3 Endif Endif Endif Endif nada_3: If PORTB.0 = 1 Then If PORTB.1 = 1 Then If PORTB.2 = 1 Then If PORTB.3 = 0 Then Goto noventagrados_der Else Goto nada_4 Endif Endif Endif Endif nada_4: If PORTB.0 = 0 Then
If PORTB.1 = 1 Then If PORTB.2 = 1 Then If PORTB.3 = 1 Then Goto noventagrados_izq Else Goto leer_frente Endif Endif Endif Endif 'Parte de activacin de las salidas en el puerto A frente: PORTA = %00110 Goto leer_frente izquierda: PORTA = %00010 Goto leer_frente derecha: PORTA = %00100 Goto leer_frente arriba: PORTA = %00000 Goto leer_frente final_linea: PORTA = %01010 Goto leer_frente noventagrados_izq: PORTA = %00101 Goto leer_frente
End
Y terminando puede verse as, el circuito de ese seguidor est hecho con PIC, funciona con dos bateras de 9 volts. Una para el circuito de control y sensores y otra para el L293 y motores. Los LEDS son solo para ver el comportamiento de los sensores.