2025-06-25
DFPlayer Mini
El DFPlayer Mini es un pequeño reproductor de archivos MP3 que podemos usar en nuestros proyectos con Arduino dotándolos de la capacidad de reproducir sonidos.
Este módulo se comunica con Arduino (o otro microcontrolador) usando el puerto serie, mediante un protocolo propio. Además contiene un lector de tarjetas de SD, unos pines para colocar un altavoz externo de menos de 0.5W/8Ω.
También puede funcionar de manera autónoma incorporando dos puertos analógicos para colocar unos botones que nos dan la funcionalidad completa del reproductor.
Pinout
El módulo tiene una total de 16 pines que se describen a continuación:
| PIN | DESCRIPTCION | NOTA |
| VCC | Alimentación | 3.2~5.0VDC, típica 4.2VDC |
| RX | UART Entrada serie. | |
| TX | UART Salida serie. | |
| DAC_R | Canal derecho audio. | Para micrófonos y amplificador. |
| DAC_L | Canal izquierdo audio. | Para micrófonos y amplificador. |
| SPK2 | Altavoz(-) | Altavoz menos de 3W |
| GND | ||
| SPK1 | Altavoz(+). | Altavoz de menos de 3W. |
| IO1 | Disparo 1 | Pulsación corta tocar la canción anterior, larga para bajar volumen. |
| GND | ||
| IO2 | Disparo 2 | Pulsación corta tocar la siguiente canción, larga para subir volumen. |
| ADKEY1 | Puerto AD 1 | Primer segmento |
| ADKEY2 | Puerto AD 2 | Quinto segmento |
| USB+ | USB+ DP | Puerto USB |
| USB- | USB- DM | Puerto USB |
| BUSY | Estado | LOW: sonando canción; HIGH: parado |
Conexión.
La conexión realmente es simple: alimentación, altavoz y comunicación. La alimentación es de 5V, y la podemos sacar de Arduino directamente.
Hay que tener en cuenta la potencia del altavoz y el volumen de salida, ya que el consumo será elevado y el Arduino no será capaz de alimentarlo.
La comunicación se hace mediante puerto serie, así que llevaremos la salida TX de Arduino a la entrada RX del reproductor. La salida RX de Arduino irá a la entrada RX. Conviene usar unas resistencias de 1k para limitar la posible corriente que suministre el Arduino a través de esos pines.
El módulo tiene dos pines SPK_1 y SPK_2 que nos permite conectar un pequeño altavoz de 0.5W/8Ω. Si queremos tener sonido estéreo debemos recurrir a un amplificador externo y usar los pines DAC_L y DAC_R.
Los pines ADKEYx permiten conectar hasta 20 botones que nos permiten acceder a las funciones de reproducción, volumen, etc. del módulo (En el datasheet viene la conexión de estos.
Librería
Existen varias librerías, pero la única que he conseguido hacer funcionar bien es la librería de DFRobot.
Esta librería encapsula un objeto DFRobotDFPlayerMini la cual se inicializa con el método begin, pasando como parámetro un objeto Serial o SoftwareSerial que previamente habremos iniciado con una velocidad de 9600 baudios.
Aquí dejo los métodos más comunes, aunque lo mas recomendable es echarle un vistazo al ejemplo que viene con la librería.
| begin(Serial, ack) | Inicializa el módulo. |
| next() | Comienza a sonar la siguiente canción. |
| previous() | Comienza a sonar la canción anterior. |
| play(n) | Empieza a sonar la canción número n. |
| volumeUp() | Sube el volumen. |
| volumeDown() | Baja el volumen. |
| volume(v) | Pone el volumen al nivel "v". (Desde 0 a 30). |
| EQ(eq) | Ecualizador (0..5). |
| loop(t) | Suena la canción t en modo loop. |
| pause() | Pausa la reproducción. |
| start() | Inicia la reproducción. |
| stop() | Para la reproducción. |