06-12-2013, 16:28
Bien, vamos a por la segunda parte, esto está hecho!!!!
Una vez controlado el shield de MP3, el problema principal era como conectar el Arduino a Loconet. Aquí se presentaban tres grandes problemas:
* El arduino (exceptuando el MEGA) solo tiene un puerto serie, y necesito dos (uno para comunicar con Loconet, y otro para comunicar con el MP3)
* Necesito un conversor de señal que cambie la señal Loconet a RS232 para poder leer los datos, y encima a nivel TTL (+5/0V en lugar de +12/-12 del RS232 normal de un PC)
* El protocolo Loconet, no es nada fácil de implementar y mucho menos en un Arduino
Pero parece que se han juntado los astros y he encontrado una solución sencilla a todo:
* Arduino puede utilizar dos pines de E/S normales como un puerto serie extra TTL, así que ya tengo dos puertos. A esto lo llaman un "soft serial".
* Pensando un poco, vi que la placa GCA50 de Peter Giling es realmente un conversor de señal conectando la señal loconet al PIC 16F873 (RS232 TTL). Seria mejor diseñar una placa con la forma de un shield, pero con las de Peter ya va bien.
* Y en la pagina de SPCoast (Railroading on the Southern Pacific Coast) tienen implementado el protocolo Loconet para arduino en forma de una librería
Bien, pues lo he juntado todo y voilá! Ya leo todos los comandos que circulan por Loconet, así que lo único que ahora falta es que cuando llegue un comando de activar una salida, se reproduzca el fichero MP3 asignado. Cogí una placa GCA50 y quité el PIC, conectando las patas 2 y 3 (serie TTL del pic 16F873) a las patas 7 y 8 del arduino (configuradas como software serial).
Por supuesto, en todo esto tengo merito casi cero. El trabajo duro de programación es de SPCoast, y la parte currada de Hardware es de Peter Giling.
He cargado el ejemplo que viene con las librerias de Loconet de SPCoast de monitor de Loconet (lee del softserial los comandos Loconet que circulan y los reenvia por el puerto serie al PC para monitorizarlos) y funciona perfectamente, os adjunto las fotos del montaje y del monitor.
Lo siguiente, es esperar a que me llegue de una vez el Arduino UNO y juntarlo todo, haciendo un programa que reciba los comandos por loconet para reproducir el sonido deseado. Cuando tenga también la botonera numérica, podré también hacer la versión para analógico. El que quiera un pulsador por sonido en lugar de una botonera donde poner el número del archivo, ya está hecho.
Seguimos informando!!
Salut,
Dani.
Una vez controlado el shield de MP3, el problema principal era como conectar el Arduino a Loconet. Aquí se presentaban tres grandes problemas:
* El arduino (exceptuando el MEGA) solo tiene un puerto serie, y necesito dos (uno para comunicar con Loconet, y otro para comunicar con el MP3)
* Necesito un conversor de señal que cambie la señal Loconet a RS232 para poder leer los datos, y encima a nivel TTL (+5/0V en lugar de +12/-12 del RS232 normal de un PC)
* El protocolo Loconet, no es nada fácil de implementar y mucho menos en un Arduino
Pero parece que se han juntado los astros y he encontrado una solución sencilla a todo:
* Arduino puede utilizar dos pines de E/S normales como un puerto serie extra TTL, así que ya tengo dos puertos. A esto lo llaman un "soft serial".
* Pensando un poco, vi que la placa GCA50 de Peter Giling es realmente un conversor de señal conectando la señal loconet al PIC 16F873 (RS232 TTL). Seria mejor diseñar una placa con la forma de un shield, pero con las de Peter ya va bien.
* Y en la pagina de SPCoast (Railroading on the Southern Pacific Coast) tienen implementado el protocolo Loconet para arduino en forma de una librería
Bien, pues lo he juntado todo y voilá! Ya leo todos los comandos que circulan por Loconet, así que lo único que ahora falta es que cuando llegue un comando de activar una salida, se reproduzca el fichero MP3 asignado. Cogí una placa GCA50 y quité el PIC, conectando las patas 2 y 3 (serie TTL del pic 16F873) a las patas 7 y 8 del arduino (configuradas como software serial).
Por supuesto, en todo esto tengo merito casi cero. El trabajo duro de programación es de SPCoast, y la parte currada de Hardware es de Peter Giling.
He cargado el ejemplo que viene con las librerias de Loconet de SPCoast de monitor de Loconet (lee del softserial los comandos Loconet que circulan y los reenvia por el puerto serie al PC para monitorizarlos) y funciona perfectamente, os adjunto las fotos del montaje y del monitor.
Lo siguiente, es esperar a que me llegue de una vez el Arduino UNO y juntarlo todo, haciendo un programa que reciba los comandos por loconet para reproducir el sonido deseado. Cuando tenga también la botonera numérica, podré también hacer la versión para analógico. El que quiera un pulsador por sonido en lugar de una botonera donde poner el número del archivo, ya está hecho.
Seguimos informando!!
Salut,
Dani.