Después de algún tiempo trabajando y peleando, os presento este nuevo proyecto Arduino: Un completo reproductor de MP3 basado en Arduino.
Como podéis observar en la foto, la idea era construir un reproductor independiente, al estilo de las antiguas radios o 'cassetes', en plena era de los Iphones ....
El reproductor utiliza un pequeño módulo basado en el chip VS1002d de VLSI (ya descatalogado, pero que tenía por un cajón). El módulo en cuestión lo compré en Futurlec . Actualmente se pueden conseguir módulos similares en ebay por algo más de 9€ , aunque el chip es el VS1003 o VS1053. También podéis utilizar una MP3 shield , pero bastante más cara (esta shield ya incluye una ranura SD).
Por lo que he podido ver los tres chips son bastante compatibles en cuanto a la programación, y de hecho casi toda la inicialización la he sacado de la librería para la MP3 Shield de SparkFun ;-)
Bueno el proyecto consta de :
- Arduino (como no)
- Módulo Mp3 basado en chip VS 1XXX
- Modulo SD (también se puede conseguir en ebay)
- LCD 4x20 caracteres
- Pequeño amplificador
- 2 altavoces.
Tanto el módulo SD como el MP3 se conectan al Arduino mediante el bus SPI. El LCD lo he conectado en modo 4 bits para ahorrar pines del Arduino.
Aquí os muestro una tabla con las distintas conexiones entre el Arduino y los distintos elementos. Entre paréntesis, la denominación de las distintas conexiones en los módulos (y la patilla correspondiente en el caso de la SD). Como podéis ver, he tenido que utilizar las entradas analógicas como salidas digitales para controlar el LCD.
Aquí os muestro una tabla con las distintas conexiones entre el Arduino y los distintos elementos. Entre paréntesis, la denominación de las distintas conexiones en los módulos (y la patilla correspondiente en el caso de la SD). Como podéis ver, he tenido que utilizar las entradas analógicas como salidas digitales para controlar el LCD.
PIN Arduino | Módulo MP3 | Tarjeta SD | LCD | Botones |
0 | -- | -- | -- | Adelante |
1 | -- | -- | -- | Atrás |
2 | DREQ | -- | -- | -- |
3 | -- | -- | RS | -- |
4 | -- | -- | ENABLE | -- |
5 | (RESET) | -- | -- | -- |
6 | CS (XCS) | -- | -- | -- |
7 | DCS (BSYNC) | -- | -- | -- |
8 | -- | -- | -- | Encoder A |
9 | -- | CS (CD/DAT3-1) | -- | -- |
10 | -- | -- | -- | Encoder B |
11 | MOSI (SI) | MOSI (CMD-2) | -- | -- |
12 | MISO (SO) | MISO (DATO-7) | -- | -- |
13 | CLK (SCLK) | CLK (5) | -- | -- |
A0 | -- | -- | D4 | -- |
A1 | -- | -- | D5 | -- |
A2 | -- | -- | D6 | -- |
A3 | -- | -- | D7 | -- |
A4 | -- | -- | -- | -- |
A5 | -- | -- | -- | -- |
Tanto el módulo MP3 como la tarjeta SD funcionan con 3,3V, así que toca adaptar niveles para hacerlos compatibles con los 5V del Arduino. La opción más sencilla es utilizar divisores de tensión con un par de resistencias , en mi caso he utilizado un divisor formado por una resistencia de 2,2K y una de 3,3 K. Para la señales hacia el micro no hace falta, los 3,3V se interpretan como nivel alto sin problema.
El esquema es el siguiente (clik para agrandar):
Según los módulos que utilicéis para el MP3 y la SD, deberéis ajustar los pines de los conectores (el orden mostrado en el esquema no corresponde a ningún módulo en concreto).
Si se utiliza el MP3 shield de SparkFun, revisad la documentación para ajustar los pines de CS tanto para el MP3 como para la SD y modificarlo si es necesario en el códio fuente.
El resultado:
Aquí os dejo unas cuantas fotos del proceso de montaje :
En el próximo post el código ...
Según los módulos que utilicéis para el MP3 y la SD, deberéis ajustar los pines de los conectores (el orden mostrado en el esquema no corresponde a ningún módulo en concreto).
Si se utiliza el MP3 shield de SparkFun, revisad la documentación para ajustar los pines de CS tanto para el MP3 como para la SD y modificarlo si es necesario en el códio fuente.
El resultado:
Aquí os dejo unas cuantas fotos del proceso de montaje :
En el próximo post el código ...
Si te ha gustado, recuerda compartirlo en tu red social favorita. Gracias
Muy interesante el proyecto, la verdad que tiene su mérito. ¿Podrías poner más detalle del amplificador que has utilizado?
ResponderEliminarPues la verdad, tanto el amplificador como los dos altavoces pertenecen a unos altavoces comprados en una tienda de los chinos (4€) ....
ResponderEliminarPuedes ver una foto si entras en facebook en el enlace del menú.
http://sphotos-b.ak.fbcdn.net/hphotos-ak-prn1/553872_476782862343016_992743569_n.jpg
Enhorabuena!
ResponderEliminarExcelente proyecto.
Para entretenerse una temporada.
Muchas Gracias, me alegro de que te guste.
ResponderEliminarSeguiré trabajando para realizar algunas mejoras.
que buen proyecto felicidades
ResponderEliminarGracias. Un saludo.
ResponderEliminarMe encantó! Proyectos como éste motivan! Saludos!
ResponderEliminar@Danielé
ResponderEliminarGracias. Me alegro de que te guste. Un saludo.
Excelente el proyecto ! ¿Qué tan difícil sería ponerle una placa de red wi-fi y que se conecte a sitios para escuchar radio o música ?
ResponderEliminarUn proyecto muy interesante, pero me surge una duda que modelo de encoder utilizaste ya que en el esquema no sale el tipo es para definir bien su funcionamiento. Gacias
ResponderEliminar@SZ
ResponderEliminarPues es algo que tengo en mente.
puedes encontrar información sobre un acceso radio en internet en Arduino on Ice: Internet Radio via Shoutcast. Luego tendrías que utilizar una "WI-Fi Shield" ....
Estoy en ello , es posibre que dentro de poco publique algo sobre el tema.
Un saludo.
Junto con saludarte quisiera saver si has logrado completar tu idea paresida a la mía usar un módulo arduino para escuchar radio online
Eliminar@Jose Maria Modamio
ResponderEliminarEs un encoder rotatorio típico, puedes encontrarlos en ebay, o en tiendas de electrónica, por ejemplo en este enlace BricoGeek .
Saludos.
Saludos! Genial idea. Justo lo que tenia en mente como mi proyecto de invierno.
ResponderEliminarhola me gusto tu proyecto quiero hacer algo parecido pero en vez de tener pulsadores para avanzar y retroceder
ResponderEliminarquisiera ponerle un teclado para seleccionar el track especifico que quiero oir t.tendrias algo parecido?
hola muy bueno lo tuyo quería saber si se podría transferir música vía Bluetooth con algún shield saludos =)
ResponderEliminar@Wilson Carrizo
ResponderEliminarPuedes encontrar en ebay módulos bluetooth stereo si es a eso lo que te refieres:
Sólo el módulo
Montado
Saludos
Buenísimo el proyecto. Cómo se hace para que reciba las señales desde un reproductor de CD en reemplazo o adicional a la SD?
ResponderEliminar@mpadm
ResponderEliminarPues me parece que debe ser un poco complicado. Con un CD no puedes utilizar el interfaz SPI. Hay una librería para acceder a un CD desde un Arduino (pero tiene que ser Mega por la cantidad necesaria de pines para el interfaz IDE). IDE Disk Support for Arduino Mega
Arduino Guay:
ResponderEliminarGracias por la respuesta. Haré las investigaciones del caso. La idea es construir un CD Player Profesional que acepte archivos wav, MP3, el uso de USB´s, etc.
Buen proyecto!
ResponderEliminar@AnónimoGracias !!
ResponderEliminarmuy buen proyecto!!! ahora me surgio la intriga si se podra hacer algo igual pero que reproduzca mp4 o algun formato de video. tenes idea si hay algun modulo que haga lo mismo que el vs1xxx? investigare :-/
ResponderEliminarTienen el codigo disponible para compilador CCS?
ResponderEliminarSaludos
@Mario Alonso
ResponderEliminarNo sólo para Arduino :-(
@soldado de cristo
ResponderEliminarNo, pero encontré esto que puede servirte de ayuda
Arduino on Ice: Internet Radio via Shoutcast
Felicidades por el proyecto! He llegado a el, buscando como hacer lo mismo pero sin ampli ni altavoces, con salida para auriculares para conectar a la radio del coche. Que capacidad méxima tiene el lector de tarjetas?
ResponderEliminar@Franopol
ResponderEliminarNo sabría decirte ...., la documentación no es clara pero en principio no tiene más limitación que la de la FAT.
Yo he utilizado tarjetas de 8Gb sin problemas.
Hola estoy intentando seguir tus pasos, pero no consigo hacer que mi VS1003B emita algun sonido. Me podrías ayudar ?
ResponderEliminar@Anónimo
ResponderEliminar¿Qué tipo de placa utilizas para el VS1003B?
se puede montar con arduino uno?
ResponderEliminarporfavor ponte en contacto conmigo: torne98@gmail.com
@Sergi Torné
ResponderEliminarEsta hecho con un Arduino Uno ;-)
Porfavor nos podriamos poner en contacto? Estoy interesado en este proyecto y tengo algunas dudas torne98@gmail.com
ResponderEliminarGracias
Hello,
ResponderEliminarMy name is janvier and i have started a new community called Duino's Playground.
This is a community driven website where people can post, share and discuss there arduino projects.
However, we are looking for Arduino projects we can use on our website.
In the future we are looking into tutorials and such.
I would like to ask if we can use your projects for our website.
All credits and copyrights will be posted to the original owners. (Backlinks)
Our website is: http://www.duinosplayground.com
Dont forget to sign up at our forums at http://www.duinosplayground.com/community/
There you can post your projects and share them with all the membes.
If you like to know more about this, please send me an email back to this email address or community@duinosplayground.com.
Thanks for taking time on this email.
With friendly
greetings Janvier
Owner of http://www.duinosplayground.com
mas o menos cuanto hay de presupuesto para este proyecto?
ResponderEliminar@Unknown
ResponderEliminarDepende de la placa Arduino y de la MP3 que utilices ...
Si utilizas las "oficiales" será bastante más caro que si usas "clónicas", tendrá que mirar por ebay o tu proveedor habitual , para ver precios .
Con placas "cónicas", puede costar menos de 20€
Este comentario ha sido eliminado por el autor.
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarhola disculpa sera que me pudieras facilitar el codigo
ResponderEliminarsi no es mucha molestia, el tipo de amplificador que haz usado y de cuantos ohms son las bocinas.
soy nuevo en esto y quiero hacerlo.
hola te presento mi proyecto pues creo que tu conocimiento puede solucionar mi inconveniente resulta que estos aparatos teatrales funcionan con una moneda la cual emite un pulso y activa un timer de 30 seg hay un motor y varios leds pero tambien conectado siempre al grupo un reproductor de mp3 el cual a pesar de tener grabados 45 canciones de 30 segundos siempre me lee la primera quisiera que cambie y que con cada encendido toque una diferente,bueno este es el video desde ya gracias https://www.facebook.com/daniel.fulco.7/videos/10211157489273728/
ResponderEliminarel archivo AGMp3.h no me lo reconoce para poder meterlo y no lo encuentro en ningun otro lugar que puedo hacer
ResponderEliminarTengo arduino uno sirve y tendria que cambiar el ldd de 4x20 porque tengo 16x2
ResponderEliminar