I have a Seeeduino V2.2, XBee Shield and Bluetooth Bee, purchased less than a month ago. I’ve plugged the BT Bee into the shield and then into the header for pins 0-7 on the Seeeduino. After hooking up the battery, I expected that the BT Add/Find process on my PC would see the BT Bee but no, it was not found.
I have a Nokia N800 with BT and that is found by the BT on the PC so I’m pretty sure the PC is working ok. The power led on the shield is lighted and the green led on the BT Bee continuously blinks twice to signify that it is not connected.
After reading the forums, I loaded this sketch to set the BT Bee to slave and start inquiry:
[code]void setup() {
Serial.begin(38400);
Serial.print("\r\n+STWMOD=0\r\n"); // set to slave
delay(2000);
Serial.print("\r\n+INQ=1\r\n"); // set to inquiry
Serial.print("\r\n+STAUTO=1\r\n"); // set to auto pair
}
void loop() {
}[/code]
Still can’t find the BT Bee. So, what have I missed? I’m just trying to set up a two-way serial connection from the PC to seeeduino. I didn’t expect problems from the start.
Ok, I tried again tonight. I am trying now to send the command strings through the usb cable using SSCOM3.2. I’m only assuming that I can do that by setting tog_1 and tog_2. I have tried both tog_1/tog_2 as right/right and left/right.
The BT Bee still is not found in XP by the Add BT Device Wizard. Just a note on the lights: a green led on the BT Bee is double-blinking about once a second. Only the power led is lit on the XBee Shield.
This is what I did, multiple times, per the document “Set up connections between two Bluetooth Bee step by step”:
Send New with blank input
Send +STWMOD=0
same as 1
Send +INQ=1
5 same as 1
try to discover bluetooth from PC
and
Send New with blank input
Send +STWMOD=1
same as 1
Send +INQ=1
5 same as 1
try to discover bluetooth from PC
Question: do I have to do all this before Windows will even see the BT Bee as a device?
Well, I have had some luck tonight. Here’s what I had to do:
With tog_1/tog_2 as left/right, I uploaded this sketch:
void setup() {
Serial.begin(38400);
Serial.print("\r\n+STWMOD=0\r\n"); // set to slave
Serial.print("\r\n");
delay(2000);
Serial.print("\r\n+INQ=1\r\n"); // set to inquiry
}
Obviously this is almost identical to the code I used previously. But this time I switched tog_1/2 as right/right and reset. And then the BT Bee red & green lights started flashing!!! After that I was able to to use the Device Finder to connect to the BT Bee.
I use this setup at the start of other sketches to start the pairing process:
void setup() {
Serial.begin(38400);
Serial.print("\r\n+INQ=1\r\n"); // set to inquiry
}
This is working pretty consistently right now. Although I find it interesting that:
int DATARATE=38400;
void setup() {
Serial.begin(DATARATE); // apparently this isn't = "Serial.begin(38400);
}
Begin expects a long as a parameter, Serial.begin(long), but I passed an int set to 38400. In my defense I copied an Arduino example that used “int DATARATE = 9600” which works but won’t work with 38400. But I should caught that right away!
FYI: I’m building wireless digital setting circles for my telescope. Not that it hasn’t been done before but it helps my learning to have a real project to hold my interest. On to reading the rotary encoders!
Don’t search the forum, first read this article. Much of the other docs are repeated here (good). There is a good example program and explanation with screenshots of pairing on windows and linux. If I would have read this first, I would not have had to ask these questions.
I will give the sample program a try tonight but it is almost the same as what I did so I expect it to work. It does look more complete and likely more reliable.