Informática

MP3Car - Reproductor de MP3 con LCD para el coche

Autor: 
k74

 

MP3Car en un Renault 11  La idea, como imaginareis, es de dotar de un reproductor MP3 para nuestro coche. Reproducir MP3 ya lo hacen muchas radios disponibles en el mercado pero si queremos disponer de todas las canciones que deseemos sin tener que cambiar de CD las opciones se complican ya que necesitamos que incorpore un disco duro. Si nos gusta montar la cosas nosotros mismos y no queremos desembolsar la gran cantidad de dinero que cuestan actualmente los equipos con disco duro disponibles lo mejor es montarnos un pequeño ordenador para dicha función. Si este es tu caso, estás en un buen sitio para guiarte en el montaje de tu equipo MP3.

 

 

 

 Componentes utilizados:

 

Pentium 200MHz MMX 66MHz FSB 2,8Vcore

Placa Base AT SuperPower SP-586TX i430TX cache de 512K

Memoria 64MB (2x32Mb) SDRAM PC66

Tarjeta de video S3 Virge/DX 2MB PCI

Tarjeta de Sonido Creative SoundBlaster AWE 64  ISA CT4500

Tarjeta de Red Realtek 8139A 10/100 PCI

Disco Duro Fujitsu de 8,4GB MPD3084AT

Fuente de Alimentación ATX 12V DC

LCD 2x20 Retro-iluminado

