🚦 Aplicação 12 – Semáforo em “Y” com Arduino

🎯 Objetivo

Controlar três conjuntos de LEDs simulando um cruzamento em “Y”, onde cada via tem seu próprio semáforo, mas todos funcionam em sincronismo para manter o fluxo seguro.


🛠 Materiais necessários

  • 1 Arduino Uno

  • 9 LEDs (3 vermelhos, 3 amarelos, 3 verdes)

  • 9 resistores de 220 Ω

  • Protoboard e jumpers


⚙️ Funcionamento

Cada semáforo terá três fases:

  1. Verde ativo: libera o tráfego de uma via enquanto as outras estão paradas.

  2. Amarelo de atenção: indica mudança iminente para o vermelho.

  3. Vermelho: bloqueia o tráfego da via.

O ciclo é repetido de forma coordenada para os três braços do “Y”.




📜 Código Arduino


// Definição dos pinos para cada cor de cada semáforo int led_red = 0; int led_yellow = 1; int led_green = 2; int led_red2 = 3; int led_yellow2 = 4; int led_green2 = 5; int led_red3 = 6; int led_yellow3 = 7; int led_green3 = 8; void setup() { // Configura todos os pinos como saída pinMode(led_red, OUTPUT); pinMode(led_yellow, OUTPUT); pinMode(led_green, OUTPUT); pinMode(led_red2, OUTPUT); pinMode(led_yellow2, OUTPUT); pinMode(led_green2, OUTPUT); pinMode(led_red3, OUTPUT); pinMode(led_yellow3, OUTPUT); pinMode(led_green3, OUTPUT); } void loop() { // Fase 1 delay(3000); digitalWrite(led_red, LOW); digitalWrite(led_yellow, LOW); digitalWrite(led_green, HIGH); digitalWrite(led_red2, LOW); digitalWrite(led_yellow2, HIGH); digitalWrite(led_green2, LOW); digitalWrite(led_red3, HIGH); digitalWrite(led_yellow3, LOW); digitalWrite(led_green3, LOW); // Fase 2 delay(3000); digitalWrite(led_red, LOW); digitalWrite(led_yellow, HIGH); digitalWrite(led_green, LOW); digitalWrite(led_red2, LOW); digitalWrite(led_yellow2, LOW); digitalWrite(led_green2, HIGH); digitalWrite(led_red3, HIGH); digitalWrite(led_yellow3, LOW); digitalWrite(led_green3, LOW); // Fase 3 delay(3000); digitalWrite(led_red, HIGH); digitalWrite(led_yellow, LOW); digitalWrite(led_green, LOW); digitalWrite(led_red2, LOW); digitalWrite(led_yellow2, LOW); digitalWrite(led_green2, HIGH); digitalWrite(led_red3, LOW); digitalWrite(led_yellow3, HIGH); digitalWrite(led_green3, LOW); }

🧠 Aprendizado

  • Como coordenar vários conjuntos de LEDs simultaneamente

  • Uso de tempo (delay) para criar sequências de tráfego

  • Organização de código para múltiplos dispositivos em paralelo


✨ Spoiler do próximo conteúdo

No próximo projeto, vamos mudar para um relogio digtal com alarme vai ser muito legal

Comentários

Postagens mais visitadas deste blog

contador 9999 com pic 16f628

CNC fotos cordenadas x y z dicas

codigo assembler braço mecanico para 5 motores