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 41/55 - Reprodutor MP3 usando cartão Micro SD | Kit de Aprendizagem IoT ESP32 da SunFounder
Neste tutorial, criaremos um reprodutor de MP3 usando o microcontrolador ESP32 e um cartão micro SD. O ESP32 irá ler arquivos de áudio armazenados no cartão micro SD e reproduzirá o som através de um amplificador de áudio e alto-falante. Este projeto combina vários componentes, incluindo o ESP32, um amplificador de áudio e um cartão micro SD, para permitir que você reproduza música de maneira simples.
Ao longo do processo, discutiremos a fiação necessária, a codificação e como solucionar problemas comuns. Para uma orientação mais visual, não deixe de conferir o vídeo associado (no vídeo em :00).
Hardware Explicado
Os principais componentes utilizados neste projeto incluem o microcontrolador ESP32, um cartão micro SD, um amplificador de áudio e um alto-falante. O ESP32 é um microcontrolador poderoso com capacidades de Wi-Fi e Bluetooth integradas, tornando-o ideal para projetos de IoT. Ele lidará com o processamento e controle da reprodução de áudio.
O cartão micro SD é usado para armazenar arquivos de áudio no formato MP3. Ele se conecta ao ESP32 e permite que o programa leia os arquivos e envie dados de áudio para o amplificador. O amplificador de áudio recebe o sinal digital do ESP32 e o amplifica para acionar o alto-falante, permitindo que o som seja ouvido.
Detalhes da Ficha Técnica
Fabricante
SunFounder
Número da peça
ESP32
Tensão lógica/IO
3,3 V
Tensão de alimentação
5 V
Corrente de saída (por canal)
2 A máx
Corrente de pico (por canal)
3 A máx
Orientação sobre a frequência PWM
até 40 kHz
Limiares de lógica de entrada
0,3 x VCC (baixo), 0,7 x VCC (alto)
Queda de tensão / RDS(on)saturação
0,15 V
Limites térmicos
85 °C
Pacote
WROOM-32
Notas / variantes
Compatível com várias bibliotecas de áudio
Certifique-se de que o cartão micro SD esteja formatado como FAT32.
Use um resistor para conectar o amplificador de áudio para evitar distorção.
Mantenha as conexões de alimentação estáveis para evitar interrupções.
Verifique a fiação para conexões soltas antes de ligar o sistema.
Monitore a saída serial para informações de depuração.
Use alto-falantes de baixa impedância para melhor qualidade de som.
Para melhor desempenho, certifique-se de que o ESP32 não esteja sobrecarregado com tarefas enquanto reproduz áudio.
SD_MMCé utilizado para acesso a micro SD, eAudioOutputI2Sé utilizado para saída de áudio.
Para conectar os componentes, comece conectando a fonte de alimentação. Conecte os 5 V do ESP32 ao pino VCC do amplificador de áudio. Em seguida, conecte o pino de terra do ESP32 ao pino de terra do amplificador. O pino de saída de áudio do ESP32, geralmenteGPIO25, deve ser conectado ao pino de entrada do amplificador através de um resistor de 10 kΩ.
Para o alto-falante, conecte-o aos pinos de saída do amplificador de áudio. Observe que o alto-falante não possui polaridade, portanto você pode conectá-lo de qualquer maneira. Insira o cartão micro SD no slot designado da ESP32. Certifique-se de verificar todas as conexões antes de ligar o sistema.
Exemplos de Código e Tutorial
No código fornecido, começamos incluindo as bibliotecas necessárias para reprodução de áudio e acesso ao cartão SD. Os principais identificadores sãomp3,file, eout, que representam, respectivamente, o gerador de MP3, a fonte do arquivo de áudio e a saída de áudio.
Aqui, declaramos ponteiros para o gerador de MP3 e a fonte do arquivo de áudio. Nosetup()função, inicializamos a comunicação serial e o cartão SD.
void setup() {
Serial.begin(115200);
if (!SD_MMC.begin()) {
Serial.println("SD card mount failed!");
}
file = new AudioFileSourceSD_MMC("/To Alice.mp3");
out = new AudioOutputI2S(0, 1);
}
Neste trecho, verificamos se o cartão SD está montado com sucesso. Se falhar, uma mensagem de erro é impressa. Em seguida, configuramos o arquivo MP3 e o modo de saída de áudio.
void loop() {
if (mp3->isRunning()) {
if (!mp3->loop()) mp3->stop();
} else {
Serial.println("MP3 done");
delay(1000);
}
}
Este loop verifica se o arquivo MP3 ainda está sendo reproduzido. Se não estiver, ele imprime uma mensagem indicando que a reprodução está completa. O código completo será carregado abaixo do artigo para referência adicional.
Demonstração / O que Esperar
Uma vez que tudo esteja conectado e o código carregado, você deve ouvir o áudio sendo reproduzido pelo alto-falante quando o cartão micro SD for inserido. Certifique-se de reiniciar o ESP32 após inserir o cartão. Se o áudio não tocar, verifique a fiação e garanta que o arquivo de áudio esteja nomeado corretamente no código (no vídeo às 05:00).
Os erros comuns incluem não formatar o cartão micro SD corretamente ou usar formatos de arquivo de áudio não suportados. Sempre assegure-se de que os arquivos estão no formato MP3 e colocados no diretório raiz ou na pasta especificada, conforme necessário.
Marcação de Vídeo
00:00 Início
2:19 Introdução ao projeto
4:27 Página de documentos
5:32 Fiação para amplificador de áudio
8:00 formatando cartão microSD para ESP32
10:16 Biblioteca e Código
15:16 Selecionando a placa ESP32 e a porta COM no Arduino IDE
16:58 Tocando música usando ESP32 do cartão Micro SD
19:14 Segundo demo usando bateria 18650
Imagens
speaker_pic
audio_module
ESP32-40-micro-sd-card-1
esp32-41-play-music-wriing
speaker_pic
audio_module
ESP32-40-micro-sd-card-1
esp32-41-play-music-wriing
842-ESP32 Tutorial 41/55- Arduino code for playing music from microSD card