- En esta oportunidad, la programacin a tratar depender mucho de las pruebas que se
hagan cuando ya se tenga terminada la placa de las fotoceldas para programar el carrito en modo seguidor de luz, esta programacin debe estar incluida con la programacin del modo seguidor de lnea, entendindose de que no se pueden imprimir dos programaciones distintas en el PIC.
- Podran existir diversas maneras para incluirlas en la programacin y que se activen de acuerdo a las condiciones que se den en la situacin real, por ejemplo:
a) Una primera forma sera utilizar interrupciones, si se considerase de que el modo seguidor de luz es de alta prioridad, para ciertas condiciones en las que las fotoceldas capten una seal infrarroja para un determinado valor de voltaje se podran activar las rdenes que se le den al carro dentro de estas interrupciones, y cuando no capte ninguna seal infrarroja o que se encuentren por debajo de cierto rango se activarn las rdenes y condiciones de la interrupcin de baja prioridad. Sin embargo no es muy fcil hacer que exista una clara diferencia entre qu condiciones se estn cumpliendo en una prueba real, ya que existen muchas seales infrarrojas externas de considerable valor que pueden hacer que el carro no complete su circuito en caso est en modo seguidor de lnea, por lo que es recomendable incluir la programacin adicional de otra manera.
b) Se pueden aprovechar las rdenes que se han declarado anteriormente para el modo seguidor de lnea y solamente agregar las nuevas condiciones para los sensores de luz sin necesidad de hacerlo con interrupciones y anulando una seal o la otra cuando no se est ejecutando su modo de seguidor. Es decir, si se est ejecutando el modo seguidor de lnea se anula la seal que los sensores de luz le enviaran al PIC para que se den sus determinadas rdenes ya que puede haber interferencia si se cumplen dos determinadas condiciones al mismo tiempo. Del mismo modo si se quiere ejecutar el modo seguidor de luz se anula la seal que los sensores de lnea le enviaran al PIC. La forma ms sencilla de anular estas seales sin tener que poner un switch por cada sensor es quitar la alimentacin de la placa de sensores de lnea o de luz, y para no usar dos switch por cada alimentacin se usa uno de tres estados (estado I: seguidor de lnea, estado II: seguidor de luz, estado III: ambas seales estn desactivadas). Ntese tambin que el puente H tiene su switch de encendido con lo que el carro empieza a realizar las operaciones necesarias cuando este se encuentre encendido.
En esta imagen se muestra el switch de tres estados que estamos utilizando para poder controlar qu seal se est enviando al PIC, por lo que la programacin para la parte de sensores de luz aprovechar las antiguas rdenes que se le daban a los sensores de lnea.
Una vez escogida la alternativa de solucin:
Cuando ya se tiene escogida la solucin a utilizar se prosigue a hacer un esquema de la programacin a utilizar, siempre que se aprovechen las rdenes ya definidas para el modo seguidor de lnea. En este caso la dinmica es bastante simple:
Cuando los sensores capten una seal de luz estos tendrn como salida un determinado voltaje y este es recibido por el PIC que lo convierte internamente a una forma digital. Como trabaja con 8 bits podr tomar valores que van desde 0 a 1023 en el sistema decimal.
Como ya se tiene diseada la placa es necesario definir algunas cosas, por ejemplo: para determinados voltajes (hablando en un determinado rango de tensiones) se calibrarn los trimers a usar para que siempre tengan ese voltaje para esa misma intensidad de luz, es necesario y muy importante que todos los trimers estn igualmente calibrados porque si un valor de voltaje se encuentra en el lmite de un rango y no est bien calibrado, puede ser que la orden a dar dentro de la programacin sea distinta si es que la condicin se salta a otra condicin como consecuencia de una mala calibracin. Es por eso recomendable que de ser necesario, para la calibracin se utilice un osciloscopio en lugar de un multitester.
Dependiendo de la posicin de estos trimers el voltaje que entregarn en el emisor de los transistores puede variar, llegando a tener como mximo un valor de 4V idealmente. Entonces de acuerdo a la intensidad de luz que reciban tendrn un rango total de 0 a 4V y a su vez este ser transformado a una seal digital que se encontrar en un rango de 0 a 1023, como se mencion anteriormente.
Luego, cuando ya se tienen escogidos estos rangos lo nico que se hace es comparar dentro de qu rango se encuentra la seal que detecta el PIC y aquella de mayor valor es la que determinar la orden que ejercer el motor.
Cuando los sensores de adelante del carro sean los que tengan la seal ms alta o solo uno de los dos (sin importar cul de los dos), lo que har el carro es avanzar, intensificando cada vez ms esta seal; por otro lado si los 3 sensores de la derecha son los que tienen mayor intensidad o solamente 2 sensores o uno (nuevamente, sin importar cul) la orden que se le programar al carro es la de girar en sentido horario para que sean los sensores delanteros los que tomen esta seal para que puedan avanzar. De la misma manera ocurre para los otros 3 sensores de la izquierda, si los 3 sensores, 2 o solo 1 de ellos capta la seal ms fuerte el carro girar en sentido antihorario para que los sensores delanteros la capten y el carro pueda avanzar.
El principal inconveniente no es la orden que se le dar al carro, sino determinar los rangos con los que se jugar en la programacin, de acuerdo a la luz que los sensores capten. Mientras ms pequeo sea el rango ser ms conveniente puesto que se tendrn ms rangos a evaluar y con la posicin de sensores mostrada las rdenes son solamente 3 de todas las que ya se dispona para el modo seguidor de lnea.