# [Aporte] Robot seguidor de linea con pic



## pacio (Nov 25, 2013)

Hola foro

Bueno, armo este post para hacer un aporte de un robot seguidor de linea con los conocidos CNY70 y un pic 16f628a

Bueno el proyecto lo hice para una exposición del colegio, y para que tanto esfuerzo no quede en la nada prefiero compartirlo y que con suerte alguien lo aproveche y lo haga, el diseño es totalmente propio, excepto las resistencias que estàn en la placa de los sensores, ya que no sé como se calculan,estaría bueno que alguien lo explique 

ATENCIÓN: el conecto de la placa de los sensores va soldado por el lado de las pistas, sino quedarían muy lejos del piso los sensores

El proyecto fue mutando y es por eso que hay algunas cosas que están de más y depende de cada uno les va a servir o no,por ejemplo el pic con tantos puertos que son innecesarios

Use tres sensores infrarojos, eso es porque mi idea para la logica era así

si solo el sensor del medio detectaba la linea- los dos motores avanzan a máxima velocidad

si el sensor del medio y el de la izquierda detectan la linea - el motor de la derecha va a media velocidad y el de la izquierda a máxima
(a la inversa si el sensor derecho y el del medio detectan la linea)

si ninguno detecta la linea paran los dos motores

y si solo el sensor de la izquierda detecta la linea el motor de la derecha va a maxima velocidad y el otro se apaga
por ultimo si el de la derecha detecta la linea el de la izquierda a maxima velocidad y el otro parado

espero se entienda 
eso lo hice para que no vaya en zigzag cuando la linea esta recta

La placa como ven tiene dos conectores de alimentación, una solo para motores y otro para la logica,para los motores la polarización de base esta calculada para 6v pero en el rar hay un .txt que explica como hacerlo, para la alimentación de la lógica tienen que ser 9v o más

para bajar la velocidad de los motores a la mitad había pensado en polarizar la base de los tr para que solo pase la mitad de la intensidad de los motores
pero en la practica me di cuenta que fue una mala idea, y recomiendo realizarlo por pwm
lo cual es muy fácil y voy a poner un ejemplo de como seria el código:


```
While(while(input(pin_a2)==0&&input(pin_a3)==0)
{
output_b(0b00010001);
delay_ms(tiempo)
output_b(0b00000000);
delay_ms(tiempo)

})
```

los pines hay que ver cuales usan y asi cambiarlos

todo el codigo como está ahora SOLO USA LOS SENSORES DE LOS EXTREMOS y no el del medio, pero la modificación es muy facil y si alguien necesita ayuda no dude en pedirmela por acá

para controlar los motores use un tip31c y un bc548 en configuración darlington lo cual funciono perfecto, los tip ni se enteraron con mis motores 

El pulsador sirve para prender el robot pero NO para apagarlo, estaría bueno que alguien lo corrija


Dejo:
el diseño de las placas en pcb wizard
simulación en proteus
código en CCS
y lista de componentes

como ven dejo todo ultra completo para que cualquiera,incluso los que no saben programar lo puedan hacer, ademas me parece un proyecto muy fácil para empezar a programar 

dejo como tarea que cualquiera que haga una modificación en la placa o en los componentes lo suba, para que nos pueda servir a todos
ademas para que se entretengan algunas cosas que como explique al principio están de más y habría que sacarlas

Espero no me moderen y que no este repetido, use el buscador y encontré muchas ideas pero nada concreto y lo pensé como una manera de aportar un granito de arena a este foro del que tanto aprendo

voy a tratar de subir algunas fotos del mio despues

Saludos muchachos suerte en el proyecto
PACIO!


----------

