Go Down

Topic: Arduino + Xbee + Sensor ultrasonico  (Read 1 time) previous topic - next topic

moveonfabian

Muy buenas! soy nuevo en este foro, pero siempre ando leyendo tips y ahora necesito uno xD tengo un proyecto que consta de arduinos sensores y xbee. Basicamente quiero que un arduino con xbee lea el programa y que el otro arduino con xbee pero ahora mas el sensor y el buzzer lo ejecute.. El programa consta que suene el buzzer cuando se coloque un objeto a  cierta distancia del sensor, es un codigo sencillo lo probe sin el Xbee y funciona, pero cuando trato de hacer comunicacion entre estos 2 mediante el arduino no puedo :(
tengo el Xbee asi:

Xbee       Arduino
VCC ---> 3.3V
DOUT --> TX
DIN ---> RX
GND --> GND

Y el sensor mas buzzer conectados a los otros pines del arduino..
alguien a hecho algo asi? me falta algo? :( pls
Muchas gracias.
PD: probe que haya comunicacion entre los 2 xbee y si hay! (uno coordinador y el otro router/end divice)

firius2010


Khazus

#2
Jul 13, 2016, 08:52 am Last Edit: Jul 13, 2016, 10:18 am by Khazus
Como dice firius2010 debes cambiar los cables tx y rx, piensa que los datos salientes del xBee (DOUT) deben recibirlos el arduino (Rx) y los datos transmitidos por el arduino (TX) deben entrar en el el xBee (DIN).

Por otro lado tienes que tener en cuenta que arduino funciona con 5V en casi todas sus placas, por lo que debes tambien adaptar la señal TX de arduino a 3V3, en cuanto a la recepción (RX) no es necesario, ya que a 5V se lee 3V3 (muy justito, pero lee).

Por si quieres más información acerca del puerto serie te dejo este enlace.

--edito: habia confundido la señal que debe adaptar--

moveonfabian

muchas gracias a ambos! pero al cambiarlo me sale el sgte error cuando trato de subir el archivo..
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00

y asi... que puede ser?
gracias de antemano!

firius2010

para programarlo tienes que desconectar el modulo XBee.

Sencillo programas sin tener el modulo XBee conectado, y luego lo conectas como te dijimos y lo tienes funcionando o si no quieres ponerte en esas cada rato podrias usar otro puerto serie en caso de que uses el arduino mega dejas el serial normal para la programacion y lo conectas al Serial1 o 2 o 3

moveonfabian

Ajam ahi me dejo programarlo! gracias.. pero aun no funciona :( sera que tengo que conectar algo del Xbee al sensor para que funcione?  :smiley-confuse: 

Ya que tengo el primer arduino con el programa y xbee conectado TX --> DIN y DOUT-->RX

Luego el otro arduino con xbee conectados de igual manera.. (tendria que ser distinta?), + el sensor y un buzzer pero este no suena ni nada

Sera que tengo que cruzar conexiones entre los 2 arduinos?

..perdon si soy muy terco pero soy nuevo en esto :(
gracias por la ayuda de antemano!

firius2010

la conexión es como te hemos indicado, cuelga el codigo y un esquema de lo que tenes conectado podes hacerlo en fritzing o algo asi y ya veremos

moveonfabian

Gracias por la ayuda, aqui hice el esquema y el codigo que ocupo

Khazus

Buenas, he visto tres de cosillas.

En primer lugar, ¿tienes configurado el xBee?.

En segundo lugar, estaás mandando los datos directamente por el puerto serie, no obstante, no funciona así, sino que tienes que mandarlo con sus cabezeras y demás, te recomiendos que uses la librería xBee, desde mi punto de vista simplifica mucho aunque tiene sus limitaciones, pero simplifica mucho su programacion.

Y en tercer lugar, cuidado con meterle 5V a una entrada de 3V3 en el DIN, haz un divisor de tension al menos:

Code: [Select]

 Tx ---vvvv-------vvvv--- GND
        1k    |    2k
             DIN


Un saludo.

firius2010


ademas de lo que te dijo @Khazus que es muy acertado, solo quiero comentar que si el modulo esta configurado en modo transparente si se puede simplemente enviar una cadena por el puerto serie, por ello pido a @moveonfabian que para que observemos como esta configurado tu modulo pongas las dos imagenes del XCTU donde se vea la configuracion, tanto del coordinador como del end device, tu comentaste que ya verificaste que hubiera comunicacion entre los dos modulos comentanos que prueba hiciste, en general bastaria con configurar los dos modulos en modo transparente, por seguridad bajar a 3.3V los voltajes del arduino al XBee y por ultimo que esten conectados los cables como te indicamos verifica ello y nos comentas.

En primer lugar, ¿tienes configurado el xBee?.

En segundo lugar, estaás mandando los datos directamente por el puerto serie, no obstante, no funciona así, sino que tienes que mandarlo con sus cabezeras y demás, te recomiendos que uses la librería xBee, desde mi punto de vista simplifica mucho aunque tiene sus limitaciones, pero simplifica mucho su programacion.


Go Up