Neste artigo vamos aprender a programar um semáforo com Arduino UNO. Também conhecido com sinal, sinaleiro, sinaleira ou “sinal luminoso”, o controle semafórico (segundo a Wikipédia) permite alternar o direito de passagem na zona de conflito de uma interseção.

Em resumo, semáforo é um código luminoso que controla passagem de pedestres, ciclistas e motoristas por determinada via de tráfego.

semáforo de rua

   Existem diversas formas de implementar semáforos em sistemas embarcados; vou ensinar vocês a implementar um modelo simples (semáforo com Verde, Amarelo e Vermelho) e também um modelo mais complexo (com botoeira para travessia de pedestres).

   Ambas as formas utilizando microcontrolador compatível com Arduino UNO (modelo Fritzen UM). O sinaleiro simples será implementado de duas formas: uma com utilização da função delay() e outra utilizando a função micros() – sem interromper o programa do Arduino. Já aquele com botoeira de pedestres será implementado somente com utilização da função micros().

Todo material que você vai precisar é um Arduino (pode ser UNO, Nano, Micro, Mini, Pro Mini, etc etc), quatro resistores (três entre 680 ohm e 2,2k ohm e um de 10k ohm), três LED’s (Vermelho, verde, amalelo, qualquer tamanho e formato!), um botão/botoeira e alguns cabos/jumpers; além de uma placa de protótipos (protoboard).

gif semaforo sinaleiro sinaleira

Veja abaixo o esquema de ligação para o semáforo simples (apenas três lâmpadas em sequência contínua e infinita):

semáforo simples com Arduino

O código com função delay() está disponível neste link e também abaixo:


   Agora o mesmo circuito, porém sem utilizar a função delay(). Neste caso o Arduino pode continuar a execução do programa sem ficar “parado” dentro de cada delay.

O código do programa do semáforo sem utilizar a função delay() está disponível neste link e também abaixo:

E agora um um vídeo do seu funcionamento:


   Implementei também um semáforo com botoeira para pedestres, onde o verde fica aceso o tempo todo (passagem para carros), até que se pressione a botoeira de pedestres; é contado um tempo e acionado o ciclo normal: Amarelo e depois vermelho.

A luz verde então volta a acender e ficar acesa até o próximo pressionar da botoeira. O diagrama esquemático é visto abaixo:

semáforo com botoeira e Arduino

   Já o código para o Arduino está disponível neste link e também abaixo:

E tem também um vídeo do funcionamento do circuito!

Consideração final: Programar um semáforo com microcontrolador é uma das primeiras atividades “avançadas” que a maioria dos professores solicitam aos seus alunos. O objetivo de disponibilizar este conhecimento para vocês é facilitar um pouco a vida do aluno, além de mostrar diferentes formas de resolver problemas computacionais.


   Lembrando que eu criei uma página com todos os lugares onde eu compro materiais para meus artigos do blog e também meus projetos pessoais. As lojas virtuais citadas são parceiras do FritzenLab, portanto você compra componentes e Arduinos de qualidade e eu ganho pontos para trocar por mais materiais para o blog!

 

Clique aqui para ver a lista de lojas virtuais.

Semáforo com Arduino

Deixe uma resposta

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

Solve : *
1 + 18 =