ESP32 - Potenciômetro Aciona Buzzer Piezo
Este tutorial ensina você a usar o ESP32 e o potenciômetro para controlar o buzzer piezo. Em detalhes:
- O ESP32 liga o buzzer piezo automaticamente se o valor analógico do potenciômetro estiver acima de um limite
- O ESP32 desliga o buzzer piezo automaticamente se o valor analógico do potenciômetro estiver abaixo de um limite
Também vamos aprender a converter o valor analógico em tensão e depois usar o limite de tensão para controlar o buzzer piezo:
- O ESP32 liga o buzzer piezo automaticamente se a tensão do potenciômetro estiver acima de um limite.
- O ESP32 desliga o buzzer piezo automaticamente se a tensão do potenciômetro estiver abaixo de um limite.
Vamos usar o buzzer piezo para emitir som e tocar a melodia de uma música.
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 Buzzer Piezo e o Potenciômetro
Temos tutoriais específicos sobre buzzer piezo e potenciômetro. Cada tutorial contém informações detalhadas e instruções passo a passo sobre pinagem do hardware, princípio de funcionamento, ligação ao ESP32, código ESP32... Saiba mais sobre eles nos links a seguir:
Observe que este tutorial usa um buzzer de 3-5V, mas você pode adaptá-lo para um buzzer de 12v. Você pode aprender mais no Tutorial ESP32 - Buzzer
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 - Som Simples - Limite Analógico
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 cole-o na Arduino IDE.
- Compile e carregue o código na placa ESP32 clicando no botão Upload na Arduino IDE
- Gire o potenciômetro
- Ouça o som do buzzer piezo
Explicação do Código Linha por Linha
O código ESP32 acima contém explicação linha por linha. Leia os comentários no código!
Código ESP32 - Som Simples - Limite de Tensão
O valor analógico lido do potenciômetro é convertido em tensão e, em seguida, a tensão é comparada com um limite de tensão. Se ultrapassar o limite, o buzzer piezo é acionado
Código ESP32 - Melodia - Limite de Tensão
Passos Rápidos
- Copie o código acima e cole-o na Arduino IDE.
- Crie o arquivo pitches.h na Arduino IDE assim:
- Clique no botão logo abaixo do ícone do Serial Monitor e escolha New Tab, ou use as teclas Ctrl+Shift+N.
- Dê ao arquivo o nome pitches.h e clique no botão OK
- Copie o código abaixo e cole-o no arquivo pitches.h criado.
- Compile e carregue o código na placa ESP32 clicando no botão Upload na Arduino IDE
- Gire o potenciômetro
- Ouça a melodia do buzzer piezo
- O ADC do ESP32 não é perfeitamente preciso e pode precisar de calibração para obter resultados corretos. Cada placa ESP32 pode ser um pouco diferente, então você precisa calibrar o ADC para cada placa individualmente.
- A calibração pode ser difícil, especialmente para iniciantes, e nem sempre pode fornecer os resultados exatos que você deseja.


Explicação do Código Linha por Linha
O código ESP32 acima contém explicação linha por linha. Leia os comentários no código!
※ Nota:
Este tutorial usa a função analogRead() para ler valores de um ADC (Conversor Analógico-Digital) conectado a um potenciômetro. O ADC do ESP32 é bom para projetos que NÃO precisam de alta precisão. No entanto, para projetos que precisam de medições precisas, observe:
Para projetos que precisam de alta precisão, considere usar um ADC externo (por exemplo, ADS1115) com o ESP32 ou usar um Arduino, que tem um ADC mais confiável. Se ainda quiser calibrar o ADC do ESP32, consulte o ESP32 ADC Calibration Driver