Control Digital del CDROM a través del puerto IDE

Suena grandioso, no?
Se trata de un proyecto basado en un microcontrolador que puede manejar un cdrom a través de su puerto IDE. Hablamos por supuesto (del ya introducido) PIC 16f877. El circuito maneja también un LCD que muestra información sobre la pista actual que se está reproduciendo, el tiempo de la pista, el modo de reproducción y el número total de pistas y tiempo total del CD.


El proyecto se basa en la utilización de las librerías de IDE que permiten utilizar rutinas y asignaciones para controlar totalmente la compactera a través de salidas analógicas y digitales. El LCD se caracteriza por ser un display de 16 caracteres en línea y posee 2 líneas por ende se pueden mostrar 32 caracteres en total.

He estado navegando en internet he aqui los archivos necesarios para su implementación.

Existe otra versión de este mismo proyecto por la red que implementa también el control de las pistas a través de un control remoto. O sea nosotros tenemos la posibilidad de "pasar" de pista con el teclado numérico del control remoto. El control debe ser Philips y es recomendable la utilización de un control universal que maneje códigos Philips. Ambos proyectos disponibles por la internet, se pueden descargar desde el link anterior.

Que hago con los archivos?
Sólo hay que crear un nuevo proyecto en el MPLAB y agregar los diferentes archivos .asm para el primer caso, luego hacemos "Build All" y de esta manera el programa se encargará de compilar todo, entregandonos el archivo .HEX que nosotros cargaremos luego en el PIC16f877. En la otra versión el archivo .HEX ya está creado solo hay que grabarlo en el PIC.

En la primera versión tenemos la posibilidad de modificar algunas cosas para mostrar diferentes cosas sobre el LCD, como por ejemplo la palabra LOADING... que aparece al cargar un CD. Todo esto se irá trabajando para generar un código personalizado teniendo como base los archivos originales.

Armaremos dicho proyecto y subiremos nuestras experiencias ni bien consigamos el PIC en el mercado.
Toda la información relativa a puertos IDE también será proximamente subida al blog !

See You!

