The robot and arduino board works fine, I can upload the WSDA keyboard move control code onto the robot and it works with the usb cable and serial communication.
My robot is:
DFRobotShop Rover V2 - Arduino Compatible Tracked Robot (Bluetooth Kit)
Product code : RB-Rbo-41
But the bluetooth bee is not working. I soldered the 2x 10pin socket onto the arduino board, and plug the bluetooth bee onto it, switched to xbee1, but nothing happened. I also tried all combinations on the BT bee switch and xbee1/2 switch, with no luck.
My computer’s bluetooth works fine. I was able to connect it to my cellphone by bluetooth.
Here is the socket and BT bee chip:
2mm 10pin XBee Socket
Product code : RB-Spa-631
DFRobot Bluetooth Bee
Product code : RB-Dfr-95
So probably the BT bee chip is mulfunctioning? When it’s plugged in, nothing happened (I don’t know if there is any indicator on the BT chip)
question first, is there any LED indicator on the BT chip? I never see it lit up.
Answers inlined:
1Check your soldering to ensure that no two pins are touching
I’ve used a multimeter to check all 20 pins. they are perfectly soldered, from pins at the bottom of the arduino board to the BT chip pins.
2Check the Baud rate in whatever communication program you are using (Hyperterminal) and try “Hardware” as opposed to Xon Xoff
all are 115200. i can use “putty” to serial communicate with the board thru usb and WASD control it without problem.
3Ensure you have the correct orientation for the Bluetooth Bee - the “triangular” part faces the rear of the board - this is not intuitive. Match the numbers at the four corners with the numbers on the board.
that’s easy. i saw on the arduino board there are numbers indicating 1, 10, 20 pins. my orientation is correct.
4Does your computer recognize that there is a BT module when you power on the board?
No. I think that’s the problem. My PC can recognize my BT cellphone and transfer files, but never detected the robot.
Thanks for answering. First, you know we are talking about bluetooth chip, not the xbee chip, right? I copied the instructions from the v2 manual at the end here. answers inlined.
My setting is: solder the Bluetooth chip + socket to the xbee2 on the PCB , the switch is on the xbee 2 . Just exactly like the manual says.(step 4)
Try the XBee in slot 2 (and change the switch accordingly).
that’s where i soldered.
Try Xon/Xoff at 9600, then “Hardware” at 9600. Note that the default baud rate on that module is 9600 - ensure the code uploaded to the Arduino is at 9600, and the program (Putty in your case) is also set to 9600.
This is weird. Im totally confused now. But I’ve tried 9600 at the very beginning, no luck at all then changed to 115200, still no luck. Are you sure it’s for bluetooth kit is 9600 , not 115200?
Coleman,
I set to 9600 and it worked once. I was able to control the robot thru bluetooth. And there is a green LED on the bluetooth chip when it’s connected.
However, when I powered off and powered on again, I was not able to connect again. I uploaded the code again, but still no luck to connect to it using bluetooth. The BT LED is not on so I know it’s not working this time again.
Hi Coleman,
thanks. yes I was excited about the BT module worked once, but then ended up spending 2 hours to make it work again… The PC can’t find it again, only found my cellphone…
Could you tell me a bit about how this board works with the BT module? there are so many “parameters” are involved and it seems that I have to do them in sequence.
You mentioned these “parameters” are involved:
power (battery)
USB
BT module switch (xbee1, xbee2)
board switch
upload the code thru usb
Another question:
Do we need to upload the code everytime we disconnect the BT communcation? Why is it?
Compared with cellphone that is always searchable, shouldn’t the BT and arduino always be active and searchable?
Hi Coleman
I followed exactly your instructions in sequence, and was able to control it again.
However, when I powered off the robot and tried to reconnect, it failed to find the BT.
Question: do I need to follow those 11 steps every time I turn on the robot?
Honestly this doesn’t sound like a good design. Just wondering why this happens?
I was able to reconnect it without uploading the same code.
But whenever I disconnect, I need to spend like 5 minutes to connect my pc to it. the “pair” takes a while to show up.
It’s quite unreliable though. Don’t know how exactly this happens?
Thanks Coleman. To help us understand better, could you please explain a bit how to Arduino and BT module communicate? Like, when powered up the atmel chip, what happen between the chip and BT module? thanks!
I think I know what’s the cause.
It’s the power supply.
Actually I just noticed that using the 4xAA battery pack, the BT connection works like a charm. It’s like plug and play – recognizable on the spot when it’s turned on.
]Check your soldering to ensure that no two pins are touching/:m] ]Check the Baud rate in whatever communication program you are using (Hyperterminal) and try “Hardware” as opposed to Xon Xoff/:m] ]Ensure you have the correct orientation for the Bluetooth Bee - the “triangular” part faces the rear of the board - this is not intuitive. Match the numbers at the four corners with the numbers on the board./:m] ]Does your computer recognize that there is a BT module when you power on the board?/:m]
Try the XBee in slot 2 (and change the switch accordingly).
Try Xon/Xoff at 9600, then “Hardware” at 9600
Note that the default baud rate on that module is 9600 - ensure the code uploaded to the Arduino is at 9600, and the program (Putty in your case) is also set to 9600.
The manual unfortunately needs to be updated. We were considering three BT module options, but ultimately decided on the one you have now - which operates at 9600. We’ll update the manual shortly. It’s configurable, but we don’t suggest changing it until it’s tested.
So - if you uploaded code and the board worked when connected to the USB cable, then you inserted the BTBee in the correct orientation and set the switch to position 2 and turned the PWR on -and nothing happens (computer does not even detect it) it sounds defective. Let’s proceed with an RMA; please contact us via the Support Center. We apologize for any inconvenience.
Did you remove the BT module or flip the switch to the open XBee slot when uploading the code? To troubleshoot, turn the main power off and operate from USB alone. It looks promising that it worked once. Does your computer always see the BT module?
In theroy no - the last program uploaded to the board should remain there, and start running when you power up.
The BT module should always be searchable when powered. Issues arise if you remove the module or change the configuration somewhere (especially when powered on).
Excellent question - if you are able to get it to work every time by following the procedure, that is promising. If, after you follow all the steps outlined, you control the robot, then simply power off for 10 seconds (using the On/Off switch) and then power on - are you able to reconnect? If not, check that the program is still on the rover by turning it off again, moving the XBee switch to the empty slot, then connecting the USB cable and operating it connected to the computer (don’t upload a new sketch etc.). If this works, try the first setup, and when it does not seem to connect, press the onboard reset switch.
Unfortunately not, and it happens rather frequently. The response we got before is that the technology is not yet foolproof. We’ll contact DFRobot to see if they can shed some light on the issue and why that’s happening.
This is the right question to ask. I have a feeling you’d need to look at the boot code for the ATmel chip, and that of the BT module to see where there is some communication breakdown during start-up. Note that the DFRobotShop Rover is no different than a standard Arduino Uno, and we have tested BT modules from a variety of manufacturers, with the same results; sometimes you can simply power the robot ON / OFF and re-pair the two modules, whereas other times it’s harder. I’ll ask around to see if anyone has had better results and what to do and if we find a solution, we’ll write it here.