UNO + sparkfun Xbee Shield + Xbee 60mW > probleme

Hi

I need some help please, i don't understand my problem. I have 2 Arduino UNO board that i want to communicate with Xbee Pro 60mW (http://www.sparkfun.com/commerce/product_info.php?products_id=8710). I use 2 Xbee Shield from Sparkfun http://www.sparkfun.com/commerce/product_info.php?products_id=9841, with appropriate antenna

I followed this instructions = http://arduino.cc/en/Guide/ArduinoXbeeShield , to make communication, but it simply don't work. I programed the first one, and she do what she has to. I programed the second one and she react with the serial monitor. When i put both of them in external power, without the USB, no communication. I can see the first one executing his task, but the second one don't receive the information. In the arduino tuto, they talk about jumpers, I quote for exemple "Switch the jumpers to the Xbee setting (i.e. place each on the center pin and the pin farthest from the edge of the board)" I suppose this doesn't exist on the UNO, am i right ?

On the shield Xbee, there is a little Switch DLINE / UART. But i tryed every position on each board, and nothing more happened.

AM i supposed to do something more ?

Thanx for your help.

Are you using a Windows OS? If so, you should download X-CTU from digi.com, and use that to configure the XBees.

In the arduino tuto, they talk about jumpers, I quote for exemple "Switch the jumpers to the Xbee setting (i.e. place each on the center pin and the pin farthest from the edge of the board)" I suppose this doesn't exist on the UNO, am i right ?

The tutorial is talking about the jumper on the XBee shield, not a jumper on the Arduino.

I programed the first one, and she do what she has to. I programed the second one and she react with the serial monitor.

Maybe you got boy models, and they don't like being referred to as girls.

Maybe you should post some code.

HI.

thanx for your reply. I am on Mac Os X. Shame on me ... But is this the real process ? Configure Xbee with X-CTU first ?

the piece of code i use is the code on this page http://arduino.cc/en/Guide/ArduinoXbeeShield, not more.

But is this the real process ? Configure Xbee with X-CTU first ?

It's certainly easier, and more reliable, to configure the XBees using X-CTU, than to configure them in code.

Unfortunately, X-CTU only runs on Windows.

OK. I really want to solve the problem so i followed the instruction here http://www.ladyada.net/make/xbee/configure.html and i use parallel Desktop on my MAC to configure the 2 Xbee. I didn't use X-CTU but the HyperTerminal. I have access to the 2 Xbee (YES !!) and +++ gives OK, etc ... I realized that the 2 Xbee had the same ID (3332), I changed one in 3333, and ATWR to write it. I double cheked if the new ID were 3333, and it is.

So, happy with this first contact with Xbee, I started again with my 2 circuits to make them talk. In the First Board i loaded this code (found here > Communication / Physical Pixel ) (and I just added few lines of Digitals / BlinkwithoutDelay to have a led that shows me that the board is working) =

const int ledPin = 13; // the pin that the LED is attached to
int incomingByte;      // a variable to read incoming serial data into

// Variables will change:
int ledState = LOW;             // ledState used to set the LED
long previousMillis = 0;        // will store last time LED was updated

// the follow variables is a long because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long interval = 1000;           // interval at which to blink (milliseconds)

void setup() {
  // initialize serial communication:
  Serial.begin(9600);
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  pinMode(6, OUTPUT);
}

void loop() {
   //CODE FOR BLINK ACTIVITY
   unsigned long currentMillis = millis();

  if(currentMillis - previousMillis > interval) {
    // save the last time you blinked the LED 
    previousMillis = currentMillis;   

    // if the LED is off turn it on and vice-versa:
    if (ledState == LOW)
      ledState = HIGH;
    else
      ledState = LOW;

    // set the LED with the ledState of the variable:
    digitalWrite(6, ledState);
  }
  

   //CODE FOR COMMUNICATION
  // see if there's incoming serial data:
  if (Serial.available() > 0) {
    // read the oldest byte in the serial buffer:
    incomingByte = Serial.read();
    // if it's a capital H (ASCII 72), turn on the LED:
    if (incomingByte == 'H') {
      digitalWrite(ledPin, HIGH);
    } 
    // if it's an L (ASCII 76) turn off the LED:
    if (incomingByte == 'L') {
      digitalWrite(ledPin, LOW);
    }
  }
}

For sure, i have a led in pin 13 (and an other in pin 6)

The board is doing the job. My LED on 6 blinks, and the one on 13 goes ON if i write H in the serial Monitor, and OFF if i write L.

The Second one.

i loaded this code =

