Semáforo Didático: O Guia Completo — 3 LEDs, Lógica e Temporização
Guia do semáforo com 3 LEDs: como ensinar sequência e tempo, cada LED com seu resistor, e por que usar millis() em vez de delay.
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.
🟢 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.
| Característica | Valor |
|---|---|
| Componentes | 3 LEDs (vermelho, amarelo, verde) + resistores |
| Ensina | Sequência e temporização |
| Cada LED | Com seu resistor |
| Tempo | Definido no código |
| Boa prática | Usar millis() em vez de delay |
| Nível | Iniciante |
🔴 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.
⚖️ delay() x millis()
- Simples de entender
- Trava o Arduino
- Ok para o primeiro teste
- Ruim quando cresce
- 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.
🎯 Onde usar
- Aprender lógica e temporização.
- Projetos escolares.
- Maquetes de trânsito.
- Base para máquinas de estado.
🛠️ Problemas comuns
| Sintoma | Causa provável | Solução |
|---|---|---|
| LED queimou | Sem resistor | Coloque um resistor em cada LED |
| Trava e não lê botão | delay longo | Use millis() no lugar do delay |
| Ordem errada | Sequência mal montada | Reveja a ordem verde-amarelo-vermelho |
| Tempos estranhos | Valores no código | Ajuste os tempos de cada fase |
| LED fraco | Resistor alto demais | Reduza o valor do resistor (com cuidado) |
🚀 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