Conexión Xbee - Arduino

Hola a todos, estoy trabajando con un “Arduino Duemilanova” y dos “Xbee 1mW” para hacer una conexión inalámbrica de la PC a la tarjeta Arduino.

Para eso dispongo de la tarjeta “Xbee Explorer USB” que hace la conexión de una de las tarjetas Xbee 1mW a la PC pero para conectar el segundo modulo al micro Arduino no dispongo de la tarjeta “Xbee Shield” por lo que recurrí a los manuales de la Xbee para saber si podía hacer la conexión sin utilizar la tarjeta Xbee Shield y encontré que existe una conexión mínima que se puede realizar para que funcione el modulo.

Hice las conexiones mínimas según esquema instale los drivers FTDI, instale la aplicación X-CTU que hace la función de Hiperterminal de Windows y estos fueron los resultados:

La aplicación X-CTU reconoce el modulo que está conectado al PC con el Xbee Explorer y pude configurarlo ya que esta en modo transparente por lo que solo agregue los comandos AT correspondientes que en mi caso fueron ATMY1, ATDL0, ATCH19, ATDB3, ATID3332.

Para el segundo modulo, ósea el que va conectado al Arduino paso lo siguiente, conecte los pines rxtx del modulo a los txrx del Arduino y luego conecte el Arduino al PC a través del cable USB con lo que instalo el driver FTDI automáticamente pero la aplicación X-CTU no reconoce el modulo.

Por supuesto como solo tengo un Xbee Explorer USB hice la programación del segundo modulo con este mismo configurándolo a través del mismo puerto COM con el que programe el primer modulo. Comandos AT para el segundo modulo ATMY0, ATDL1, ATCH19, ATDB3, ATID3332.

Al desconectar el cable USB del Arduino y alimentarlo con 9v pude comprobar que no se hace la conexión inalámbrica entre los dos modulos, la aplicación X-CTU no reconoce el modulo que está conectado al micro Arduino.

Mi duda es si hay que hacer algo más después de conectar físicamente los pines rxtx del modulo a los txrx de la tarjeta Arduino para que trasmita datos.

Nota: Utilice el Arduino sin microcontrolador para hacer la conexión USB del modulo y así programarlo con otro puerto, tampoco funcionó.

He visto algunos tutoriales pero realmente mucho de ellos no van paso a paso asumiendo que la gente no va a tener problemas al hacer lo que dice el tutorial y me han dado pistas pero sigo con las dudas.

Les agradecere toda la ayuda que me puedan brindar... :)

mira, compre hoy los modulos y me deberian llegar mañana. Segun lo que he leido (pero no he probado) la configuracion deberia ser la siguiente.

Primero conecta el Explorer USB con el modulo al PC. y con el hyperterminal o con algun programa para transmicion de datos Serial (incluso puede ser el que viene en el IDE arduino) envia la configuracion. Este modulo lo llamaras 0

envia +++ recibes ok envia ATID3332,DH0,DL1,MY0,BD4,WR,CN

Las letras AT le indican al XBee que le vamos a enviar comandos. ID3332 le define un PAN ID de 3332, DH0 y DL1 definen la direción 01 como el XBee con el que se estará comunicando, el comando MY0 define la dirección propia como 0, BD4 define la velocidad en 9600, el comando WR escribe la configuración a la memoria y el CN cierra la configuración.

Ahora desconecta el Explorer USB y cambia el modulo por el otro. que sera el que conectaras al RxTx del arduino. a este le llamaras 1

envia +++ recibes ok envia ATID3332,DH0,DL0,MY1,BD4,WR,CN

Es casi lo mismo solo que cambia la direccion propia a 1 y el nombre con el que se estara comunicando a 00

Con esto deberias tener configurado los 2 modulos. Esta configuracion la haras solo 1 vez, ya que los modulos quedan configurados aunque se desconecten.

Carga al arduino algun programa que envie datos por puerto serial (alguna cuenta ascendente por ejemplo). y pruebalo que funcione.

Desconecta el arduino y conecta los Xbee como deberian ir. (0 en el ExplorerUSB y 1 en el arduino)

Aleja el arduino conectado a la bateria (no USB) Echa andar todo y con serialMonitor o el Hyperterminal monitorea el ExplorerUSB, deberias tener los datos que te esta enviando el otro modulo inalambricaente en tu pc.

Lo probare yo y te aviso. Si haz avanzado algo deja tu comentario que me sera util saludos!

Hola Alonso, gracias por la información de hecho todo lo que mencionas lo hice, mi problema era una cuestión especifica que trataba de regular el voltage de la salida (tx) de la tarjeta Arduino. Como esta salida trabaja con 5v y la entrada (rx) del Xbee trabaja con 3v3 no se puede hacer la conexión hasta que regules la salida (tx) del Arduino a un rango mas o menos de 2.4 a 3v3 voltios.

Esto se logra conectando a la salida (tx) del Arduino un Led y una resistencia de 100ohm en serie la cual va a tierra. Entonces vas a sacar justo de en medio del empalme entre el led y la resistencia el cable que va conectado al pin 3 (rx) del Xbee.

De todas formas puedes visitar este tutorial:

Esto me sirvio ya que pude incluso hablar con ellos por correo.

Respondo un poco tarde,

en realidad la adaptación de niveles de 5V a 3,3V se suele hacer con un divisor resistivo (con dos resistencias), no me acuerdo de los valores, pero puedes utilizar los mismos que lso de la Xbee Shield (tienes los ficheros de Eagle en la web).

En el sentido contrario no hayq ue hacer la adaptación porque 3,3V es interpretado como un uno lógico por una entrada de 5V.

http://www.zigbe.net/