Teclado PS/2 modificado para pulsadores de control de reproducción

 

  Como veis el hardware necesario no es nada especial ni costoso ya que se puede conseguir fácilmente de segunda mano a precios muy buenos. El único componente con el que hay que tener más cuidado es con la tarjeta de sonido ya que de ella depende la calidad que consigamos. Podemos optar por usar piezas antiguas o las nuevas placas que están saliendo en formato ITX.

  Para evitar problemas se han asegurado todos los conectores, condensadores,  bobinas, radiadores, etc con pegamento térmico para que las vibraciones no provoquen que se estropeen las soldaduras. En cuanto al calor se han colocado radiadores en todos los chips que se calentaban un poco, chipset, chip grafico, chip de sonido, etc y sobredimensionado el radiador de la CPU ya que tenemos que tener en cuenta la ubicación en el coche, por que colocado en el maletero durante el verano puede llegar calentarse bastante.

 

     

  

 

   La caja es de 25cm de ancho, 36cm de largo y 13,6cm de alto se ha realizado de metacrilato de 3mm de espesor pintado de negro por dentro con lo que se consigue dar un buen efecto reflejo por fuera. Para las esquinas se ha utilizado perfiles de aluminio de 15x15mm. Se han realizado dos agujeros de 80mm, uno en la parte delantera que solo tiene puesta una rejilla y otro agujero en la parte trasera donde esta un ventilador sacando aire con su correspondiente rejilla. A este ventilador se le ha añadido un control de voltaje que le da más o menos según el calor que hay en los radiadores de la fuente de alimentación. Esta refrigeración es más que suficiente para un PC de estas características. Al ser la caja de metacrilato se han unido todos los componentes a la masa de la fuente de alimentación ya que en este tipo de cajas se carece de la chapa que trasmite la masa en las cajas normales. Con esto protegemos a los componentes de parásitos eléctricos, cargas electroestáticas, etc.

 

    

    

  

 

 Tapa de la caja con el disco duro y una fuente de alimentación AT ya que se usaba un inversor externo para convertir los 12v de la batería del coche a los 220v usados por una fuente normal de ordenador.

 

  

 

 El disco duro, a sido "suspendido" entre gomas aprovechando una carcasa para bahías 5 1/4, en este caso se ha utilizado un disco duro normal de 3.5", pero también podemos usar uno de 2.5" de los que se utilizan en los portátiles, son más pequeños, consumen menos y aguantan mejor las vibraciones.

 

    

 

    La salida de línea de la SoundBlaster ha sido sustituida por dos conectores RCA dorados que van en una tapita metálica de PCI a parte.

 

     

 

 Software: MS-Dos y Mpxplay

 

  La clave de todo es el software que usemos para reproducir los mp3, yo seguiré utilizando el conocido Mpxplay de mpxplay.cjb.net para MS-Dos en una de sus últimas versiones, la 1.50. Desde la versión 1.48 que utilizaba en el MP3Car en el Renault 11 hasta esta se ha mejorado mucho el programa, como características principales añadidas esta el poder usar tarjetas de sonido PCI y soporte para nuevos formatos de archivos, además de muchas más mejoras en el programa. Para los que no lo conozcan decir que el software Mpxplay es un programa muy potente con muchas posibilidades y un pequeño consumo de CPU, se podría utilizar hasta en un Pentium 100 con 4MB de Ram. Decir que el solito soporta el muestreo de datos en pantallas LCD de caracteres, control remoto por infrarrojos, reproducción de archivos AAC, AC3, APE, DTS, MP2, MP3, MPC, OGG, WAV, CDW, M3U, PLS, MXU, entre otras muchas posibilidades. Con la edición del archivo de configuración (mpxplay.ini) podremos configurar infinidad de cosas como las teclas que queremos usar para manejar la reproducción, configuración del LCD para que muestre títulos, duración, etc y muchas cosas más que nos permitirán dejar el reproductor a nuestro gusto. Para lo cual deberemos leernos los archivos Faq.txt, Moreinfo.txt, Readme.txt y Keycode.lst, incluidos con el Mpxplay.

 

  En mi MP3Car todos los archivos MP3 irán almacenados en un disco duro, por lo que este caso la manera más rápida de que arranque el Mpxplay y reproduzca la música es hincándole que cargue una lista de reproducción que habremos creado con anterioridad. Podemos usar dos tipos de listas de reproducción, el formato m3u y el mxu. El m3u es el que se usa comúnmente cuando se tiene una pequeña cantidad de archivos MP3, pero cuando la cantidad el grande deberemos usar el formato mxu, lista de reproducción extendida, este formato guarda la información ID3-TAG (autor, disco, año, título de la canción, etc) de cada archivo de música con lo que ya no tiene que leerlo uno a uno al arrancar el Mpxplay, tal y como pasa con las listas m3u, ahora conseguimos que la reproducción sea inmediata al ejecutar el reproductor.

  Para crear la lista mxu lo más fiable es realizarla con el propio Mpxplay y primero crear la lista en m3u y luego convertirla a mxu. Para hacer esto lo mejor es crearse un archivo bat que ejecutemos en MS-Dos cada vez que necesitemos actualizar la lista de reproducción. El contenido del archivo bat sería el siguiente cuando el Mpxplay se encuentre en c:\mpxplay y guardamos la lista de reproducción en c:\mp3:

 

 playlist.bat for MP3Car

 

 @echo off

 cd\
 cd mpxplay
 mpxplay.exe -ds c -@s c:\mp3\musica.m3u
 mpxplay.exe -@sx c:\mp3\musica.mxu c:\mp3\musica.m3u
 cd\ 

 

  En primer lugar se escanea todo el disco duro C en busca de todos los archivos de música que contenga y se almacena su lista de reproducción en c:\mp3\musica.m3u, en el siguiente comando se vuelven a escanear todos los archivos encontrados recogiendo su información ID3-TAG y almacenada su lista en c:\mp3\musica.mxu. Deberemos cerrar correctamente la sesión del Mpxplay que inicia cada uno de los dos comandos para que la lista se cree correctamente.

 

Descargar playlist.bat

 

  Para cagar la música en nuestro disco duro tenemos varias posibilidades, una es poner un disco duro extraíble que podamos conectar al equipo de casa en el cual administramos todos nuestros MP3, esta opción requiere comprarse dos carcasas extraíbles de disco, una para cada equipo. Otra opción, que es la que he elegido yo por el momento es incluir una tarjeta de red en nuestro reproductor y llevárnoslo a casa para pasarle la música y actualización del Mpxplay. Es un poco engorroso pero si hacemos una caja pequeña es la forma más barata. Como el reproductor funciona en MS-Dos para ahorrar recursos y recortar al máximo el tiempo de arranque, podemos configurar la red bajo MS-Dos y compartir una carpeta donde guardar la música. Está opción ya la probé pero la velocidad es muy lenta aunque usemos tarjetas de red de 100Mbps, lo que hice es usar un Windows 98 SE para traspasar la música por la red y así ganar velocidad. Para lo cual se instálalo el Windows normalmente, se configuraron los drivers y la conexión de red, carpeta compartida, etc. Ahora hay que utilizar la base MS-Dos del Windows 98 para ejecutar el Mpxplay y conseguir que el arranque fuera lo más rápido posible.

  Lo primero es conseguir los controladores para MS-Dos de la tarjeta de sonido que utilicemos, lo más fácil es conseguir un tarjeta de creative con las que tendremos pocos problemas. En mi caso una Creative SoundBlaster AWE 64  ISA CT4500, de lo mejor que se puede encontrar en slot ISA, también tenemos la opción de poner una tarjeta PCI tipo Sound Blaster Live, Audigy 1, Audigy 2, etc que son soportadas pro el Mpxplay desde la versión 1.50.

  En el siguiente enlace podéis descargar los controladores para MS-Dos de las tarjeta de sonido Creative con bus ISA y también los controladores para las tarjetas PCI Augigy 1 y 2:

 

 Drivers_creative_msdos.rar

 Drivers_audigy_msdos.rar

 

  En el siguiente grafico se muestra la respuesta de frecuencia de algunas de las tarjetas de sonido más conocidas, cuanto más rango de frecuencias pueda reproducir una tarjeta, más calidad de sonido nos ofrece:

 

