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);
}
Circuito montado
Pinagem utilizada
Semáforo de Pedestres
Pino 3 (Digital PWM):
- Conectado ao LED verde do semáforo de pedestres.
- Indica que os pedestres podem atravessar a faixa de pedestres.
Pino 5 (Digital PWM):
- Conectado ao LED vermelho do semáforo de pedestres.
- Indica que os pedestres devem aguardar.
Semáforo de Carros
Pino 6 (Digital PWM):
- Conectado ao LED verde do semáforo de carros.
- Indica que os veículos podem seguir.
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.
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.