void setup()
{
  pinMode(13, OUTPUT);  
  Serial.begin(9600);
}

void loop()
{
  Serial.print('H');
  digitalWrite(13, HIGH); 
  delay(1000);
  Serial.print('L');
  digitalWrite(13, LOW); 
  delay(1000);
}

I use a LED on 13 just to see the activity. the code is loaded and work good.

Both Xbee Shield are in UART mode on there switchs.

I unplugged the USB cables and use the external Power ... the 2 boards blinks, there's activity, but no communication, the LED on 13 on the First one don't blink.

Did i miss something ??? I am lost ...

Both Xbee Shield are in UART mode on there switchs.

If you are able to upload sketches to the Arduino with the shields attached, then the jumpers are in the correct position for uploading. They need, though, to be in the other position for running.

HI

Some news !!! I can configure now the Xbees with X-CTU. I installed the drivers on windows, and run X-CTU. I upgraded the firmware of both Xbee to the last one. In fact X-CTU is very usefull to see and update all the parameters in the same time. But the Xbees are in the same channel, same ID, same node, and they still don't communicate with each other. I begin to think that it might be a problem with new UNO and the sparkfun Xbee Shield. Plus, they don't fit perfectly on the UNO, they touch the USB et power port, A bit too long for the UNO.

Does anyone having trouble with UNO + Sparkfun Xbee shield ? Which LED on the Sparkfun Xbee shield is supposed to blink ? Power LED ? other ? With mine, when i touch the Shield, the power led on the shield turn red, when i pull off my hand, it switchs off. but no other inbuilt led shows activity.

thank you for your help.

Note that there's at least three different XBee "shields" that I'm aware of and the instructions for one don't necessarily apply to the others.

(BTW it's unfortunate http://arduino.cc/en/Main/ArduinoXbeeShield doesn't actually have a picture of the hardware on it then the difference would be slightly more obvious. :) )

The "Arduino XBee Shield" is not the same as SparkFun's "XBee Wireless Shield".

The "ID" needs to be the same on both modules as it's a network ID not a module ID.

I'd suggest emailing SparkFun customer support to double check the UNO + XBee compatibility: techsupport@sparkfun.com

--Philip;

Thank you for your help. I did the email last night. I am waiting for Sparkfun’s answer.
IDs, Nodes, Channels, and Baud are the same on both Xbees.

Hi Guys, I'm sorry to hear that you are having issues. If you're looking for help directly on this matter, techsupport@sparkfun.com is the email you will want to use. If you have already emailed customer service it's fine, they will get the message to use, but the most direct approach is techsupport@sparkfun.com

I hope we can help you on this matter. Thanks, Timothy

HI thank you for your help. I am waiting for Sparkfun, maybe i will send an other email with much more details. Does someone know if there is an Xbee shield that is (FOR SURE) compatible with UNO And Xbee Pro 60mW 802.15.4 ? And where to buy it ? Do you think this one should work ? http://www.emartee.com/product/41948/Arduino-Xbee-V3.0-Shield Thank U

I suppose this won't make it work better =

In fact my Shield touch the USB and the power connections. the top headers can not be inside the lower on the UNO board.

Anyone in the same position ? I really need to make it work these days. Thk U

I'm having a similar problem with the same set up. Well almost the xbees are 2.5mw. So for clarification, to load the xbee data on the Sparkfun shield the jumper Is in UART right? And DLINE to run? Also I would recommend soldering the pins. U said earlier u could touch the shield and th power light would be on but after removing your hnd the power light went off. Soldering would help that. Anyways please post the reply from sparkfun because I could benefit from the info.

HI. the tech support just told me things about soldering the shield. "When the board is soldered in, it should clear the usb port just fine. Make sure when you do solder the shield to the headers, that the headers sit flush against the shield. This will prevent any issues with clearance."

I simply didn't realize that i have to solder it to make the good connections everywhere, it seems obvious now.

did you solder it ? and still have issue with UNO & Xbee Shield ?

ABOUT UART switch ; my Shield do not react the good way because i didn't solder it yet, but, i think you have to be in DLINE mode to load a sketch on Arduino, et be on UART to run UNO with Xbee.

yes i soldered it. at first i had not and the power light on light on the shield didnt come on so after that test i proceeded to solder it. I havent had a chance to work on it since the other day. have you been able to get yours to work yet? did you use XCTU to get them to start communicating?

HI. YES ! After Soldering my Xbee shield, and connect everything together ... I can see that all goes perfectly GOOD !!! Xbees can talk to each other and blink the led of the other one. That's a good start !!!!