Rover v2 with xbee

Hello guys
I have Rover v2 with xbee and i have a hard time to have communication with it. I soldered the xbee in xbee2 slot but i cant find it on XCTU software, and also i tried
with arduino serial terminal still nothing can somebody help me please!!!

Hi,

To better help you, we will need more information about your situation and setup.

  1. Which XBee modules are you using with your RobotShop Rober v2?
  1. In the above sentence, do you mean you soldered your XBee module directly to the Rover V2 board or is it connected using the 2mm Bee headers to the board? Please provide a picture in your reply to clarify this point. If you are unsure how to attach a file to your post, look at this image.

  2. If both of your XBee modules are of the exact same type, you should not need to configure them to be able to connect them together (default settings should take care of it). If you have different types then you may have to configure them to pair up/connect properly. If this is the case, the XBee module will need to be connected by USB directly to your computer (not through the Rover v2) to be detected by the XCTU software properly. If you need an XBee to USB adapter, here is a possible option.

Sincerely,

Hi scharette thank you for the fast respond,

1.I am using xbee s 1 with pcb antenna (2 of them ) robotshop.com/en/1mw-xbee-tr … tenna.html

  1. And yes its directly soldered on the Rover V2 PCB i172.photobucket.com/albums/w13/Dimitar111/11101479_841148262589311_788686073_n_zpsbmpdsh9i.jpg

I have the usb explorer, and they xbee modules are from same type, but still i cant send comands from xbee to the rover :frowning:

Which sketch are you running on the Rover right now?

We recommend that you try the WASD example available in the Rover manual on page 27.

[code]/* Sketch #2: Basic Rover – W/A/S/D Keyboard Control */

/To control the rover, Copy and paste the code below into the Arduino software/
int E1 = 6; //M1 Speed Control
int E2 = 5; //M2 Speed Control
int M1 = 8; //M1 Direction Control
int M2 = 7; //M2 Direction Control

void setup(void)
{
int i;
for(i=5;i<=8;i++)
pinMode(i, OUTPUT);
Serial.begin(9600);
}

void loop(void)
{
while (Serial.available() < 1) {} // Wait until a character is received
char val = Serial.read();
int leftspeed = 255; //255 is maximum speed
int rightspeed = 255;
switch(val) // Perform an action depending on the command
{
case ‘w’:
//Move Forward
forward (leftspeed,rightspeed);
break;
case ‘s’:
//Move Backwards
reverse (leftspeed,rightspeed);
break;
case ‘a’:
//Turn Left
left (leftspeed,rightspeed);
break;
case ‘d’:
//Turn Right
right (leftspeed,rightspeed);
break;
default:
stop();
break;
}
}

void stop(void) //Stop
{
digitalWrite(E1,LOW);
digitalWrite(E2,LOW);
}

void forward(char a,char b)
{
analogWrite (E1,a);
digitalWrite(M1,LOW);
analogWrite (E2,b);
digitalWrite(M2,LOW);
}

void reverse (char a,char b)
{
analogWrite (E1,a);
digitalWrite(M1,HIGH);
analogWrite (E2,b);
digitalWrite(M2,HIGH);
}

void left (char a,char b)
{
analogWrite (E1,a);
digitalWrite(M1,HIGH);
analogWrite (E2,b);
digitalWrite(M2,LOW);
}

void right (char a,char b)
{
analogWrite (E1,a);
digitalWrite(M1,LOW);
analogWrite (E2,b);
digitalWrite(M2,HIGH);
}[/code]

Please make sure that you set the XBee switch to XBee1 when uploading code to the Rover. The USB port and XBee sockets are all connected to the same serial port of the microcontroller and therefore only one of them can be in use at any one time. Once the uploading is done, disconnect the USB cable and place the switch back to XBee2 to connect your XBee module to the microcontroller’s serial port.

Provided that you are using the right baud rate, you should then be able to send commands to your Rover now. Which software are you using to control your Rover? What baud rate? Did you change any of the configurations of your XBee module before soldering it? What about the other one?

Sincerely,

