Tutorial ESP32 41/55 - Reprodutor MP3 usando cartão Micro SD | Kit de Aprendizagem IoT ESP32 da SunFounder

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

FabricanteSunFounder
Número da peçaESP32
Tensão lógica/IO3,3 V
Tensão de alimentação5 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 PWMaté 40 kHz
Limiares de lógica de entrada0,3 x VCC (baixo), 0,7 x VCC (alto)
Queda de tensão / RDS(on)saturação0,15 V
Limites térmicos85 °C
PacoteWROOM-32
Notas / variantesCompatí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.

Instruções de Fiação

ESP32-40-micro-sd-card-1
esp32-41-play-music-wriing

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.

AudioGeneratorMP3 *mp3;
AudioFileSourceSD_MMC *file;
AudioOutputI2S *out;

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
speaker_pic
audio_module
audio_module
ESP32-40-micro-sd-card-1
ESP32-40-micro-sd-card-1
esp32-41-play-music-wriing
esp32-41-play-music-wriing
842-ESP32 Tutorial 41/55- Arduino code for playing music from microSD card
Idioma: C++
Copiado!

Arquivos📁

Nenhum arquivo disponível.