Sunteți pe pagina 1din 3

Planteamiento del problema

El problema que se plantea es el control del nmero de personas que entran y bajan en una
unidad de transporte pblico mediante el PIC 16f84a.

Los autobuses de transporte cuentan con 2 puertas que censan si una persona sube o baja. Esta
informacin se va registrando por un sistema electrnico y se guarda para llevar un control ms
exacto del pasaje a lo largo del da.
Para lograr simular este sistema necesitamos 2 sensores de presencia colocados de manera
vertical como se muestra en la figura. Esto nos permite saber si la persona sube o baja al poder
detectar cul de los 2 sensores de activan primero.
Las instrucciones de diseo es que deber mostrar en 8 bits de salida representados por leds, las
opciones de personas que entraron, personas que bajaron y la resta de las personas que subieron
y bajaron, estas tres opciones se mostraran de acuerdo a peticin del usuario controlada por un
pulsador, de tal manera que pulsando la entrada se pueda variar el dato a mostrar. Esto nos deja
entradas para los sensores que indicaran si las personas suben o bajan por la puerta 1 y 2.




Planteamos la realizacin del problema, dividiendo el programa por sus diferentes subprogramas
que representan problemas ms especficos. De esta manera lo primero que se plateo es resolver
el censado del cambio de estado que daran los Optointerruptores mediante las interrupciones del
PIC 16f84A, de tal forma que los pines del RB4 al RB7 quedaron como entradas 2 por cada puerta.
La siguiente parte que se concibi fue como se mostraran los diferentes datos mediante una sola
entrada de un pulsador, se plante usar un contador de ascendente 0 a 3, que tal manera que el
valor que contuviera sirviera como indicador para que dato se debera ver a la salida. As el
nmero de personas que abordaron se mostrara a la salida cuando el contador tuviera un 1, el
nmero de personas que bajaron se indicara cuando el contador tuviera un 2, el nmero 3 del
contador servira para mostrar volver a mandar el contador a 0 y que se mostrara la resta del
nmero de personas que abordaron y que bajaron. Para hacer que el contador cambiara de botn
con un pulsador utilizamos el mismo planteamiento que la primera parte, mediante el uso de la
interrupcin por RBO cuando esta hiciera el cambio de 0 a 1, aumentara el valor del contador y
esto se vera reflejado en la salida que mostrara el PIC.
De esta manera tenemos planteado como se van a ingresar los datos, ahora como se realizara la
salida de los datos, ya que tenemos ocupados los pines RB0 y RB4 al RB7, las salidas forzosamente
tendrn que ser el puerto A y los pines RB1,RB2 con RB3 del puerto B. Por comodidad dejamos los
pines del Puerto A tal cual como los 5 menos significativos, siguiendo en orden RB1, RB2 RB3 de
esta manera quedan representada la salida de 8 bits que se solicit.
Ahora el nico cabo suelto por resolver es la parte de la escritura en memoria que queda
planteada de forma general mediante los pasos a seguir proporcionados por Microchip.

Interrupcin Entradas
Para poder captar si una persona est subiendo o bajando por cualquiera de las 2 puertas
mediante interrupciones, es importante saber cmo se activan los sensores a lo largo del trayecto
de una persona en los 2 casos. En el caso de que una persona suba por la puerta 1 los sensores
cambiar de estado de reposo 00 al 10, 11, 01,00 conforme la persona avance en su trayecto de
subida o en caso contrario 00, 01, 11, 10, 00 para el trayecto de bajada. De esta manera se puede
apreciar que si una el sensor detecta primero el estado 10 podemos suponer que la persona tiene
un trayecto hacia dentro del autobs, en cambio si el primer cambio es un 01 podemos asegurar
que la persona sigue un trayecto descendente. En problema radica en que tanto al subir como al
bajar una persona los sensores pasan 1 vez por el estado 01 y 10 entonces necesitamos algo que
nos indique cual fue el primero de los 2 en activarse para determinar la trayectoria de la persona.
Para este propsito utilizamos una bandera que nos indicara que estado se activ primero, la idea
consiste en colocar la bandera a 0, cada vez que los sensores cambian a un estado 00, y solo
incrementar la cuenta se subida cuando el estado cambia a 10 y la bandera este en estado 0,
inmediatamente colocara la bandera a 1, indicando que ya se detect uno de los 2 estados
deseados (10 indica que la persona sube y 01 indica que la persona baja) por lo tanto si detecta un
estado 01 a continuacin pero la bandera esta en 1 no realizara accin alguna, y cuando el estado
vuelva a colocarse en 00 volver a limpiar la bandera colocndola en 0, lista para detectar un
nuevo cambio.
Funcionamiento a grandes rasgos de la Interrupcin rb4 a rb7
Guardado de Memoria
Cdigo y funcionamiento
Selector de Salida / Contador
Funcionamiento a grandes rasgos
Salidas
Funcionamiento del mapeo de las salida

S-ar putea să vă placă și