Respuesta de frecuencia

 

  También hay que tener en cuenta que según una tarjeta de sonio u otra consumirá más o menos CPU para el mismo proceso. La siguiente grafica es una de las pocas que he podido encontrar, es bajo DirectX, bajo MS-Dos no tiene nada que ver pero nos puede dar una idea:

 

 Uso de la CPU

 

  Los controladores para la tarjeta de sonido creative para MS-Dos son muy básicos como es lógico, solo deberemos ejecutar el programa mixerset.exe para regular el volumen  y algún que otro parámetro más acorde con nuestras necesidades. Los valores que especifiquemos se guardaran en el archivo ctmix.cfg que cargaremos cada vez que iniciemos el equipo con el siguiente comando C:\DRIVERS\CREATIVE\MIXERSET /P /Q en el autoexec.bat.

  Para reducir al máximo el tiempo de arranque y disponer de los más recursos posibles debemos configurar correctamente la Bios y las opciones de arranque. En la Bios se deben desactivar todos los puertos, controlador de disquetera, controlador de IDE secundario, etc. En cuanto a las opciones de arranque tenemos que configurarlas en tres archivos diferentes:

 

Autoexec.bat

Config.sys

Msdos.sys

 

  En cada uno de ellos se resume brevemente las opciones que se han añadido y porqué.

 

  Para la configuración del Mpxplay deberemos editar el archivo mpxplay.ini. En él viene explicada cada una de las opciones a configurar, en mi caso se han cambiado la asignación de teclas que uso: KeyRewind1 (retroceso rápido), KeyForward1 (avance rápido), KeyStepBack (pista anterior), KeyStepForward (pista siguiente), KeyStop1 (Stop), KeyPlayPause1 (Play/Pausa), KeyPlayRandom1 (Reproducción aleatoria). En cada una de estas funciones he colocado el código de la tecla del teclado que he querido asignar según he necesitado, miraremos le archivo keycodes.lst para saber que código corresponde a cada tecla.

  En cuanto al LCD los primero es indicar en el campo LCDport en que puerto está conectado, en mi caso LPT1, luego en LCDtype seleccionaremos que modelo de LCD vamos a usar entre los 8 disponibles:

 

En puerto LPT:

Tipo 1 : HD44780 8-bit mode

Tipo 2 : HD44780 4-bit mode

Tipo 3 : Noritake VFD (series 800)

Tipo 4 : Toshiba T6963C

En puerto COM:

Tipo 5 : HD44780 or compatible

Tipo 6 : Matrix Orbital

Tipo 7 : EDE702

