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.

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
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!...

avatar
1000
Sort by:   newest | oldest | most voted
Henty Amenty
Guest

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.

luisllamas
Guest

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.

Henty Amenty
Guest

Gracias.

luisllamas
Guest

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.

luisllamas
Guest

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)

lucero
Guest

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

Andres
Guest

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

wpDiscuz