O projeto em questão pertence ao domínio de sistemas de controle de
tráfego e envolve a implementação de uma simulação de um semáforo
utilizando circuitos de portas lógicas. O cenário da simulação ocorre
em um cruzamento composto por duas avenidas principais, oferecendo
aos condutores a opção de prosseguir em linha reta ou realizar uma
curva em suas respectivas direções. Nesse contexto, quatro conjuntos
de semáforos estão presentes, mas a lógica de controle é aplicada
apenas a dois deles simultaneamente. O sistema também incorpora um
estado destinado aos pedestres, acionado quando todos os sinais
luminosos para os veículos exibem a cor vermelha, permitindo, assim,
a travessia segura dos pedestres. O funcionamento geral do sistema
é baseado em combinações lógicas que determinam cada um dos estados
possíveis:
Estado 1: Semáforo 1: Verde - Semáforo 2: Vermelho - Semáforo de pedestres: Vermelho;
Estado 2: Semáforo 1: Amarelo - Semáforo 2: Vermelho - Semáforo de pedestres: Vermelho;
Estado 3: Semáforo 1: Vermelho - Semáforo 2: Verde - Semáforo de pedestres: Vermelho;
Estado 4: Semáforo 1: Vermelho - Semáforo 2: Amarelo - Semáforo de pedestres: Vermelho;
Estado 5: Semáforo 1: Vermelho - Semáforo 2: Vermelho - Semáforo de pedestres: Verde.
A interação entre os blocos funcionais é realizada por meio da lógica
de controle, que depende das condições dos semáforos de veículos e
do semáforo de pedestres. A sequência de estados é determinada pelas
combinações de sinais aplicadas aos semáforos, visando otimizar a
circulação de veículos e garantir a segurança dos pedestres no
cruzamento.
Para implementar o funcionamento de cada estado, foram empregados
contadores baseados em flip-flops do tipo D, operando de maneira
síncrona com o uso de um multiplexador (mux). Esses contadores foram
projetados para representar os diferentes estados dos semáforos,
com cada estado sendo associado a uma contagem específica. O método
adotado envolve a utilização de contadores binários, que são ativados
sequencialmente para produzir a sequência de estados desejada.
O processo de contagem é realizado por meio da configuração de três
flip-flops interligados, que executam uma contagem binária. Esses
flip-flops recebem três entradas que determinam sua contagem de acordo
com a sequência de estados planejada. Além disso, um flip-flop
adicional é empregado para criar o módulo de contagem necessário.
Esse flip-flop atua como um divisor de frequência, enviando um sinal
de nível lógico alto para a entrada de comando D, o que resulta no
reinício da contagem quando necessário.
A combinação e coordenação adequadas desses flip-flops, juntamente
com o mux, permitem a criação de uma lógica de controle que gera a
sequência de estados dos semáforos conforme os critérios definidos.
A sincronização síncrona dos flip-flops com o auxílio do mux garante
a transição suave entre os estados, simulando de forma eficaz o
funcionamento de semáforos em um cruzamento de tráfego real. Esse
projeto incorpora princípios de circuitos digitais e lógica
combinatória para alcançar um sistema de controle de semáforo
funcional e coerente.
The project in question belongs to the domain of traffic control
systems and involves the implementation of a simulation of a
traffic light using logical gate circuits. The simulation scenario
takes place at an intersection composed of two main avenues, offering
drivers the option to proceed straight or make a turn in their
respective directions. In this context, four sets of traffic lights
are present, but the control logic is applied to only two of them
simultaneously. The system also incorporates a state dedicated to
pedestrians, activated when all vehicle traffic lights display the
red color, thus allowing safe pedestrian crossing. The overall
operation of the system is based on logical combinations that
determine each of the possible states:
State 1: Traffic Light 1: Green - Traffic Light 2: Red - Pedestrian Traffic Light: Red;
State 2: Traffic Light 1: Yellow - Traffic Light 2: Red - Pedestrian Traffic Light: Red;
State 3: Traffic Light 1: Red - Traffic Light 2: Green - Pedestrian Traffic Light: Red;
State 4: Traffic Light 1: Red - Traffic Light 2: Yellow - Pedestrian Traffic Light: Red;
State 5: Traffic Light 1: Red - Traffic Light 2: Red - Pedestrian Traffic Light: Green.
The interaction between functional blocks is carried out through
control logic, which depends on the conditions of vehicle traffic
lights and pedestrian traffic lights. The sequence of states is
determined by the combinations of signals applied to the traffic
lights, aiming to optimize vehicle circulation and ensure pedestrian
safety at the intersection.
To implement the operation of each state, counters based on D-type
flip-flops were used, operating synchronously with the use of a
multiplexer (mux). These counters were designed to represent the
different states of the traffic lights, with each state being
associated with a specific count. The adopted method involves the
use of binary counters, which are sequentially activated to produce
the desired sequence of states.
The counting process is carried out by configuring three
interconnected flip-flops that perform binary counting. These
flip-flops receive three inputs that determine their count according
to the planned sequence of states. Additionally, an additional
flip-flop is employed to create the necessary counting module.
This flip-flop acts as a frequency divider, sending a high-level
logic signal to the D command input, resulting in a restart of the
counting when needed.
The proper combination and coordination of these flip-flops, along
with the mux, allow the creation of control logic that generates the
sequence of traffic light states according to the defined criteria.
Synchronous synchronization of the flip-flops with the assistance of
the mux ensures smooth transition between states, effectively
simulating the operation of traffic lights at a real traffic
intersection. This project incorporates principles of digital
circuits and combinational logic to achieve a functional and coherent
traffic light control system.
Loading
tt-block-input
tt-block-input
Loading
tt-block-output
tt-block-output