ESP32 - Sensor de Som - LED
Neste tutorial, vamos explorar como usar o sensor de som para controlar um LED. Em especial, vamos ver duas aplicações interessantes:
- Interruptor de som: Quando um som é detectado (por exemplo, uma batida), o ESP32 alterna o LED, acendendo-o se estiver apagado e apagando-o se estiver aceso.
- LED ativado por som: Ao detectar um som, o ESP32 acende o LED por um período de tempo determinado.
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) |
Buy Note: Use the LED Module for easier wiring. It includes an integrated resistor.
Sobre o LED e o Sensor de Som
Se você não conhece o LED 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 LED
O código abaixo alterna o estado do LED 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 LED
Explicação do Código
Leia a explicação linha por linha nos comentários do código-fonte!
Código ESP32 - LED ativado por som por um período de tempo
O código abaixo acende o LED por um período de tempo quando um som é detectado. Depois desse período, o LED é apagado.
Observe que o código anterior usa a função delay(), que é simples de entender. Porém, quando mais código é adicionado, a função delay() pode causar bloqueios durante o período de espera. Para resolver isso, o código a seguir usa uma abordagem sem bloqueio, com a biblioteca ezLED. A biblioteca ezLED, nos bastidores, 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 LED