It is my first time on Arduino and especially XBee. I programmed my Uno board and tested all of its (Analog/Digitial) (Input/Output) . Now for the next step i want to broadcast the (light and temperature) readings from 2 nodes using XBee. I am using the following hardware
In order to program XBee, i took out the Atmet Microcontroller from my Uno board, Double checked the COM part (in my case it was COM5) and tried to terminal the XBee radio ( mounted through shield on Arduino Uno ) . I followed couple of tutorials but after terminal i get a blank screen and nothing happens (even if i try +++ initialization ) .
I also tried X-CTU but it gives error message as PC is unable to communicate with XBee.
Could you please help me fixing the problem, Could you also comment if i have the right hardware to configure XBee or not? ( as i am in a part of a world where shipping costs me over 2 weeks), i am really behind schedule and if the configuration is solved i can focus on my project.
Any help in this regard shall be greatly appreciated
You likely have tx and rx reversed. On the Arduino, the serial port is set up to talk to either the USB or to the XBEE. You are trying to go from USB to XBEE.
Try setting switch S2 on the XBEE shield to the DLINE position and jumper D0 to D3 and jumper D1 to D2.
I just have a standard XBEE shield from Sparkfun that i attached to my Uno Board.
While initializing the terminal session, i tried both the switch positions (i.e. Dline and UART) but nothing happens.
The Uno with XBee is connected to PC through USB cable. I am afraid i have no idea about the Jumper Positions , are you referring to ICSP jumper ? In my case i am using the board as it is how it came from the vendor ( no jumper on any pin position ).
If you could kindly refer to the attached setup , i hope you will have a better insight.
P.S. i will really appreciate any help in this regard
Guys thanks for the Help. The Problem is resolved. Thanks to n1st , I was confused with DLINE/UART switch positions. I double checked my soldering connections on the socket heads and found one of them was short (on one node). I tried writing simple Send/Receive codes by switching to DLINE ( while programming ) and now all the sensors works like a charm. However, i am still unable to Configure the Radios and they all broadcast at the same time ( which i believe in Master/Slave fashion).
I hooked up 2 sensors ( Temperature and Light on each node ) and the Base Station node can receive the data from both these nodes.
However, i have another problem here.
Whenever, I terminal the sensor nodes individually, i can see the exact temperature and light sensor readings.
But, when the sensor nodes transmit over XBee ( using Serial Communication ) , i get garbage data on the base station ( combined temperature + light sensor data from each node ) . Now, this data makes no sense as i cannot make good use of this information. Any idea how to go about this problem ?
I haven’t played with XBEEs on Arduinos, but this is what I get from the schematics…
The Arduino has one hardware serial port. It is connected to digital pins 0 and 1.
The Arduino library has support for software UARTs, which can be configured for other pins
The XBEE shield lets you connect the XBEE’s serial port to either the hardware UART on digital pins 0 and 1 (switch S2 in the UART position) or to digital pins 2 and 3 for use with the software UART (switch in DLINE position).
To allow the PC to configure the XBEE, try removing the ATMega328 from the Arduino and install the XBEE and XBEE shield. On the XBEE shield, add two jumper wires. First one connects Digital 0 to Digital 3, and the second one connects Digital 1 to Digital 2.