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:
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)
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--
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
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
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:
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.
Khazus:
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.