Reproducir MP3 en Arduino con DFPlayer Mini


¿Qué es un reproductor DFPlayer Mini?

El DFPlayer Mini es un reproductor de audio de bajo coste y pequeño que podemos conectar a un procesador como Arduino para reproducir audio en formato MP3.

Arduino no tiene potencia potente para reproducir un archivo comprimido como un MP3. Por mucho que lo intentéis, o incluso si empleáis un procesador más potente, no es función de un autómata realizar estas tareas. Es mucho mejor delegar en un subprocesador específico.

Existen distintas opciones para reproducir ficheros MP3 desde Arduino, como diversos shields y placas más o menos caras. Entre las distintas opciones disponibles los módulos DFPlayer Mini han adquirido una gran popularidad por su bajo precio y grandes características.

En realidad DFPlayer Mini es un reproductor de audio completo, capaz de reproducir formatos de fichero MP3, WMA y WAV.

Anuncio:

Dispone de un lector micro SD compatible con FAT16 y FAT32, con una capacidad máxima de 32GB. Soporta hasta 100 carpetas y puede acceder hasta 255 canciones.

El DFPlayer Mini proporciona velocidades de muestreo de 8, 11.025 12 16 22.05 24 32 44.1 y 48 kHz, y salida con DAC de 24 bits. Dispone de 30 niveles de volumen ajustable, ecualizador de 6 niveles, y una relación señal ruido (SNR) de 85dB

EL DFPlayer Mini recibe comandos desde Arduino por puerto serie. Dispone de funciones para reproducir, detener, pausar, avanzar, retroceder entre canciones. La salida se realiza directamente al altavoz, a través de los pines correspondientes.

Precio

El reproductor de MP3 DFPlayer Mini es un dispositivo muy barato, podemos encontrarlo por 1.20€ buscando en vendedores internacionales de eBay o AliExpress.

Esquema de conexión

La conexión con el reproductor MP3 DFPlayer Mini es muy sencilla ya que la comunicación con el módulo se realiza a través del puerto serie.

Simplemente con alimentamos el reproductor MP3 a una fuente de alimentación externa de 5V, poniendo el Gnd en común con Arduino. Por otro lado, conectamos los pins RX y TX del puerto serie a Arduino. Por último, conectamos el altavoz al DFPlayer Mini a los pines Spk_1 y Spk_2.

La conexión, vista desde Arduino, sería la siguiente

Ejemplos de código

Para manejar el DFPlayer Mini necesitaremos la librería DFPlayer_Mini_Mp3 disponible en este enlace.

La librería proporciona ejemplos de código, que resulta aconsejable revisar. Los siguientes ejemplos son modificaciones a partir de los disponibles en la librería.

Si te ha gustado esta entrada y quieres leer más sobre Arduino puedes consultar la sección
tutoriales de Arduino

Anuncio:

Previous Sensor de corriente eléctrica no invasivo con Arduino y SCT-013
Next Conectar Arduino a Internet o LAN con Shield Ethernet W5100

¡Deja un comentario!...

1000
newest oldest

Hola, muchas gracias por tus artículos. Estoy haciendo un proyecto con Arduino mp3 y necesito un sonido más potente que el que da dfplayer mini. ¿Es posible combinar el dfplayer con un amplificador 5Wx2 PAM8406? Gracias otra vez.

Si, perfectamente. De hecho hacen una pareja genial.
Estuve pensando en hacer una entrada, pero al final los PAM son sólo un amplificador más (populares, baratos, pero hay muchos más) y son llegar y conectar (no se requiere código ni nada). Así que deseche la idea.
Pero encajan muy bien juntos.

Gracias.

Puedes reproducir una canción específica avanzando y retrocediendo (es decir, si sabes el número de la canción), pero no por el nombre de la canción.
También tiene funciones para reproducir por “nombre de archivo”, pero requiere que los nombres de los ficheros empiecen por 4 digitos (0000 a 9999), con lo que en definitiva estás en las mismas.

Lo más fácil sería controlar el DFplayer con un Arduino, y controlar Arduino con un módulo como el HC-05 o HC-06 (https://www.luisllamas.es/conectar-arduino-por-bluetooth-con-los-modulos-hc-05-o-hc-06/)
En teoría también debería funcionar sin Arduino en medio, ya que el DFplayer se controla por puerto serie. Pero en ese caso el emisor va a tener que enviar la trama que necesita, y te va a tocar leer el Datasheet y pasarlas canutas (vamos, hacer lo que hace la librería por ti mismo)

una duda es posible conectar un micrófono a al modulo para procesar la voz o solo es con archivos pre-gravados? saludos

quiero hacer una pregunta un poco tonta, como se hace para conectar la salida de sonido por los auxiliar derecho izquierdo, es que no me da, de donde debo sacar la tierra

La tierra se saca de tierra (masa) ground (GND) generalmente el negativo de alimentación.

Hola, sería posible conectar dos dfplayer a un arduino Mega?
Gracias!

Muy buen producto .una consulta para conectarlo al arduino y que este emita el sonido pero en vez de un pulsador lo haga mediante un sensor de movimiento PIR como seria el código de programación saludos gracias por el aporte que haces .

estoy en busca de ayuda. intento hacer un instrumento de percusión electrónico. un sensor detecta un golpe y a través de un arduino uno le dice al DFPlayer que reproduzca un sonido, solo que tengo el problema de que cuando doy el golpe, se tarda una pequeña fracción de segundo en reproducir el archivo de audio. ¿podrá solucionarse esto? también necesito poder indicarle que reproduzca otro o el mismo audio mientras una reproducción esta en proceso y no tener que esperar a que termine para poder reproducir de nuevo. ¿será esto posible? o incluso reproducir dos archivos simultáneamente si pudieras… Read more »