No momento, você está visualizando Semáforo com Arduino

Semáforo com Arduino

Como referenciar este texto: Semáforo com Arduino’. Rodrigo Terra. Publicado em: 16/01/2025. Link da postagem: https://www.makerzine.com.br/educacao/semaforo-com-arduino/.

Conteúdos que você verá nesta postagem

Construir um semáforo utilizando Arduino e LEDs é uma maneira prática e criativa de explorar conceitos fundamentais de eletrônica, programação e automação. Este projeto, ideal para estudantes e entusiastas de tecnologia, simula o funcionamento de um semáforo real, alternando entre os sinais de trânsito para carros e pedestres.

A proposta combina aprendizado teórico e aplicação prática, permitindo compreender o uso de pinos digitais, temporizadores e lógica de controle. Além disso, o projeto pode ser facilmente expandido para incluir sensores e botões, tornando-o ainda mais interativo e próximo de um sistema utilizado nas cidades.

Nesta postagem, você aprenderá como configurar os LEDs, escrever o código necessário e entender os princípios por trás do funcionamento do semáforo, incentivando a experimentação e a personalização do projeto. Uma atividade ideal para makers que desejam unir educação e criatividade!

Lógica

				
					Configuração Inicial (setup)

    Configure os pinos 3, 5, 6, 9 e 10 como saídas.
    Inicialize todos os LEDs:
        Ligue os LEDs brevemente (1 segundo acesos e 1 segundo apagados) para realizar um teste inicial.

Ciclo Principal (loop)

    Semáforo para carros: luz verde
        Ligue o LED verde do semáforo de carros (pino 3).
        Desligue o LED vermelho do semáforo de pedestres (pino 10).
        Mantenha o estado por 5 segundos.

    Transição para o semáforo de carros: luz amarela piscando
        Desligue o LED verde do semáforo de carros.
        Ligue e desligue o LED amarelo do semáforo de carros (pino 5) 6 vezes, com 500 ms entre cada piscada.

    Semáforo para pedestres: luz verde
        Ligue o LED vermelho do semáforo de carros (pino 6).
        Ligue o LED verde do semáforo de pedestres (pino 9).
        Mantenha o estado por 5 segundos.

    Aviso para pedestres: luz verde piscando
        Desligue o LED verde do semáforo de pedestres (pino 9).
        Ligue e desligue o LED verde do semáforo de pedestres 6 vezes, com 500 ms entre cada piscada.

    Retorno ao estado inicial
        Desligue o LED vermelho do semáforo de carros.
        Ligue o LED vermelho do semáforo de pedestres.
        Ligue o LED verde do semáforo de carros.

    Repita o ciclo.
				
			

Código escrito

				
					// C++ code
//
void setup()
{
  pinMode(3, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);

  analogWrite(3, 1);
  analogWrite(5, 1);
  analogWrite(6, 1);
  analogWrite(9, 1);
  analogWrite(10, 1);
  delay(1000); // Wait for 1000 millisecond(s)
  analogWrite(3, 0);
  analogWrite(5, 0);
  analogWrite(6, 0);
  analogWrite(9, 0);
  analogWrite(10, 0);
  delay(1000); // Wait for 1000 millisecond(s)
}

void loop()
{
  analogWrite(3, 1);
  analogWrite(5, 0);
  analogWrite(6, 0);
  analogWrite(9, 0);
  analogWrite(10, 1);
  delay(5000); // Wait for 5000 millisecond(s)
  analogWrite(3, 0);
  analogWrite(5, 1);
  delay(500); // Wait for 500 millisecond(s)
  analogWrite(5, 0);
  delay(500); // Wait for 500 millisecond(s)
  analogWrite(5, 1);
  delay(500); // Wait for 500 millisecond(s)
  analogWrite(5, 0);
  delay(500); // Wait for 500 millisecond(s)
  analogWrite(5, 1);
  delay(500); // Wait for 500 millisecond(s)
  analogWrite(5, 0);
  delay(500); // Wait for 500 millisecond(s)
  analogWrite(5, 1);
  delay(500); // Wait for 500 millisecond(s)
  analogWrite(5, 0);
  delay(500); // Wait for 500 millisecond(s)
  analogWrite(5, 1);
  delay(500); // Wait for 500 millisecond(s)
  analogWrite(10, 0);
  analogWrite(6, 1);
  delay(5000); // Wait for 5000 millisecond(s)
  analogWrite(9, 1);
  analogWrite(6, 0);
  delay(3000); // Wait for 3000 millisecond(s)
  analogWrite(9, 0);
  analogWrite(10, 1);
  analogWrite(5, 0);
  analogWrite(3, 1);
}
				
			

Código blocos

Inicial

Setup

Circuito montado

Pinagem utilizada

Semáforo de Pedestres

  1. Pino 3 (Digital PWM):

    • Conectado ao LED verde do semáforo de pedestres.
    • Indica que os pedestres podem atravessar a faixa de pedestres.
  2. Pino 5 (Digital PWM):

    • Conectado ao LED vermelho do semáforo de pedestres.
    • Indica que os pedestres devem aguardar.

 

Semáforo de Carros

  1. Pino 6 (Digital PWM):

    • Conectado ao LED verde do semáforo de carros.
    • Indica que os veículos podem seguir.
  2. Pino 9 (Digital PWM):

    • Conectado ao LED amarelo do semáforo de carros.
    • Indica a transição de estado, alertando os motoristas para reduzir a velocidade.
  3. Pino 10 (Digital PWM):

    • Conectado ao LED vermelho do semáforo de carros.
    • Indica que os veículos devem parar.

Simulador TinkerCad

Se você acha que este conteúdo pode ser útil para alguém, compartilhe!

Ao divulgar os textos do MakerZine, você contribui para que todo o material continue acessível e gratuito para todas as pessoas.

Rodrigo Terra

Com formação inicial em Física, especialização em Ciências Educacionais com ênfase em Tecnologia Educacional e Docência, e graduação em Ciências de Dados, construí uma trajetória sólida que une educação, tecnologias ee inovação. Desde 2001, dedico-me ao campo educacional, e desde 2019, atuo também na área de ciência de dados, buscando sempre encontrar soluções focadas no desenvolvimento humano. Minha experiência combina um profundo conhecimento em educação com habilidades técnicas em dados e programação, permitindo-me criar soluções estratégicas e práticas. Com ampla vivência em análise de dados, definição de métricas e desenvolvimento de indicadores, acredito que a formação transdisciplinar é essencial para preparar indivíduos conscientes e capacitados para os desafios do mundo contemporâneo. Apaixonado por café e boas conversas, sou movido pela curiosidade e pela busca constante de novas ideias e perspectivas. Minha missão é contribuir para uma educação que inspire pensamento crítico, estimule a criatividade e promova a colaboração.

Deixe um comentário