ESP32 - Semáforo
Neste tutorial, vamos explorar como usar o ESP32 para controlar um módulo de semáforo. Em detalhes, vamos aprender:
- Como conectar o módulo de semáforo ao ESP32
- Como programar o ESP32 para controlar o módulo de semáforo RGB
- Como programar o ESP32 para controlar o módulo de semáforo RGB sem usar a função delay()
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables ESP32 S3 Starter Kit (ESP32 S3 included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Módulo de Semáforo
Pinagem
Um módulo de semáforo possui 4 pinos:
- Pino GND: O pino de terra, conecte este pino ao GND do ESP32.
- Pino R: O pino para controlar a luz vermelha, conecte este pino a uma saída digital do ESP32.
- Pino Y: O pino para controlar a luz amarela, conecte este pino a uma saída digital do ESP32.
- Pino G: O pino para controlar a luz verde, conecte este pino a uma saída digital do ESP32.

Como Funciona
Diagrama de Ligação
- Como conectar o ESP32 e o semáforo usando uma protoboard

This image is created using Fritzing. Click to enlarge image
Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.
- Como conectar o ESP32 e o semáforo usando uma placa breakout com bornes de parafuso

Como Programar o Módulo de Semáforo
- Configure os pinos do ESP32 no modo de saída digital usando a função pinMode()
- Programe para acender a luz vermelha usando a função digitalWrite():
Código ESP32
Passos Rápidos
- Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 na Arduino IDE.
- Faça a ligação conforme a imagem acima.
- Conecte a placa ESP32 ao seu PC por meio de um cabo USB Type-C
- Abra a Arduino IDE no seu PC.
- Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
- Copie o código acima e abra-o na Arduino IDE
- Clique no botão Upload na Arduino IDE para carregar o código no ESP32
- Observe o módulo de semáforo
É importante observar que o funcionamento exato de um semáforo pode variar dependendo do projeto específico e da tecnologia usada em diferentes regiões e cruzamentos. Os princípios descritos acima fornecem uma compreensão geral de como os semáforos operam para gerenciar o trânsito e aumentar a segurança nas vias.
O código acima demonstra o controle individual de cada luz. Agora, vamos aprimorar o código para uma otimização melhor.
Otimização do Código ESP32
- Vamos melhorar o código implementando uma função para o controle das luzes.
- Vamos melhorar o código usando um laço for.
- Vamos melhorar o código usando a função millis() em vez de delay().