43 comentarios:

  1. hola, si no seria mucha molestia emviame los circuitos listos para imprimir y la lista de componentes del control de cdrom y como conectarlo a un control Philips a mi correo FranciscoRigesti@hotmail.com

    ResponderEliminar
  2. hola Francisco, lamento decirte q aun no tengo lista la PCB del proyecto... la busque incluso por la red y no aparece! Ni bien termine con mis estudios volveré con el proyecto...
    si te parece te puedo enviar la lista de componentes y luego enviaré la PCB cuando la tenga lista: publicaré una entrada sobre eso cuando la finalize...

    Suerte !!!

    ResponderEliminar
  3. Hola David ! me olvide de hacerte una pregunta:
    al ampli que estoy armando le voy a poner tambien una lectora de cd de pc , el problema es que no tiene los botones de play ni para pasar los temas .. tenes idea en la pinera IDE si puenteando algunos pines puedo descubrir estas funciones? podria probar con una resistencia de 1k..

    ResponderEliminar
  4. Hola JonyDf, no en realidad no se puede controlar a través de niveles lógicos de tensión por el puerto IDE tan sencillamente porque necesitas un protocolo de comunicación. Como mínimo debes implementar un puerto de 16 bits para enviar datos mediante un PIC o microcontrolador al puerto... Pronto publicaré la lista de las instrucciones del protocolo ATAPI y como programar el PIC para controlar el CDROM.

    Saludos.

    ResponderEliminar
  5. Buenas, encontré tu web buscando algo sobre MPX, y sólo quería agradecerte tu aportación, y dejar también un link a una web que tiene cosillas que quizas te interesen.Saludos desde Islas Canarias(España).
    http://www.radiovalladolid.com/?page_id=5

    ResponderEliminar
  6. Hola José Carlos

    Te agradezco principalmente por el aporte a través del link sugerido. Es interesante implementar en mi sistema la recepción de códigos RDS. No había tenido en cuenta dicha opción, lo cuál es muy útil porque me permitiría sincronizar la hora de mi sistema de audio con la de una emisora con contenido RDS. Vuelvo a agradecerte y prometo publicar acerca de ese recurso.

    Cordiales saludos desde Río Cuarto, Cba. (Argentina)

    ResponderEliminar
  7. hola adrian soy fanatico de la electronica me gustaria realizar tu proyecto. preguntaba si ya tienes los diagrama del circuito listo para imprimir o algun pcb del circutio, soy javier mi correo es macho_flaco_2@hotmail.com

    ResponderEliminar
  8. Hola, no tengo una PCB del proyecto solo en protoboard.lo he armado, si bien será parte de mi proyecto aún no he diseñado la placa que contendrá todos los circuitos juntos del equipo. Te recomiendo que la armes en una proto para probar y de paso te darás cuenta de lo sencillo que puede llegar a ser el esquema. Suerte y te agrego a msn...

    ResponderEliminar
  9. HOLA, SOY LUIS, SE PROGRAMAR LOS PIC, PERO tengo un problema,no entiendo la conexion del bus de datos, es decir, la botonera no se si va con una red r2r tipo conversor a/d o si por favor me pueden detallar las conexiones o puentes entre lospines del pic y los botones, porque una linea gruesa se ramifica a varias y no entiendo muy bien esa parte, agradeceria si alguien me lo explicara brvemente, gracias!

    ResponderEliminar
  10. Jaja, la ironia de la vida: tengo 3 años buscando un proyecto como ese y resulta que ahora, luego de haber armado mi sistema entero, es que lo encuentro. >(

    ResponderEliminar
  11. (soy el mismo de arriba) encuentro mucho potencial en tu pagina. (hare click en la publicidad)

    ResponderEliminar
  12. solo una pregunta: que rayos hace el pic sobre una base que esta sobre otra base?

    ResponderEliminar
  13. Hola Luis. Efectivamente se trata de una red R2R que actúa como un conversor digital/analógico lineal. La entrada que publicaré en instantes explicará con más detalles lo que necesitas... Saludos!

    ResponderEliminar
  14. Gracias Anónimo, cualquier inquietud que pueda surgir con respecto al armado del proyecto solo acercalas aquí en Facebook! (aún no lo he terminado por mi carrera, pero casi todo el diseño lo tengo )

    ResponderEliminar
  15. :S definitivamente no se si la última pregunta es tal?? :P

    ResponderEliminar
  16. soy novato con los pic, arme el proyecto pero no consigo el pic16f877, solo consigo el pic16f877a, mi problema es que no hace nada. y ya revise el circuito, puede ser que noi sean compatibles? desde ya muchas gracias.

    ResponderEliminar
  17. Hola, yo aún no he tenido de probar el .hex en mi PICf877. El PIC16f877A es la versión mejorada del PICf877; este tiene dos puertos que pueden configurarse como comparadores: deberías configurar dichos puertos para que actúen como tal y no como comparadores.
    Puedes intentar compilar los archivos .asm otra vez pero configura en el MPLab (o en el que utilizes) que tu hardware es un PIC16f877A en lugar de un PIC16f877. De esta manera obtendrás un .hex compilado para esta versión.

    Cualquier cosa vuelve a contactarme! Suerte

    ResponderEliminar
  18. Vieja, te deje comentarios en en el msn, y bueno... yo estoy haciendo el pcb de este circuito ya casi lo termino. estoy usando >PCB WIZART< . si queres, digo, te lo paso para q' lo controles y lo subas a tu web. despues te aviso.
    pd: si lo empesaste pasamelo donde te quedaste.
    y, el rograma que usaste.
    GRACIAS
    Franc...@hotmail.com

    ResponderEliminar
    Respuestas
    1. Hola, me interesaria que me pases el diseño porque estoy trabajando con placas impresas artesanalmente, por lo que podria imprimir, armar y vemos que sucede....

      Saludos

      Eliminar
  19. preguntas mas:
    a)¿se puede poner un disco rigido en el puerto donde vá la compactera?
    b)¿en que formato deve ser la musica?
    c)¿se tienen que hacer muchas modificaciones? ¿cuales?
    el mismo fran...@..

    ResponderEliminar
  20. hola,
    a)
    Se puede adaptar un disco rigido en lugar de un CD-ROM, pero necesitas un circuito conversor D/A que trabaja con el bitrate de un archivo MP3 convirtiéndolo a una señal anañogica de audio. Si te interesa averiguar más de eso, el integrado es el STA013, aquí no se consigue pero en capital está por encima de los U$S 30.
    b)
    La música debe estar en el directorio raíz del disco y los archivos deben ser todos MP3 del mismo bitrate (por defecto 128kbps)
    c)
    Se debe modificar minimamente el .asm

    Si quieres puedes googlear encontraras mas info de esto. Hay un proyecto terminado y funcionando como dices.

    P.D.: no me llego tu diseño. tienes mi msn? es adrdavidm@hotmail.com

    ResponderEliminar
  21. Hola David, soy Luis el que no consigue el 16F877 y si el 16F877a. Mi pregunta es la siguiente, vi en una de las fotos publicadas que el pic en el zocalo es 16F877A, pero en el texto se habla del 15F877, por otro lado antes de modificar el .asm lo compile con MPLab como me dijiste, pero el proyecto original no da errores si unas llamadas de atencion (302) 8 en el file ataxx y 7 en el main. Es normal esto, la pregunat era para tenerlo en cuenta al momento de modificar los .asm

    ResponderEliminar
  22. Luis, son solo mensajes de advertencia que te indican que estás trabajando con bits y configuraciones en un banco incorrecto. Si en definitiva al final de la compilación obtienes un "Build Suceed" no debería haber problemas. De todas maneras podés reescribir el PIC "todas las veces que tu quieras" literalmente hablando . Suerte.

    ResponderEliminar
  23. saludos encontre esta pagina vagando por internet este proyecto tiene tiempo que lo busco quisiera saber si me puedes proporcionar la informacion para armarlo gracias

    ResponderEliminar
  24. Hola, anonimo. ahora estoy justo yéndome de viaje por una semana, a la vuelta prometo subir más información sobre este proyecto. Justamente tengo el código para el PIC el cual lo estuve estudiando y planeé varias modificaciones para mejorarlo...

    Suerte y en 7 días prometo subir más info...

    ResponderEliminar
  25. Hola, queria saber si serias tan amable de subir nuevamente archivos. La verdad tengo muchas ganas de realizar este proyecto. Desde ya muchas gracias, saludos.

    ResponderEliminar
  26. hola tute ahora mismo estoy reparando el link. te cuento es interesante el proyecto si se te ocurre mas para aportar no hay drama

    ResponderEliminar
  27. Kpo Y la pcb??? me la podes pasar?? funciona el proyecto controladora de cd-rom?? conseguí todo hasta el lcd 16x2 me salió 10 dolares... me podes enviar a mi correo franciscorigesti@hotmail.com
    la pcb y la respuesta??

    ResponderEliminar
  28. Hola franciscorigesti basicamente el proyecto lo podes probar primero en una protoboard. Si tenes el LCD entonces no pierdas el tiempo podes probarlo completo. Yo tengo un LCD de 16x2 que es por comunicacion I2C lo que implica que tengo que reformar el modulo para que funcione con los 4bits bajos como el pdf del proyecto. La PCB no te conviene diseñarla aun... si bien el proyecto funciona, lo ideal es armar sobre la proto y luego podemos reformar el programa si te interesa para agregarle o quitarle funciones!

    ResponderEliminar
  29. hola soy yo denuevo: francisco R.:
    al proyecto lo tenes simulado en proteus?? o en algun programa? me podes pasar el proyecto (Archivo) para simularlo y posteriormente modificarlo..? no sabes como lo necesito!
    ya compre todo pero custa armarlo en una proto... :S como haces para que el proteus te diseñe la placa??? se puede??? si en lugar de la conpactera pongo un disco rigido con musica mp3??? funca??

    y si compilo un disco con musica mp3??
    gracias responde las que puedas y sacame de dudas
    una masa tu WEB!!!!! K-PO

    ResponderEliminar
  30. el programador pipo2 funciona para programar el pic este?? ¿¿vos cual usaste??. yo porque tengo armado el pipo2

    ResponderEliminar
  31. Hola el proyecto sirve para emular un disco rigido pero hay que modificar el codigo habria que aprender algo mas de protocolo IDE...

    El programador PIPO2 no lo he probado. Tengo el JDM es un espectaculo funciona con el puerto serie de 9 pines y no necesita fuente externa!

    ResponderEliminar
  32. adrian lo tenes simulado en proteus??

    ResponderEliminar
  33. en el comprimido que subiste hay dos proyectos:
    CDROM LCD Controller with Remote
    CDROM LCD Controller

    yo desidí armar el primero. (with remote)
    pero no tiene el archivo *.HEX y en la otra carpeta hay un hex es el mismo para los dos proyectos?? como deveria ser la programacion del micro para usar el disco rigido?

    ResponderEliminar
  34. hola

    el primero es para crear el sistema y tiene los codigos .asm para crear el .hex tienen que crear un proyecto nuevo en el MPLAB y cargar todos los archivos .asm. Al poner "compliar todo" les crea el .HEX

    el segundo esta en .hex pero no puede modificarse a no ser que alguien se anime! ese esta listo para bajar al PIC

    si quieren hacemos una entrada sobre como crear el proyecto en MPLAB

    suerte

    ResponderEliminar
  35. Hola, hay muchos .asm lo podes convertir vos y subir el hex??

    Te dejo el proyecto pcb para simular, terminalo porfavor, me interesa:

    http://www.megaupload.com/?d=0K9ZMOQL

    dentro del comprimido estan las instrucciones

    estoy enseñando proyectos de tu paguina a varios asique no me falles, les paso tu web para que las miren

    ResponderEliminar
  36. disculpa sera que podes subir los archivos nuevamente... el link no funciona ,,, gracias

    ResponderEliminar
  37. y bueno tengo un proyecto algo parecido al que se hizo por eso quiero hecharle un vistazo a ese,,, mi proyecto consiste en una interfaz grafica de la pc al pic por medio de la usb y del pic al cd rom y que tenga las funciones de abrir/cerrar bandeja ,stop, play, pausa yq eu la pc este indicando que cancion se este reproduciendo si alguien me puede ayudar en este proyecto se lo agradeciria muchisimo,,

    ResponderEliminar
  38. si alguien me puede enviar los aarchivos de este proyecto mi correo es alejandro_inge13@hotmail.com.. gracias ;)

    ResponderEliminar
  39. alguien podrian enviarme los archivos del proyecto mi correo es lop_alpha213@yahoo.com ... gracias

    ResponderEliminar
  40. buenas tardes tienen los archivos del lector de CD con LCD ?,dejo mail si los envian gracias con esta cuarentena hay que hacer algo. sebabertelli@gmail.com

    ResponderEliminar

Deja tu crítica, comentario o novedad sobre el proyecto...