ESP32 - Sensor de Som - Relé
Neste tutorial, vamos explorar como usar o sensor de som para controlar um relé. Em especial, vamos ver duas aplicações interessantes:
- Interruptor de som: Quando um som é detectado (por exemplo, uma batida), o ESP32 alterna o relé, ligando-o se estiver desligado e desligando-o se estiver ligado.
- Relé ativado por som: Ao detectar um som, o ESP32 liga o relé por um período de tempo determinado.
Ao conectar o relé a uma lâmpada, fita LED, motor ou atuador... podemos usar o sensor de som para controlar a lâmpada, a fita LED, o motor ou o atuador...
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 Relé e o Sensor de Som
Se você não conhece o relé e o sensor de som (pinagem, como funcionam, como programar ...), aprenda sobre eles nos seguintes tutoriais:
Diagrama de Ligação

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.
Código ESP32 - Interruptor de Som alterna o Relé
O código abaixo alterna o estado do relé cada vez que um som é detectado.
Passos Rápidos
- Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 no Arduino IDE.
- Faça a ligação como na imagem acima.
- Conecte a placa ESP32 ao seu PC por um cabo micro USB
- Abra o Arduino IDE no seu PC.
- Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
- Conecte o ESP32 ao PC por um cabo USB
- Abra o Arduino IDE e selecione a placa e a porta corretas
- Copie o código acima e abra no Arduino IDE
- Clique no botão Upload do Arduino IDE para fazer o upload do código para o ESP32

- Bata palmas na frente do sensor de som
- Veja a mudança no estado do relé
Explicação do Código
Leia a explicação linha por linha nos comentários do código-fonte!
Código ESP32 - Relé ativado por som por um período de tempo
O código abaixo liga o relé por um período de tempo quando um som é detectado. Depois desse período, o relé é desligado.
Observe que o código acima usa a função delay() por simplicidade. Porém, se você adicionar mais código, ele pode ficar bloqueado durante o tempo de espera. Para resolver isso, o código a seguir usa uma abordagem sem bloqueio, com a biblioteca ezLED. Nos bastidores, a biblioteca ezLED usa a função millis() em vez de delay para evitar o bloqueio.
Passos Rápidos
- Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 no Arduino IDE.
- Faça a ligação como na imagem acima.
- Conecte a placa ESP32 ao seu PC por um cabo micro USB
- Abra o Arduino IDE no seu PC.
- Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
- Conecte o ESP32 ao PC por um cabo USB
- Abra o Arduino IDE e selecione a placa e a porta corretas
- Clique no ícone de Bibliotecas na barra à esquerda do Arduino IDE.
- Pesquise por “ezLED” e encontre a biblioteca de LED da ArduinoGetStarted
- Clique no botão Instalar para instalar a biblioteca ezLED.

- Copie o código acima e abra no Arduino IDE
- Clique no botão Upload do Arduino IDE para fazer o upload do código para o ESP32

- Bata palmas na frente do sensor de som
- Veja a mudança no estado do relé