viernes, 8 de julio de 2011

Comunicación establecida


Como escribía en mi ultima entrada, por el momento he abandonado las pruebas con la placa locoIO, esto no quiere decir que más tarde vuelva de nuevo, pero creo que debo descubrir nuevas posibilidades. He comenzado a explorar un nuevo camino con Arduino. En Internet tenemos muchos lugares donde poder comenzar a buscar información. 

El sitio de Alex Shepherd donde hay bastante material y ejemplos para comenzar a trabajar. Alex ha escrito código de varias librerías y módulos para Arduino y otros chips AVR. En la pagina source forge me he bajado un zip que contiene todas las librerías y un ejemplo de una aplicación que permite monitorizar la actividad en la red Loconet.
El primer problema ahora es interconectar físicamente Arduino con la red Loconet. Para hacer esto hace falta construir una interface. 

La búsqueda por diferentes foros y grupos me ha ayudado ha encontrar una web de John Plocher. John es un desarrollador que ha participado en el proyecto JMRI, tiene un par de ejemplos en su pagina para Loconet y ha construido una interface para poder conectarse a Arduino. John la ha construido sobre la protoboard, pero en mi caso lo he echo sobe una placa de circuito impreso para prototipos también ha usado parte del código de Alex . Este es el esquema creado por John.



Este el circuito impreso con los componentes una vez soldados todas las conexiones que yo he construido para hacer las primeras pruebas de comunicación entre Arduino y Loconet.



En este punto ya podía hacer las primeras pruebas con el código de la aplicación Loconet Monitor de Alex. En lo primeros intentos no he conseguido compilar bien el código, al final después de leer y entender las lineas de código, he colocado bien las librerías y lo he compilado de forma correcta Arduino lo ha cargado esta vez sin problemas. Para poder ver los resultados hay que abrir la ventana Serial Monitor del IDE de Arduino.

Aquí inicialmente no he visto ningún tipo de actividad y he tenido que volver a repasar todos los cables de conexión de la placa de circuito impreso. Como no tengo osciloscopio ni analizador lógico, pues la tarea de buscar el posible fallo se hace a ciegas y de esta forma no he podido comprobar en la diferentes partes del circuito que estaba pasando.

Finalmente he recordado que ya tenia montado un circuito que conectaba con Loconet. La placa Loco IO. Esta placa se podia convertir si le quitaba el PIC y la podía aprovechar como interface para Loconet. Este es el montaje que he utilizado. Solamente dos cables que me permiten la comunicación.


 
Los pines D7 y D8 de Arduino son los Tx y Rx que se conectan a los pines 2 y 3 que usaba el PIC en la placa Loco IO. Esta ha sido una forma sencilla y rápida de conseguir una interface entre Arduino y Loconet sin los problemas de las conexiones que aparecen en la creación de una primera placa.

En las siguientes pruebas con el código de Alex todo estaba funcionado y ahora a través de Arduino puedo leer los mensajes que hay en la red loconet. Se ha conseguido un primera escala en el camino , ya he establecido la comunicación como se puede ver en esta imagen.