Contador coches parking y semáforo

#1
Buenas, estoy realizando un pequeño ejercicio-proyecto que trata sobre saber el nº total de coches que han entrado y salido del parking (capacidad 500 coches) y actuar sobre un semáforo (verde -> plazas libres ; rojo -> no hay plazas libres).

Dispongo de 2 sensores inductivos, uno da 1 lógico cuando un coche entra, y el de salida da un 1 lógico cuando un coche sale.
El problema se debe resolver con circuitos combinacionales y secuenciales.

A) Primero se me plantea que no tenga en cuenta que puede haber un coche en la entrada y salida a la vez.

Para ello, como la capacidad máxima del parking es de 500 coches, he pensado en crear un contador de módulo 500, así que necesitaré 9 FLIPFLOPS (2^9=512, me sobra). Este contador será UP/DOWN ya que deberá ser UP cuando entre un coche, y DOWN cuando salga uno.

He realizado el siguiente organigrama lógico para ello:

Organigrama Lógico

Después le he dado una combinación para cada estado, como hay 5 estados (Inicio, verde, rojo, counter+1 y counter -1) necesito 3 FLIPFLOPS, los escojo tipo D para facilitar el desarrollo. Hago la consecuente tabla de estados/transiciones y encuentro las ecuaciones de excitación para cada FLIPFLOP.

Luego tendré 2 salidas, pongamos una que se llama LuzVerde y otra LuzRoja, LuzVerde será 1 para el estado Verde y LuzRoja será 1 para el estado Rojo.


Asi ya habria resuelto el apartado A).


En el apartado B) se me plantea que ahora si puede detectar entradas y salidas a la vez, y que realize el consecuente diagrama de bloques de cómo quedaría el asunto.

He pensado el siguiente:

DiagramaBloques

En teoria yo no veria ningun problema. El contador de entrada serian 9 bits (tiene que contar hasta 500) e iria sumando, igual que el contador de salida (también de 9 bits).
Luego pondria um Sumador/Restador que restaria 2 palabras de 9 bits (siendo la primera palabra el contaje de entrada y la segunda el contaje de salida).
El restador iria dando un resultado segun vayan contando, si este resultado es 500, significa que han entrado ya 500 coches y no ha salido ninguno, entonces para esta combinación binaria, actuaria sobre un multiplexor para elegir una salida para el semáforo (salida verde o salida rojo). En el caso de que el restador de 500, elegiria el ROJO.

El problema no me habla en ningun caso de cómo actuar sobre las barreras de entrada o salida, SOLO actuar sobre la luz del semáforo.


Esto seria todo de momento!! Rogaria que me plantearan posibles errores o variables de mis planteamientos que no haya tenido en cuenta para su resolución.

Muchas gracias por vuestra amable atención, voy a pasarme por el thread de Bienvenida :)
 
#2
En el A) he detectado ya varios problemas.

En el organigrama no he tenido en cuenta el UP/DOWN por separado, es decir, he puesto directamente Counter+1, pero ese Counter+1 incluye 2 tareas, una es poner el contador en UP, y la otra producir un flanco de subida para que cuente 1.

Es evidente que es un problema porque teniendo en cuenta los retardos entre puertas, los flancos no coincidiran y no me hará el conteo, asi que he decidido lo siguiente.

Cuando ENTRADA detecte un coche, pasará a un estado que se llamará UP, este estado provocará que una salida llamada UP/DOWN se ponga a 1 (1=UP, 0=DOWN), y luego crearé OTRO estado seguido de ese que seguirá manteniendo la salida a 1 (UP) y provocará un flanco de subida en el CLOCK del contador.

De esta manera, al haber puesto a 1 previamente el UP, ya supero el retardo entre puertas y cuando el siguiente estado haga un FLANCO DE SUBIDA; el UP previamente ya estará a 1 y me contará 1.

De la antigua manera, habria un retardo entre el FLANCO y el UP, y podria ser que no me detectara bien el flanco y el up a la vez.

Lo mismo para el Counter-1.
 

DOSMETROS

High 2m Modereitor
#3
Arriba , y arriba a la derecha hay dos buscadores internos del Foro , ese mismo trabajo práctico ya fué tratado aqui en el Foro , buscalo y seguí por allá.

Los mensajes repetido , los levantados y las tareas escolares suelen Moderarse (n).

Saludos !
 

DOSMETROS

High 2m Modereitor
#5
Probá con otros regionalismos como por ejemplo "aparcamiento" "estacionamiento" "contador de autos . . . vehículos . . . coches . . . carros" , porque estoy absolutamente seguro que esa misma tarea escolar ya se consultó aquí.
 
#8
Buenas noches PauFCB.
Creo que con tanto diagrama te estás "Comiendo el coco".
En el mundo real las cosas son más sencillas.
Te dejo un PDF que hace lo que pides, está realizado y simulado con Proteus.
El esquema es auto_esplicativo
Si tienes interés en el circuito subiría el Fichero del Proteus para que puedas simularlo y modificarlo, verás que es muy sencillo.

Bueno me voy a por la uvas. :)

Próspero 2012
 

Adjuntos

Última edición:
#9
Buenas noches PauFCB.
Creo que con tanto diagrama te estás "Comiendo el coco".
En el mundo real las cosas son más sencillas.
Te dejo un PDF que hace lo que pides, está realizado y simulado con Proteus.
El esquema es auto_esplicativo
Si tienes interés en el circuito subiría el Fichero del Proteus para que puedas simularlo y modificarlo, verás que es muy sencillo.

Bueno me voy a por la uvas. :)

Próspero 2012
SE ve bueno sube el programa simulado en proteus para descargarlo:D:D

PD. Hablando de uvas deben ser 12 no y porque otros dicen que hay q comerlas debajo de la mesa:unsure::confused:
 
#10
SE ve bueno sube el programa simulado en proteus para descargarlo:D:D

PD. Hablando de uvas deben ser 12 no y porque otros dicen que hay q comerlas debajo de la mesa:unsure::confused:
Buenas noches sergiod.
Lo de las uvas, es una costumbre muy Española, no se si por America también la tenéis, se trata de comerse una uva con cada campanada de las 12 de la noche, total que terminas y empiezas el año nuevo comiendo uvas.
Menos mal que son uvas y no sandias :LOL:
Por cierto ya estamos en 2012. :aplauso:

Bueno pues dejo el fichro del contador.

Tiene tres pulsadores... UP, DN, y Reset.
Cuenta hasta 500, cuando llega a 500 se bloquea la cuenta UP y se enciende el Led Rojo.
Cuando la cuenta es DN, al llegar a 0 se bloque la cuenta DN ya que si no hacemos esto los contadores se pondrían en 999.
La cuenta es por flanco de bajada, los pulsadores están poniendo un 1 y al pulsarlos ponen un 0
En lugar de los pulsadores, podemos activar la cuenta de la manera que se nos ocurra...
Opto_acopladores, Barrera de luz, etc.
En lugar de detectar un 500, podemos modificar el circuito para detectar cualquier otro número.
Espero que sea de utilidad.

Que 2012 os traiga lo mejor.
 

Adjuntos

Última edición:
#12
vi tu proyecto no se si estoy mal pero no es mejor usar inversores que nand o hay una razon para ello y no entiendo la razon de los capacitores casi nunca le ponia asi a los push boton
 
Última edición:

Temas similares

Arriba