I am using that code provided from the manual. I am going step by step and i assure everything is correct from the manual and your suggestions but still nothing. I am using HyperTerminal by Hilgraeve on 9600 baud rate and i tried higher. And i didnt change nothing on the xbee modules…

Did you make sure to check the configurations of the connection and change the flow control option to “Xon / Xoff” (the default is “Hardware”)?

This may make a difference in the connection. You can see a screenshot on page 35 of the manual.

If this was also done and it still doesn’t work, then we can see two possible options:

  1. You may have missed a step in the configuration / setup or something is not configured properly.
  2. The XBee module was damaged when soldered to the Rover board (the recommended use is to solder 2mm XBee headers to the board, not the XBee itself).

But, to eliminate possible issues, lets try another test:
First, set the switch to XBee1 to ensure the XBee module is disconnected from the serial port. Then, connect the board by USB and make sure the WASD code is upload properly to the Rover.
After this is done, open the serial monitor in the Arduino IDE (with the right port and baud rate selected) and try to move the rover using the “w”, “a”, “s”, “d” commands.

Sincerely,

With switch to xbee 1 the rover is working, and i am using Xon / Xoff. I checked up the xbee and its soldered fine and i dont think so that it had been
damaged from soldering. I am going with this steps.

  1. First i am uploading the W,S,A,D code from the manuel on the rover (xbee switch is on xbee1).
    2.Unplug the usb from the rover.
    3.After that i am turning on the rover switching on xbee2.
  2. I am pluging in the xbee explorer with attached xbee on it to the PC.
  3. I am opening hyperterminal set the xbee com port, baud rate on 9600, Xon/Xoff and nothing…

Where i am doing wrong ???

Hi,

Do you mean that you are able to make the rover move using the Arduino serial monitor? If so, this would indicate an issue with your XBee module(s) (either the one on the rover, the one on the explorer or both). Since you soldered the XBee module to the board, there is no way to check or change its configuration using XCTU.

If the rover is moving when controlled by USB but you are unable to connect using XBee, we recommend that you remove (de-solder) the XBee module from the rover. This will allow you to ensure your XBee module is still working by using it with your explorer adapter. Then, replace the XBee module that was on the rover with two 10mm, 10 pin headers.

We will be trying to reproduce your situation here (except with the 2mm headers) and will post again shortly.

Sincerely,

Hi,

So, we’ve tried a Rover v2 with an XBee module on the rover (slot #2) and another XBee module on a XBee Explorer (both the same type of XBee module).

We uploaded the WASD code to the rover and tried with USB only (with switch at XBee1). It worked fine.

We then tried it using XBee. We changed the switch from XBee1 to XBee2 and powered the rover. We were again able to control the device, but this time through XBee.

We are unable to reproduce your issue so we are leaning towards a damaged or defective XBee module. Since you soldered directly your XBee module, it is very possible the heat damaged it somewhat (they are meant to be used with 2mm, 10 pin female headers, not soldered).

We recommend that you de-solder (as carefully as possible) your XBee from the rover and try it with your XBee Explorer to determine if it is still working. If it is, go into XCTU and check the settings for PANID. Both XBee modules should have the same PANID and all other addresses (source & target) set to 0 (broadcast/promiscuous mode).

Sincerely,

I de-soldered the xbee and connect to the usb explorer and check the configuration its same with the other one i make tests with the xbees in XCTU they work fine, now i will found 2 mm pins
and soldered on the board and connect the xbee thru the 2 mm pins. From this i have doubts with the steps on how to make the connection.
Can you please provide a video step by step how are you doing the whole community will be grateful because there is no video for the xbee moving.
Thank you very much for the support

While we currently do not have plans of making a new video or tutorial for the rover product, we are glad to offer any help we can and answer your questions.

Please find attached a modified version of the rover WASD example with feedback on the robot state. In this version, you will receive ASCII content back from the rover informing you when it starts, waits for commands and when it changes state.

Sincerely,
_2016-06-08_DFRobotShop_Rover_V2_WASD_with_feedback.zip (1.22 KB)

I solved this issue, it turned out that you need the 2mm connectors, without them with direct soldering on the board its not working and i dont know why.
But anyway thank you scharette