Início › Exercícios Intermédios › Semáforo
🔀 Multi-componente

🚦 Semáforo Inteligente

LEDs coloridos + Buzzer sonoro. Ciclo de semáforo completo com alerta na transição.

⏱️ Duração: 45 min
🧩 Componentes: 3× LED (R/Y/G) + Buzzer + Resistências
📚 Pré-req: LEDs + Buzzer

Objetivo do Projeto

Simular um semáforo real com o ciclo: Verde → Amarelo → Vermelho. Na fase amarela o buzzer emite bipes de alerta.

🟢

Verde

5 segundos — passa

5000ms
🟡

Amarelo

2 segundos — cuidado + buzzer

2000ms
🔴

Vermelho

5 segundos — stop

5000ms

Ligação

🔌 Ligações completas

Arduino→Componente
Pino 11→Resistência 220Ω → LED Vermelho (+)
Pino 12→Resistência 220Ω → LED Amarelo (+)
Pino 13→Resistência 220Ω → LED Verde (+)
Pino 8→Buzzer Ativo (+)
GND→Cátodo dos 3 LEDs + Buzzer (−)

Código

semaforo.ino
// Pinos
const int LED_VERDE    = 13;
const int LED_AMARELO  = 12;
const int LED_VERMELHO = 11;
const int BUZZER       = 8;

// Tempos (ms)
const int T_VERDE    = 5000;
const int T_AMARELO  = 2000;
const int T_VERMELHO = 5000;

void setup() {
  pinMode(LED_VERDE,    OUTPUT);
  pinMode(LED_AMARELO,  OUTPUT);
  pinMode(LED_VERMELHO, OUTPUT);
  pinMode(BUZZER,       OUTPUT);
}

void desligaTodos() {
  digitalWrite(LED_VERDE,    LOW);
  digitalWrite(LED_AMARELO,  LOW);
  digitalWrite(LED_VERMELHO, LOW);
  digitalWrite(BUZZER,       LOW);
}

void faseVerde() {
  desligaTodos();
  digitalWrite(LED_VERDE, HIGH);
  delay(T_VERDE);
}

void faseAmarelo() {
  desligaTodos();
  digitalWrite(LED_AMARELO, HIGH);
  // Bipes de alerta durante a fase amarela
  for (int i = 0; i < 4; i++) {
    digitalWrite(BUZZER, HIGH);
    delay(200);
    digitalWrite(BUZZER, LOW);
    delay(300);
  }
}

void faseVermelho() {
  desligaTodos();
  digitalWrite(LED_VERMELHO, HIGH);
  delay(T_VERMELHO);
}

void loop() {
  faseVerde();
  faseAmarelo();
  faseVermelho();
}

🎯 Desafio Extra

🔘

Botão de Peão

Adiciona um botão que, quando premido, acelera a passagem para o vermelho para os peões atravessarem.

⏱️

Temporizador no LCD

Adiciona o LCD para mostrar a contagem decrescente de cada fase em tempo real.

Próximo: Alarme → ← Todos os exercícios