Go Down

Topic: USB-Arduino-XBEE (Read 5690 times) previous topic - next topic

ziroxnz

Tengo un Arduino UNO con XBEE Shield y otro XBEE con USB explorer
Lo que quiero es enviar datos desde el monitor serie via USB al arduino, y que este envie via XBEE esos mismos datos al otro Módulo XBEE.

El problema es la comunicación serie. Si conecto la xbee shield al arduino, no puedo enviarle desde el monitor serie via usb ningún dato.
He leido por aquí que con SoftwareSerial Library puedes configurar otros pines digitales para la comunicación serie, pero no veo como esto puede servir para mi caso, ya que no se como cambiar los pines por los que se comunican el puerto usb y el xbee shield con la placa arduino.

¿Hay alguna forma de transmitir datos desde el monitor serie al mismo tiempo que se tiene la xbee shield conectada al arduino?

Gracias

ASTROCAR

Hola buenos dias; tu problema se presenta porque el unico puerto serial hardware que tiene el arduino uno esta conectado en este caso tanto al shield XBEE y al FTI232 de la placa arduino UNO en este caso. segun su planteamiento usted necesita enviar datos del monitor serial de arduino y enviarlo por XBBE, entonce al enviar esos tados tanto el recepto XBEE como el receptor de arduino ves esos datos lo que quieres decir que de igual manera el XBEE enviara los datos que recibe desde el monitor serial y cuando el modulo XBEE reciba datos desde el otro XBEE esos datos seras visto en el monitor serial. en conclusion el micro arduino no estaria cumpliento ninguna funcion en este caso.

Saludos.

ziroxnz

Entiendo la causa del problema, pero no la solución que me propones.
Necesito el Arduino porque lo que quiero es leer del monitor serie de arduino a través del puerto USB una serie de datos, que después quiero transmitir a través de XBEE a otro pc.

Digamos que el esquema es el siguiente:
PC1-Arduino-móduloXbee1-móduloxbee2-PC2

La comunicación PC1-Arduino DEBE SER(por cuestiones subjetivas) a través del puerto USB del arduino UNO.
¿Se puede hacer esto o no?

ziroxnz

Resumiendo;¿ hay alguna forma de utilizar el puerto USB del arduino y el módulo XBEE a la vez?

ASTROCAR

oye, lo que no entiendo es que si esos datos  que colocas en el monitor van directo al modulo XBEE poorque de ser asi no veo la necesidad de usar arduino con otro explorer para Xbee resuelves ahora si con los datos que colocas en el monitor tomas decisiones que luego se la envias al XBEE ya la cosa cambien pero creo que tendras que usar el modulo XBEE de manera que no se comunique por el puerto serial original del arduini es decir via serial hardware por ese es usado ya por el usb de manera com virtula atraves de un FTI232.

Saludos.

ziroxnz

#5
Dec 26, 2011, 02:48 am Last Edit: Dec 26, 2011, 02:51 am by ziroxnz Reason: 1
claro, en realidad después de leer los datos tengo que hacer algunas operaciones. Lo decia así para intentar centrarme sólo en el asunto de la comunicación.

Entonces, ¿no puede hacerse nada con la XBEE Shield para evitar que se comunique con arduino por los mismos pines que utiliza el USB?

curro92

Hola,
si miras en la documentación, por ejemplo en
http://www.arduino.cc/en/Main/ArduinoXbeeShield
verás que la shield tiene unos jumpers para seleccionar los pines tx y rx (distintos del 0 y el 1) para comunicarse en serie con la shield. Para la comunicación serie con la shield a través de esos pines, tendrás que usar alguna librería adecuada para ello, como SoftwareSerial

ziroxnz

Gracias por los aportes, pero creo que con la XBEE shield Arduino no puede hacerse eso que dices con los jumpers. No posee esa característica la shield. Me han comentado que sparkfun fabricaba(descatalogada ya) una xbee shield que si tenia la opion de modificar mediante jumpers los pines por los q se comunicaba esta con arduino. 

curro92

Hola,
La de Sparkfun que está en catálogo
http://www.sparkfun.com/products/9976
dice que tiene los jumper, según la Descripción
The serial pins (DIN and DOUT) of the XBee are connected through an SPDT switch, which allows you to select a connection to either the UART pins (D0, D1) or any digital pins on the Arduino (D2 and D3 default).
¿Qué modelo es tu shield?




Caracola

#9
Dec 26, 2011, 05:03 pm Last Edit: Dec 26, 2011, 05:59 pm by Caracola Reason: 1
Aprovecho el tema para ir un poco más allá.

Con el Arduino Mega tenemos 3 puertos serie adicionales, así que no debería ser problema comunicar con el PC. Digamos que voy a usar el Serial1, pines digitales 18 (TX) y 19 (RX).
La cuestión es, ¿cómo realizar el montaje para conectar estos pines a un macho USB?.

Edito: No necesito drivers ni software, es sólo para pasar datos a una excel.

Muchas gracias.

(yo uso la Xbee Shield de Libelium)

ziroxnz

#10
Dec 26, 2011, 05:16 pm Last Edit: Dec 26, 2011, 05:18 pm by ziroxnz Reason: 1
Esa misma utilizo yo, la v1.1

http://www.cooking-hacks.com/index.php/shop/wireless/arduino-xbee-802-15-4.html

ziroxnz

El problema con esta shield http://www.sparkfun.com/products/9976 es que ningún distribuidor español la tiene.

zigbe31416

Ziroxnz,

Efectivamente, el Xbee utiliza los miamos pines que el puerto usb de la placa, el 0 y el 1.

Los jumpers de la shield son precisamente para seleccionar que los pines esten cnectados al xbee o al micro de la placa arduino.

Habitualmente se utilizan librerias como la softserial que mencionas, pero generalmente se deja el Xbee en los puertos 0 y 1 (por no modificar la placa) y se comunica la placa Arduino con el exterior con la libreria, por los puetos configurados en la misma y un conversor serie Usb (te puede servir una placa arduino sin micro)

Aunque no lo he probado nunca no deberia de haber ningun problema en comunicar con la xbee a traves del newsoftserial, pero tendras que modificar el cableado de la shield y las librerias.

Lo del cableado es sencillo sacando las entradas de los jumpers (mira el esquema)

Http://www.zigbe.net/



Caracola


Con el Arduino Mega tenemos 3 puertos serie adicionales, así que no debería ser problema comunicar con el PC. Digamos que voy a usar el Serial1, pines digitales 18 (TX) y 19 (RX).
La cuestión es, ¿cómo realizar el montaje para conectar estos pines a un macho USB?.

He estado buscando y me respondo.

La solución es sacar el TX y RX a un chip como este.

Y otra pregunta, ¿la transmisión de datos en serie (TX-RX) de Arduino va a 5v o a 3.3v?

ziroxnz

The ATmega1280 provides four hardware UARTs for TTL (5V) serial communication.

http://www.arduino.cc/en/Main/ArduinoBoardMega

Go Up