<< Reproductor Mp3 con Arduino I (Circuito)

La estructura de la SD

Es este post voy a intentar explicar un poco el código de nuestra 'Gramola' con corazón de Arduino.
El principal problema que encontré para realizar este proyecto, fue la limitación de la librería SD, con su FAT  reducida que sólo permitía la los nombres en formato 8.3.
La solución fue crear un pequeño catálogo en un archivo de texto de donde poder leer las entradas.



La estructura de directorios en la SD tiene el siguiente formato:
raiz
 +-artistas.txt
 +-[ARTIST01]
 |   +-album.txt
 |   +-[ALBUM01]
 |   |   +-track.txt
 |   |   +-track001.mp3
 |   |   +-track002.mp3
 |   |   .....
 |   |   +-track0nn.mp3
 |   +-[ALBUM02]
 |   .......
 |   +-[ALBUMnn]
 +-[ARTIST02]
 .....
 +-[ARTISTnn]
Es decir hay tres niveles : artista, álbum y  pista. Cada nivel tiene un fichero de texto con las entradas del catálogo (una linea de texto por cada artista, álbum  o canción).
Los nombres de las carpetas y los archivos deben ser tal como están en el esquema (siempre podéis cambiar el código).
Es un poco engorroso para crear la tarjeta, pero.... vale la pena.Yo he utilizado un programa que facilita mucho la tarea MP3Tag, que permite exportar a texto las pistas de un directorio y renombrar los mp3.

El código

Consta de una librería 'AGMp3' que maneja el chip y la SD , y el sketch del reproductor. Podéis descargarlos de aquí


La librería se encarga de la inicialización del chip,el bus SPI y  la SD. Tiene métodos para escribir/leer en los registros del chip, y para reproducir un mp3.
En cuanto al sketch comienza leyendo el fichero 'artistas.txt' que se encuentra en la raiz de la SD y luego a través del encoder y los botones 'navega' por la estructura de directorios. En cada nivel lee el fichero de texto correspondiente para cargar la lista del catálogo. En el último nivel reproduce el mp3 seleccionado.
Una vez se esta reproduciendo, el encoder se encarga de variar el volumen, que se muestra en el LCD con un valor de 0 a 10. El botón adelante permite pasar a la siguiente canción durante la reproducción.
Para mostrar el progreso de la canción, he definido unos caracteres sobre el LCD.

Aquí os dejo unas cuantas fotos del proceso de construcción:



Espero que os guste ! ....

 << Reproductor Mp3 con Arduino I (Circuito)

Si te ha gustado, recuerda compartirlo en tu red social favorita. Gracias

4 comments

20 de diciembre de 2012, 12:13

Sencillamente impresionante...mis felicitaciones en breve te pedire ayuda ya que quuiero manejar un reproductor mp3.

9 de diciembre de 2013, 2:41

Gran tutorial y gran acabado, gracias por el aporte

9 de diciembre de 2013, 13:59

@Francisco Plaza Freire
Gracias, me alegro de que te haya gustado.

17 de diciembre de 2013, 17:21

Excelente, me gustaría saber si hay la posibilidad de que al oprimir un botón active un audio en especifico, por si quiero acceder a canciones de una forma rápida y sin tener que buscarlas.
Felicidades por el proyecto.

Publicar un comentario en la entrada

Buscar en el blog

Cargando...

¡Lo más visto!

English Version

English Version
Arduino is Cool!!

También en Facebook