O semáforo de 3 LEDs é o projeto que quase todo mundo faz cedo — e por um bom motivo: ele ensina lógica e temporização de um jeito visual e divertido.

Vermelho, amarelo, verde, na ordem certa, com o tempo certo. Simples, mas cheio de aprendizado.

💡 Salve este guia: cada LED precisa do seu resistor. E evite delays gigantes que travam tudo — o comando millis() deixa o projeto mais esperto.

🟢 Nível 1: o que é e para que serve

O semáforo acende um LED de cada vez, em sequência, com tempos definidos: verde por um tempo, amarelo, vermelho, e repete.

Serve para aprender sequência, tempo e organização de código — a base de qualquer automação por etapas.

🟡 Nível 2: a sequência

A lógica é uma fila de passos: 'acenda o verde, espere X; acenda o amarelo, espere Y; acenda o vermelho, espere Z; repita'.

É o primeiro contato com máquinas de estado — a ideia de o projeto passar por etapas.

🟡 Nível 2: resistor em cada LED

Todo LED precisa de um resistor para limitar a corrente, senão ele queima.

No semáforo são três LEDs, então três resistores — um para cada.

🔎 Dica: troque o delay por millis(): assim o Arduino conta o tempo sem 'congelar', e você pode ler botões ou sensores ao mesmo tempo.
CaracterísticaValor
Componentes3 LEDs (vermelho, amarelo, verde) + resistores
EnsinaSequência e temporização
Cada LEDCom seu resistor
TempoDefinido no código
Boa práticaUsar millis() em vez de delay
NívelIniciante

🔴 Nível 3: como funciona por dentro

Cada cor é um LED ligado a um pino do Arduino, com resistor. Ligar o pino acende o LED; a lógica decide qual acender e por quanto tempo.

Usando millis(), o Arduino verifica 'já passou o tempo desta fase?' sem parar. Isso é uma máquina de estados: o projeto avança de fase em fase de forma organizada — o conceito por trás de automações muito maiores.

⛔ Atenção: delays longos congelam o Arduino: ele não lê botão nem sensor enquanto espera. Para projetos que crescem, millis() é o caminho.

⚖️ delay() x millis()

delay()
  • Simples de entender
  • Trava o Arduino
  • Ok para o primeiro teste
  • Ruim quando cresce
millis()
  • Não trava
  • Lê botões enquanto conta
  • Base de projetos sérios
  • Um pouco mais de código

🧮 Exemplo prático: semáforo com botão de pedestre

📖 Lógica de verdade

1) LEDs: três, cada um com resistor, em pinos do Arduino.

2) Ciclo: verde, amarelo, vermelho, com tempos.

3) millis(): o tempo passa sem travar.

4) Botão: o pedestre aperta e o ciclo se ajusta.

3 LEDs · sequência com tempo · lógica que não trava

🎯 Onde usar

  • Aprender lógica e temporização.
  • Projetos escolares.
  • Maquetes de trânsito.
  • Base para máquinas de estado.

🛠️ Problemas comuns

SintomaCausa provávelSolução
LED queimouSem resistorColoque um resistor em cada LED
Trava e não lê botãodelay longoUse millis() no lugar do delay
Ordem erradaSequência mal montadaReveja a ordem verde-amarelo-vermelho
Tempos estranhosValores no códigoAjuste os tempos de cada fase
LED fracoResistor alto demaisReduza o valor do resistor (com cuidado)
🛒 Na Mamute tem LEDs, resistores e placas para montar seu semáforo e aprender lógica de verdade.

🚀 Conclusão

O semáforo didático parece bobo, mas ensina o essencial: sequência, tempo e a ideia de máquina de estados que sustenta toda automação.

Dê a cada LED seu resistor e troque delay por millis(). Você sai deste projeto sabendo muito mais do que 'acender LED'.

Foi seu primeiro projeto também? Conta aí! 🦣⚡

Mamute Eletrônica · Componentes, Módulos e Robótica · Rua Vitória, 125 — Santa Efigênia/SP · mamuteeletronica.com.br