Tipo 8 : VT100 terminal output

 

  Par cualquier LCD de caracteres compatible con el chip de Hitachi HD44780 elegiremos el tipo 1 y lo conectaremos que el esquema disponible en la sección de electrónica: Conexión de un LCD al puerto Paralelo

  Luego indicaremos el número de columnas y filas que tiene el LCD que usemos. Para los apartados de LCDportdelay, LCDrefresh, LCDscrollspeed, LCDscrolldelay y LCDpagereset depende del LCD y de la velocidad del microprocesador que usemos, ir haciendo pruebas hasta obtener el mejor resultado. En mi caso lo he configurado de la siguiente manera:

 

 LCDportdelay = 5

 LCDrefresh = 1

 LCDscrollspeed = 6

 LCDscrolldelay = 30

 LCDpagereset = 30

 

  Par configurar lo que el LCD nos va a mostrar tenemos que ir al apartado "display-item config(s)", para saber de que opciones disponemos tenemos que leernos el archivo Moreinfo.txt. En mi caso mi LCD solo tiene 2 líneas y 20 caracteres por línea, por lo que lo configure de forma que en la línea de arriba me muestre el nombre del grupo, el nombre de la canción, el álbum y el año del mismo (datos que deben estar almacenados en cada canción si queremos que lo muestre). La línea de abajo me muestra a la izquierda el número de la canción en base al total de las que tengo almacenadas en el disco duro y a la derecha el tiempo que lleva reproduciendo la canción y la duración total de la misma. Para todo esto la configuración es la siguiente:

 

;display-item config(s)

LCD_items =1,1,LINESCROLL,ARTIST," - ",TITLE," - ",ALBUM," - ",YEAR," | ";
LCD_items =2,1,a_left,entrynum,"/",allsongnum," ",P_TIMEPOS,"/",SONGTIME;
 

  De las demás opciones del archivo ini solo he modificado una de las últimas que modifican la forma en que el Mpxplay comienza la reproducción al iniciarse. Lo normal es que queramos que empiece a reproducir en el mismo sitio donde los dejamos, para lo cual configuraremos la opción StartupEnabled = 7, así aunque desconectemos repentinamente la tensión del reproductor cuando lo volvamos a iniciar empezara a reproducir en mismo sitio donde se quedo.

 

  Aquí tenéis los enlaces a para descargar la última versión del Mpxplay, el mpxplay.ini con mi configuración por si os sirve de ejemplo y el archivo dos4gw.exe que necesitareis para poder ejecutar el Mpxplay bajo MS-Dos:

 

Mpxplay

Mpxplay.ini

dos4gw.exe

 

 Teclado y Control Remoto:

 

  Para realizar las teclas de control para la reproducción se ha utilizado el circuito electrónico del teclado antiguo, se le sustituyeron todas las teclas por 7 pulsadores que corresponden a las teclas Esc y F1 a F6. Estos pulsadores han sido colocados debajo de la pantalla de LCD para controlar las funciones de reproducción tal como se observa en la imagen siguiente.

 

Controles  Circuito controlador del Teclado

   

 

 

 

 Control remoto por infrarrojos:

 

  Si queréis dotar a vuestro MP3 de control remoto se pueden usar diversos programar para usar mandos a distancia en MS-DOS:

 

- DOSGir de www.cesko.host.sk

- IRDOS

 

 Instalación en un Renault 11:

 

 Se ha utilizado un inversor para alimentar la fuente de alimentación del equipo, se a colocado en la parte del maletero por falta de una buena ubicación en el resto del coche, hay que tener cuidado donde lo ponemos porque el inversor se calienta bastante y necesita que circule el aire, sino se parará cuando pase de una temperatura excesiva. Se han tendido dos cables de 6mm de espesor (se puede usar de 4mm o 2,5mm) conectados directamente a la batería hasta la entrada del inversor con su correspondiente fusible de 35A para protección. Para efectuar el encendido/apagado de inversor se ha trasladado el interruptor que lleva incorporado en inversor hasta el salpicadero, esto es mejor que poner un interruptor que corte la entrada de 12v al inversor y ahorrarnos echar otro cable de atrás a delante. Así cortamos la tensión de salida más rápido que cortando los 12v del inversor. Tampoco se puede dejar el inversor enchufado siempre por tiene un consumo de casi un amperio dependiendo del modelo y si dejamos el coche sin arrancarlo en mucho tiempo al final nos quedaríamos sin batería.

 

 La caja del reproductor de MP3 está instalada cerca del inversor en el maletero, de la cual se han llevado los cables de puerto paralelo, audio y teclado hasta donde está la radio en la parte del salpicadero central. El cable del teclado se ha alargado con un cable de red del cual se ha aprovechado dos de los 4 hilos que sobraban para llevar la tensión de 5v para el LCD.

 

 Para la colocación del LCD y las teclas he aprovechado un hueco que tienen los R11 debajo del Radiocasete donde se suelen dejar la cintas. Con un trozo de metacrilato de 2mm de espesor pintado de negro por dentro se consigue un acabado fabuloso.