Algunas partes de este sitio web aún no están disponibles en su idioma. Estamos trabajando para solucionar esto y nos disculpamos por cualquier inconveniente.
Tutorial ESP32 41/55 - Reproductor MP3 usando tarjeta Micro SD | Kit de aprendizaje de IoT ESP32 de SunFounder
En este tutorial, crearemos un reproductor de MP3 utilizando el microcontrolador ESP32 y una tarjeta micro SD. El ESP32 leerá archivos de audio almacenados en la tarjeta micro SD y reproducirá el sonido a través de un amplificador de audio y un altavoz. Este proyecto combina varios componentes, incluyendo el ESP32, un amplificador de audio y una tarjeta micro SD, para que puedas reproducir música de manera sencilla.
A lo largo del proceso, discutiremos el cableado necesario, la codificación y cómo solucionar problemas comunes. Para más orientación visual, asegúrate de revisar el video asociado (en el video a las 00:00).
Hardware Explicado
Los componentes principales utilizados en este proyecto incluyen el microcontrolador ESP32, una tarjeta micro SD, un amplificador de audio y un altavoz. El ESP32 es un microcontrolador potente con capacidades de Wi-Fi y Bluetooth integradas, lo que lo hace ideal para proyectos de IoT. Se encargará del procesamiento y control de la reproducción de audio.
La tarjeta micro SD se utiliza para almacenar archivos de audio en formato MP3. Se conecta al ESP32 y permite que el programa lea los archivos y envíe datos de audio al amplificador. El amplificador de audio toma la señal digital del ESP32 y la amplifica para activar el altavoz, permitiendo que se escuche el sonido.
Detalles de la hoja de datos
Fabricante
SunFounder
Número de parte
ESP32
Voltaje de lógica/entrada-salida
3.3 V
Tensión de suministro
5 V
Corriente de salida (por canal)
2 A máx
Corriente de pico (por canal)
3 A máx
Orientación sobre la frecuencia PWM
hasta 40 kHz
Umbrales de lógica de entrada
0.3 x VCC (bajo), 0.7 x VCC (alto)
Caída de tensión / RDS(on)/ saturación
0.15 V
Límites térmicos
85 °C
Paquete
WROOM-32
Notas / variantes
Compatible con varias bibliotecas de audio
Asegúrese de que la tarjeta micro SD esté formateada en FAT32.
Utiliza una resistencia para conectar el amplificador de audio y evitar distorsiones.
Mantenga las conexiones de suministro de energía estables para evitar interrupciones.
Verifique el cableado en busca de conexiones sueltas antes de encender el sistema.
Monitorea la salida serie para obtener información de depuración.
Utiliza altavoces de baja impedancia para una mejor calidad de sonido.
Para un mejor rendimiento, asegúrate de que el ESP32 no esté sobrecargado de tareas mientras reproduce audio.
SD_MMCse utiliza para el acceso a micro SD, yAudioOutputI2Sse utiliza para la salida de audio.
Para conectar los componentes, comienza conectando la fuente de alimentación. Conecta el 5 V del ESP32 al pin VCC del amplificador de audio. A continuación, conecta el pin de tierra del ESP32 al pin de tierra del amplificador. El pin de salida de audio del ESP32, normalmenteGPIO25debe estar conectado al pin de entrada del amplificador a través de una resistencia de 10 kΩ.
Para el altavoz, conéctalo a los pines de salida del amplificador de audio. Ten en cuenta que el altavoz no tiene polaridad, por lo que puedes conectarlo de cualquier manera. Inserta la tarjeta micro SD en la ranura designada del ESP32. Asegúrate de revisar todas las conexiones antes de encender el sistema.
Ejemplos de código y guía paso a paso
En el código proporcionado, comenzamos incluyendo las bibliotecas necesarias para la reproducción de audio y el acceso a la tarjeta SD. Los identificadores principales sonmp3,file, yout, que representan el generador de MP3, la fuente del archivo de audio y la salida de audio, respectivamente.
Aquí, declaramos punteros para el generador de MP3 y la fuente del archivo de audio. En elsetup()función, inicializamos la comunicación serie y la tarjeta 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);
}
En este extracto, verificamos si la tarjeta SD está montada correctamente. Si falla, se imprime un mensaje de error. Luego configuramos el archivo MP3 y el modo de salida de audio.
void loop() {
if (mp3->isRunning()) {
if (!mp3->loop()) mp3->stop();
} else {
Serial.println("MP3 done");
delay(1000);
}
}
Este bucle verifica si el archivo MP3 sigue reproduciéndose. Si no lo está, imprime un mensaje indicando que la reproducción ha terminado. El código completo se cargará debajo del artículo para más referencia.
Demostración / Qué Esperar
Una vez que todo esté cableado y el código esté cargado, deberías escuchar el audio a través del altavoz cuando se inserte la tarjeta micro SD. Asegúrate de reiniciar el ESP32 después de insertar la tarjeta. Si el audio no se reproduce, verifica el cableado y asegúrate de que el archivo de audio esté nombrado correctamente en el código (en el video a las 05:00).
Las trampas comunes incluyen no formatear correctamente la tarjeta micro SD o usar formatos de archivo de audio no compatibles. Siempre asegúrate de que los archivos estén en formato MP3 y colocados en el directorio raíz o en la carpeta especificada según sea necesario.
Marcas de tiempo del video
00:00 Comenzar
2:19 Introducción al proyecto
4:27 Página de documentos
5:32 Cableado para amplificador de audio
8:00 formateando la tarjeta microSD para ESP32
10:16 Biblioteca y Código
15:16 Seleccionando la placa ESP32 y el puerto COM en Arduino IDE
16:58 Reproduciendo canción usando ESP32 desde tarjeta Micro SD
19:14 Segunda demostración usando batería 18650
Imágenes
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