Algumas partes deste site ainda não estão disponíveis no seu idioma. Estamos trabalhando para corrigir isso e pedimos desculpas por qualquer inconveniente.
Tutorial ESP32 14/55 - Reproduzindo Notas Musicais Personalizadas Usando o Kit de Aprendizado IoT SunFounder ESP32
Neste tutorial, aprenderemos como usar o microcontrolador SunFounder ESP32 para tocar notas musicais usando um buzzer passivo e um transistor. O projeto tem como objetivo demonstrar como gerar som com frequências específicas controlando o buzzer através dos pinos GPIO do ESP32.
Vamos conectar um buzzer passivo ao ESP32, o que nos permitirá produzir diferentes notas musicais com base na frequência que fornecemos. Esta configuração inclui o uso de um transistor para ligar e desligar o buzzer em altas velocidades, criando ondas sonoras que podemos ouvir. Para mais esclarecimentos sobre o projeto, não deixe de conferir o vídeo (no vídeo aos 00:30).
ESP32-13-esquema-do-buzzer
Hardware Explicado
Os principais componentes utilizados neste projeto incluem o microcontrolador SunFounder ESP32, um botão piezoelétrico passivo e um transistor NPN (2N8050). O ESP32 é uma placa de desenvolvimento poderosa com capacidades integradas de Wi-Fi e Bluetooth, tornando-a versátil para várias aplicações de IoT. Neste caso, ele gerará sinais para controlar o buzzer.
O botão passivo opera gerando som quando uma voltagem alternada é aplicada a ele. Ao contrário dos botões ativos, que têm um oscilador embutido, os botões passivos requerem um sinal externo para produzir som. O transistor atua como um interruptor, permitindo que o ESP32 controle o botão sem alimentá-lo diretamente, garantindo que a classificação de corrente do microcontrolador não seja excedida.
S87050_transistor
Detalhes da Ficha Técnica
Fabricante
SunFounder
Número da peça
Buzzer Passivo
Tensão de Operação
3,3 V - 5 V
Frequência Resonante
2 kHz - 4 kHz
Consumo Atual
≤ 30 mA
Nível de Pressão Sonora
≥ 70 dB
Pacote
Furo por onde passar
Notas / variantes
None
Garanta a polaridade correta ao conectar o buzzer.
Use um resistor limitador de corrente para a base do transistor.
Conecte o buzzer a uma fonte de alimentação compatível com sua classificação de tensão.
Cuidado para não exceder a classificação máxima de corrente do transistor.
Mantenha a fiação organizada para evitar curto-circuitos.
Teste o circuito antes de carregar o código para evitar danos aos componentes.
Use uma placa de ensaio para conexões fáceis de componentes.
Certifique-se de debouncer entradas se estiver usando botões.
Considere adicionar um dissipador de calor para o transistor se utilizado em alta corrente.
Instruções de fiação
ESP32-13-buzzer-wriing
Para conectar os componentes, comece ligando o terminal positivo do buzzer passivo ao pino de 3,3V no ESP32. O terminal negativo do buzzer deve ser conectado ao coletor do transistor NPN. O pino do emissor do transistor deve ser ligado ao terra (GND) do ESP32.
Em seguida, conecte um resistor de 1 kΩ da base do transistor ao pino GPIO 14 do ESP32. Este resistor limita a corrente que flui para a base do transistor. Por fim, certifique-se de que todas as conexões de terra estejam interligadas para fornecer uma referência comum para o circuito.
Exemplos de Código e Tutorial
const int buzzerPin = 14; // the buzzer pin
void setup()
{
pinMode(buzzerPin, OUTPUT); // Set as output
}
No código, definimos uma variável constante.buzzerPinque está configurado para 14, indicando o pino GPIO conectado à base do transistor. Nosetup()função, configuramos este pino como uma SAÍDA, permitindo que o ESP32 controle o buzzer.
void loop()
{
for (int i = 0; i < 50; i++) // Loop 50 times and play a short tone each time
{
digitalWrite(buzzerPin, HIGH); // Set to HIGH to make the buzzer sound
delay(3); // Wait for 3 milliseconds
digitalWrite(buzzerPin, LOW); // LOW to turn off the buzzer
delay(3); //
}
delay(1000); // Wait for 1s before starting the next loop
}
Oloop()A função contém um loop que é executado 50 vezes. Em cada iteração, o alarme é ligado e desligado rapidamente, produzindo um tom. Os atrasos de 3 milissegundos controlam quanto tempo o alarme fica ativado e desativado, enquanto um atraso de 1 segundo no final do loop proporciona uma pausa antes de repetir.
Demonstração / O que Esperar
Uma vez que a fiação esteja completa e o código esteja carregado, você deve ouvir uma série de tons curtos produzidos pelo buzzer. Se o buzzer não estiver emitindo som, verifique suas conexões, especialmente a orientação do transistor e o valor do resistor. Certifique-se de que o pino correto esteja sendo usado no código e que o ESP32 esteja alimentado corretamente.
Durante a demonstração, se você enfrentar problemas, pode ser devido a fiação incorreta ou ao uso do pino errado para o buzzer. Verifique a fiação em relação às instruções e certifique-se de que a fonte de energia é adequada (no vídeo às 08:15).
Marcas de Tempo do Vídeo
00:00 Início
1:52 Introdução ao projeto
4:11 Fiação Explicada
8:11 Selecionando a placa ESP32 e a porta COM no Arduino IDE