Este projeto é semelhante ao semáforo de trânsito com semáforo com travessia para pedestre, porém com uma diferença, ele simula o mesmo semáforo agora com um botão para que o pedestre possa solicitar a parada dos carros. Porém, para evitar que haja solicitações consecutivas assim uma outra tenha sido executada, foi definido um tempo mínimo para que a próxima solicitação seja executada.

Este projeto utiliza conceitos de escrita digital e leitura digital.

Como funciona o código:

A primeira etapa do código é a definição das variáveis globais que serão usadas no decorrer do código.

Em seguida, define-se o vetor de dígitos de acordo com o acendimento de cada um dos 8 LED’s do display de 7 segmentos.

Na função void setup() os pinos utilizados para o display são configurados como saída e o pino do botão é configurado como entrada.

Já na função void loop(), para iniciar o sistema o número 0 é impresso no display e a contagem do “pseudo-tempo” é iniciado com o incremento da variável t. Obs.: Não foi utilizada a função millis() não foi usada à título de simplificação.

Na inicialização do sistema, o sinal de pedestres está vermelho, enquanto o sinal verde para carros está ligado

Enquanto não houver uma solicitação de algum pedestre, o semáforo não mudará. Quando o botão for pressionado, inicia-se um delay,  e a lógica de troca de sinais é iniciada.

Confira o esquemático de montagem do circuito deste projeto abaixo.

 

 

Confira o código abaixo:

 

 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Nome *