Página principal

MP3
DFPLayer Mini
Arduino



Reproducir un fichero de MP3 mediante arduino  es imposible, no tiene suficiente potencia de cálculo.
Reproducir ficheros WAV en arduino es posible, pero haciendo ciertas trampas, pero se puede a tasas de muestreo bajas.
Para poder reproducir ficheros mp3 usamos un módulo llamado DFPLayer Mini , cuesta menos de 3€ y tiene varias interfaces para programarlo, Serie, USB, mediante botones.
Dispone de un zócalo para lectores de tarjetas mini SD donde se colocan los ficheros mp3 a reproducir.
Tiene salida stereo, pero además se puede colocar un pequeño altavoz para oír directamente sonidos sin necesitar amplificador, genera hasta 3W de potencia.

Si queremos hacer una prueba rápida del DFPLayer Mini debemos hacer este pequeño montaje.

Recordar que el módulo en reposo consume 20mA , y reproduciendo puede superar los 100mA, debemos tener cuidado.

Para controlar el DFPLayer Mini desde el arduino existe una librería bastante buena  DFRobotDFPlayerMini-master.zip , se puede bajar desde: https://github.com/DFRobot/DFRobotDFPlayerMini .
Estuve haciendo pruebas con dicha librería y funcionaba bastante bien, pero no trabajaba en versiones antigua de arduino.
Como me gusta investigar, cree mis propias rutinas para controlar el DFPLayer Mini, y realicé un par de programas para probarlas.
La conexión del arduino al módulo DFPLayer Mini es como se ve en la imagen.

La resistencia de 22 ohmios que se coloca en serie con el altavoz para limitar el consumo.
La resistencia de 1K se coloca para adaptar los niveles, el arduino funciona a 5V y el módulo internamente a 3.3V .
La patilla 16 (Busy) del modulo la conectamos a la entrada D2 del arduino, nos indica si el módulo está reproduciendo algún fichero.





El primer programa escucha el puerto serie del arduino que se encuentra conectado al PC. Interpreta las ordenes el arduino y las manda al módulo.
Las ordenes posibles son:

NEXT , PREV , PLAYN , VOL+ , VOL- , VOLUMEN , EQA , MODE , SOURCE , STANDBY , NORMAL , RESET , PLAY , PAUSE , FOLDER , VOLUMEN , REPEAT , HELP

Si tecleamos en la consola HELP nos visualizar las posibles ordenes, da igual mayúsculas que minúsculas.

Ejemplos:
playn 3           -Nos reproduce el tercer fichero.
folder  1,2       -Nos reproduce la segunda canción del primer directorio.
pause             -Para la reprodución
play              -Continua la reproducción.
volumen 20        -Pone el volumen a 20  volumen entre 0 y 31.


Comandos del DFPLayer Mini

En las rutinas que he realizado no activo el modo respuesta, por lo que no leo las repuesta del DFPLayer Mini.


El segundo programa es un ejemplo de reproducir unas serie de ficheros mp3, espera a que termine un fichero para empezar el siguiente.

void loop()
{
  playw("folder 1,1");
  playw("folder 1,2");
  playw("folder 1,3");
  playw("playn 13");
}


Para la estrucura de ficheros y directorios se debe realizar de esta forma.

Podemos utilizar nombres en  ficheros y directorios, pero su reprodución y selección de ficheros es un tanto complicada.


PROGRAMA1

PROGRAMA2

En próximas entregas pienso realizar un reloj que toque las horas mediante el reproductor de mp3.

Saludos.
JUAN GALAZ


Bibliografía:
https://github.com/DFRobot/DFRobotDFPlayerMini .
https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299
https://www.luisllamas.es/arduino-mp3-dfplayer-mini/
http://stonez56.blogspot.com.es/2015/03/arduino-dfplayer-mini-mp3-module.html