SIMULANDO UM “SEMÁFORO DE TRÂNSITO DE CARROS E PEDESTRES” COM ARDUINO

Simulando um semáforo de transito com Arduino UNO.

Neste “projeto“, ou melhor, neste desenvolvimento com a ajuda da plataforma totalmente “open-source” do Arduino, vamos desenvolver um “simulador” de sistema de semáforos (como os utilizados e que vemos “funcionar” no mundo real):

  • Utilizaremos 3 LEDs de cores diferentes (verde, amarelo e vermelho) para “imitar” os semáforos de automóveis;
  • Utilizaremos 2 LEDs de cores diferentes (verde e vermelho) para “imitar” os semáforos atuais de pedestres:
  • Utilizaremos 1 botão, para “imitar” o interruptor presente nos semáforos de pedestres utilizados atualmente:

Para ver o circuito em ação, assista a pequena introdução abaixo:

 

→ COMPONENTES UTILIZADOS:
 
O ESQUEMÁTICO DO PROTÓTIPO DO NOSSO CIRCUITO DE SIMULAÇÃO DE SEMÁFOROS:

Simulando um semáforo de transito com Arduino UNO.

OBS: NÃO importa se no esquemático, observamos os diodos LED de variados tamanhos (maiores e/ou menores), se você não possui LEDs de variados tamanhos, não há qualquer problema na execução do nosso projeto aqui mencionado! Pode seguir adiante sem problemas.

O CÓDIGO:

Neste sketch (código), não precisaremos utilizar nenhuma biblioteca. O código é muito simples. Vou deixar aqui algumas dicas. Estas dicas poderão ajudar a entender melhor o que acontecerá no circuito:

  • A luz dos automóveis é sempre verde, e desta forma, a luz de pedestres será sempre vermelha, a menos que alguém aperte o botão.
  • Quando alguém pressionar “o botão”, o que vai acontecer? 
  • A luz do semáforo dos automóveis muda para amarelo e depois para vermelho;
  • A luz dos pedestres muda para verde;
  • As luzes ficam neste estado por um tempo (no código desta vez é a variável tempoAtravessando)
  • A luz verde para pedestres, pisca, desliga e liga a luz vermelha
  • A luz do semáforo de automóveis muda de vermelho para verde.
  • Todas estas ações serão executadas (porque estão declaradas dentro desta função) na “função” : mudaLuzes () . Toda vez que desejarmos alterar as luzes, precisamos apenas “chamar” esta função.  💡 

Copie o código que segue abaixo para sua IDE do Arduino, verifique, compile e envie à placa Arduino. Certifique-se de que você tem a placa (PCB) correta para a execução do projeto e a correta porta COM selecionada na sua IDE.

 

PARA FINALIZAR O POST PESSOAL:!: 

 💡  Se você, SIM, você, (ahh, eu estou incluso também), está começando agora com o Arduino, um bom exercício é o que propõe alterar o valor de algumas variáveis: como tempoAtravessando e mudaLuzes  e a partir daí, ir “brincando”, testando e observando os resultados que se pode obter!  😀 

E se você quiser algo um pouco mais desafiador, pode tentar “imitar” o que acontece em um cruzamento com várias luzes e para ambos: carros e pedestres.

 

Valeu Pessoal! Espero que tenham gostado. Comentem!
Rodrigo Costa
Sigam-me

