¿Cómo hacer un semáforo?

En realidad, cuándo se presiona el botón, sólo puede forzar al rojo luego de tiempo X.
Porque sino cualquier peatón que quiera cruzar en cualquier momento, ocasionaría atascos de vehículos.
En mi región, sólo funciona el botón luego de que ocurrió al menos un ciclo completo de verde a rojo. Si alguien presiona antes de cumplir el tiempo mínimo se ignora. Y deberá volver a probar luego o esperar el rojo que vendrá cuándo le corresponda.
Y sí, debe haber dos botones, cuándo uno fuerza al rojo, pero antes pasar por el amarillo, y el otro puede pasar a verde o bien a amarillo intermitente, todo depende de lo que se requiere. Siguiendo la idea de Scooter, un botón puede ir en la entrada A6 por ejem. y el otro en la entrada A7. Entonces considerando sólo A6, deberás crear una nueva tabla de verdad, lo mismo cuando se accione A7.
Deberás acondicionar un impedimento que cuándo un botón se presione el otro no puede, añadiendo algo de lógica externa con FF, puede hacerse sencillamente. O bien aprovechando algún pin libre de salida de EEPROM, cómo señal de inhibición al otro botón.
 
Última edición:
Lo mas sencillo es poner un contador con un reloj de 2Hz y la memoria programada a tal efecto, así si quieres hace intermitencias o las cosas que desees con solo el contador y la memoria.
 
En realidad, cuándo se presiona el botón, sólo puede forzar al rojo luego de tiempo X.
Porque sino cualquier peatón que quiera cruzar en cualquier momento, ocasionaría atascos de vehículos.
En mi región, sólo funciona el botón luego de que ocurrió al menos un ciclo completo de verde a rojo. Si alguien presiona antes de cumplir el tiempo mínimo se ignora. Y deberá volver a probar luego o esperar el rojo que vendrá cuándo le corresponda.
Y sí, debe haber dos botones, cuándo uno fuerza al rojo, pero antes pasar por el amarillo, y el otro puede pasar a verde o bien a amarillo intermitente, todo depende de lo que se requiere. Siguiendo la idea de Scooter, un botón puede ir en la entrada A6 por ejem. y el otro en la entrada A7. Entonces considerando sólo A6, deberás crear una nueva tabla de verdad, lo mismo cuando se accione A7.
Deberás acondicionar un impedimento que cuándo un botón se presione el otro no puede, añadiendo algo de lógica externa con FF, puede hacerse sencillamente. O bien aprovechando algún pin libre de salida de EEPROM, cómo señal de inhibición al otro botón.
Se me ocurrió usar el botón y un 7476 conectados a los SET, para que se inicien en 10 y continúen con la cuenta, el problema es que al apretar el botón, si se establece en 10, pero se queda en ese valor fijo, no avanza :/ como si el botón siguiera mandando ese pulso y el flip flop no puede cambiar de estado, crees que necesariamente deba reprogramar la eprom?
 
No te compliques la vida, debes armar tres tablas de datos, uno por cada situación, sin botón presionado, con sólo botón A presionado, y luego con sólo botón B presionado.
Y deja que los FF, trabajen sin detención ni resets. Todo el secreto está en sacarle el jugo a la EPROM.
 
No te compliques la vida, debes armar tres tablas de datos, uno por cada situación, sin botón presionado, con sólo botón A presionado, y luego con sólo botón B presionado.
Y deja que los FF, trabajen sin detención ni resets. Todo el secreto está en sacarle el jugo a la EPROM.
Está bien, tendré que ver cómo hago para aplicar esa condición de que ambos no pueden ser presionados al mismo tiempo, y que deban transcurrir al menos 60s para volver a presionar uno de los botones (es lo que veo más difícil de hacer).
 

Temas similares


Arriba