10 thoughts on “SIMULANDO UM “SEMÁFORO DE TRÂNSITO DE CARROS E PEDESTRES” COM ARDUINO”

  1. Na penúltima linha a verificação acontece informando o seguinte erro:

    expected constructor, destructor, or type conversion before ‘(‘ token

    Gostaria de saber o que pode ser, sendo que copiei o código ?

    Uso a placa uno R3

    1. Fala Crinova! Tudo Bom?

      Respondendo sua pergunta, o que posso dizer é que não deveria existir este erro.

      Acabei de compilar este mesmo código disponível aqui na página na IDE do Arduino Uno Versões 1.8.10 e a última 1.8.12 e em nenhuma delas apresentou qualquer erro na hora de verificar o código.

      Acredito que você tenha copiado o código mas por alguma razão, a formatação do mesmo não ficou exata.

      Recomendo que copie e cole o código no bloco de notas e salve em formato .txt – depois disso, abra o arquivo e copie e cole a partir daí na sua IDE Arduino. Deve estar indo alguma “sujeira” quando você está copiando e colando aí.

      PS: Lendo a mensagem de erro que você mostrou, o que diz é que está faltando no seu código alguma informação antes de um determinado parêntesis (em alguma parte dele, já que você não disse a linha).

      Veja o que consegue daí.
      Se não conseguir nada, me envia uma mensagem através do formulário de contato do Blog que a partir dali te respondo via email e lhe envio o meu arquivo aqui já da IDE Arduino, o .INO

      Sucesso!

      Um Abraço,
      Rodrigo Costa do Blog, Fanpage e Instagram,
      ———————————————————————————
      https://EletronicaParaTodos.com
      https://facebook.com/EletronicaParaTodosBR
      https://instagram.com/EletronicaParaTodosBrasil
      ———————————————————————————
      ▶Contribua com o Crescimento do Canal, faça uma Doação 🙂
      ———————————————————————————
      ➤https://apoia.se/eletronicaparatodos
      ➤https://pag.ae/7UyMZmYb4

  2. Parabéns!!!
    Sou professora de informática e estou iniciando um trabalho com robótica com meus alunos, seu projeto é bem explicado, foi fácil montar e entender o código!! Obrigada e tenha muito sucesso!!!

    1. Fala Professora Patrícia! Tudo Bom?!

      Primeiramente seja muito bem-vinda ao nosso Blog! 🙂

      Fico muitíssimo feliz de que o artigo/post tenha lhe ajudado, e mais ainda, tenha lhe ajudado a AJUDAR seus alunos! 😉

      Deixo meu muito obrigado pelo seu tempo e comentário de Força e Apoio!
      É muito gratificante saber que fomos úteis de alguma forma. 😉

      Desejo a ti também todo o Sucesso e parabéns por essa profissão LINDÍSSIMA! 🙂

      Fala Pessoal! Tudo Bom?!

      Aqui neste artigo utilizamos basicamente o mesmo tipo de sensor ultrassônico utilizado nos parachoques dos automóveis atualmente, confiram! 🙂

      Forte Abraço,
      Rodrigo Costa do Canal YouTube, Fanpage e Instagram,
      https://youtube.com/EletronicaParaTodos
      https://facebook.com/EletronicaParaTodosBR
      https://instagram.com/EletronicaParaTodosBrasil

    1. Fala Antônio! Tudo Bom?!

      Primeiramente seja muito bem-vindo ao nosso Blog! ???

      Rapaz, eu não entendi bem se você realizou uma afirmação ou se fez uma pergunta…?

      Enfim, considerando que fizeste uma pergunta, então meu caro, a resposta é Sim! ????

      O que precisaríamos para poder utilizar LEDs mais potentes ou até mesmo lâmpadas, seria adicionar uma etapa DRIVER, uma etapa de potência (utilizando transistores e até relés) nos pinos de saída utilizados do Arduino. ?????

      Se desejar se inscreve no Blog e em nosso Canal Youtube!

      Sucesso!

      Um Abraço,
      Rodrigo Costa do Canal YouTube,
      https://YouTube.com/EletronicaParaTodos

  3. Olá amigo, muito bom o conteúdo, detalhado e muito bem explicado, parabéns.
    Eu consigo utilizar um buzzer para emitir um sinal sonoro quando o sinal fica vermelho para os carros nesse projeto?

    1. Fala Gabriel! Tudo Bom?!

      Rapaz, primeiramente agradeço sua visita e comentário! 🙂

      Olha só, é possível sim que você “adicione” um pequeno buzzer (5VDC) na saída do MCU que aciona o LED VERMELHO (para os carros). Para isso, basta que você, até mesmo na protoboard ainda (a título de testes), conecte os terminais do buzzer em paralelo com os terminais do respectivo LED VERMELHO (dos carros) que você deseja adicionar o “sinal sonoro” e “literalmente” o circuito estará pronto! 🙂

      PS: Num projeto final, talvez você necessite incluir uma etapa “driver” para o buzzer, buzzer e led, etc…mas pra isso bastaria mesmo utilizar um BC548 de uso geral por exemplo e basicamente resolveria o problema. 😉

      Desejo Sucesso!

      Um Abraço,
      Rodrigo Costa do Blog,
      https://EletronicaParaTodos.com

  4. Boa noite parabens pelo projeto.
    Poderia me ajudar? quero fazer um projeto para garagem tipo: vou colocar dois semaforo de duas cores (verde e veemelho) um vou colocar na garagem e outro na entrada do meu condominio, ambos vai ficar sempre no verde ou seja acesso livre para quem sai e para quem chega. Mas quando tiver entrando no condominio pressiono um botao e logo o da garagem ficarar vermelho e ao chega na garagem voltarar ao normal verde. E assim vice versa como devo fazer essa programacao ?

    1. Fala Isael! Tudo Bom?!

      Primeiramente agradeço sua presença e comentário! 🙂

      Olha só, eu creio que não serei útil pra ti em matéria de “programar” algo ou até mesmo te passar um “sketch” pré-pronto, infelizmente. 🙁

      MAS, em matéria de “ideia prototipal” pra você, ou espécie de “fluxograma estranho” :), eu penso o seguinte:

      Você vai precisar utilizar “no mínimo” 1 sensor (independente do tipo que seja), pois como você disse, na ENTRADA do condomínio, você utilizará um botão (beleza, este é seu primeiro sensor, do tipo analógico), e então ao apertar este botão, sua placa microcontrolada, seu sistema, irá “enviar” o seguinte sinal:

      – Botão da Entrada do Condomínio PRESSIONADO => MCU RECEBE O SINAL DO SENSOR DE ENTRADA => A PARTIR daí o MCU “manda” executar as tarefas seguintes:

      1) DESLIGA LUZES VERDES;
      2) LIGA LUZES VERMELHAS;
      3) ESPERA O VEÍCULO CHEGAR AO LOCAL ESPERADO;
      4) UM SENSOR (OPTICO, ULTRASSÔNICO, ETC) “DETECTA” A PRESENÇA DO VEÍCULO;
      5) MICROCONTROLADOR RECEBE O SINAL DE “PRESENÇA DE VEÍCULO” ENVIADO PELO SENSOR;
      6) MCU “MANDA” DESLIGAR LUZES VERMELHAS E LIGAR NOVAMENTE LUZES VERDES;
      7) SISTEMA RETORNA AO ESTADO INICIAL TORNANDO-SE PRONTO PARA “NOVOS CICLOS DE TRABALHO”.

      Peço desculpas caso não lhe sirva de absolutamente nada o que tentei descrever acima (no caso, “os passos, step-by-step”) do “programa” ou forma de funcionamento que acredito poderia funcionar.

      De qualquer forma, obrigado pela presença, pelo comentário e pela confiança! 🙂

      Votos de Sucesso!

      Um Abraço,
      Rodrigo Costa do Blog,
      https://EletronicaParaTodos.com

Esse espaço é Seu! Comenta Aí! ;-)