Tuesday, August 01, 2006

BLUETOOTH add on "coming soon"

I checked out the Developer kits - A very exciting time for NXT. But that's not all that's happening. I checked the Lego Bluetooth Page and it changed since last I checked:


"Coming Soon!Remote control your NXT Robot from from the palm of your hand with the LEGO MINDSTORMS NXT Mobile Phone Application. A Getting Started tutorial and programming ideas are included. "
I was starting to get annoyed with the "Line is busy" when using BT with other non-NXT things. I was about to call and complain - I mean they even show a picture on the box. Now I know the phone is not included but the functionality if shown should be doable from whats in the box or freely avalaible and within the realm of an average user (not a super hacker). But now I am much happier.

AND they included Lego tested BT apps (I assume these were tested by the MDPs)

The table below list a number of devices with Bluetooth enabled wireless technology that has been tested by LEGO and our partners.MINDSTORMS NXT
  • Abe UB22S - Compatible
  • Belkin F8T003 ver. 2 (short range) - Compatible
  • BlueFRITZ! AVM BT adapter, BlueFRITZ! USB v2.0 - Compatible
  • Cables Unlimited USB-1520 - Compatible
  • Dell TrueMobile Bluetooth Module - Compatible
  • Dell Wireless 350 Bluetooth Internal Card - NOT COMPATIBLE
  • Dlink DBT-120 - Compatible
  • MSI Btoes - Compatible
  • MSI StartKey 3X-faster - Compatible
  • TDK GoBlue - Compatible
  • Qtrek, Bluetooth USB Adapter v2.0 - Compatible

On the site they are ranked on compatability. Only the Dell internal BT was poorly rated. I just got a laptop (partly to support mobile NXT work) and was having a tough time deciding between getting onboard BT or not (from Dell). Instinct told me to stay away. Yeah!

I wonder if this is all part of a larger republishing of the Lego Mindstorms site. Anyone else notice changes (I think software may have a different picture layout, but I am not sure).

Drew

3 Comments:

At August 08, 2006 11:42 AM , Anonymous View[+}Finder said...

Bluetooth works for me. With considerable difficulty (due to lack of knowledge) I have managed to create a control program on a Palm T/X that operates the NXT over BT. The NXT SDK was a big help. The program is in PocketC and can make the robot go Fwd, Rev, TurnL, TurnR, as well as rotate CW and CCW at 2 speeds.

Here's the listing:
// NXT BT Motors
int ret, i, j;

outRetMsg() {
for (j=1;j<1000;j++) {
if (serdata())
// data waiting
puts((char)serrecv()+ "\n");
}
}
openBT() {
clear();
puts("BT Control A &C\n");
ret =0;
serclose();
seropenx(0x7266636D,57600);
sersettings( "8N1H", 15);
puts("seropenx() - " + ret + "\n");
ret=serdata();
puts("serdata() - " + ret + "\n");
sleep(1000);
}
resetMotor() {
sersend( 0x04);
sersend( 0x00);
sersend( 0x80);
sersend( 0x0A);
sersend( 0xFF); // all
sersend( 0x00);
}
runMotor() {
sersend( 0x20); // run
sersend( 0x00); // limit
sersend( 0x00);
sersend( 0x00);
sersend( 0x00);
sersend( 0x00);
}
setMotor() {
sersend( 0x0D);
sersend( 0x00);
sersend( 0x80);
sersend( 0x04);
}
pageUp() {
setMotor();
sersend( 0xFF); // A & C
sersend( 0x25); // power
sersend( 0x05); // mode
sersend( 0x01); // regulate
sersend( 0x00); // turn
runMotor();
puts("Up\n");
}
pageDown() {
setMotor();
sersend( 0xFF); // all
sersend( 0xE6); // power
sersend( 0x05); // mode
sersend( 0x01); // regulate
sersend( 0x00); // turn
runMotor();
puts("Down\n");
}
selectStop() {
setMotor();
sersend( 0xFF); // all
sersend( 0x00); // power
sersend( 0x03); // mode
sersend( 0x01); // regulate
sersend( 0x00); // turn
runMotor();
puts("Stop\n");
}
pageLeft() {
setMotor();
sersend( 0x00); //A
sersend( 0x35); // power
sersend( 0x05); // mode
sersend( 0x01); // regulate
sersend( 0x00); // turn
runMotor();
puts("Left\n");
}
pageRight() {
setMotor();
sersend( 0x02); // C
sersend( 0x35); // power
sersend( 0x05); // mode
sersend( 0x01); // regulate
sersend( 0x00); // turn
runMotor();
puts("Right\n");
}
slowCCW() {
setMotor();
sersend( 0x02); // C
sersend( 0xFA); // power
sersend( 0x05); // mode
sersend( 0x01); // regulate
sersend( 0x00); // turn
runMotor();

setMotor();
sersend( 0x00); // A
sersend( 0x0A); // power
sersend( 0x05); // mode
sersend( 0x01); // regulate
sersend( 0x00); // turn
runMotor();
puts("slow CCW\n");
}
rotateCCW() {
setMotor();
sersend( 0x02); // C
sersend( 0xF0); // power
sersend( 0x05); // mode
sersend( 0x01); // regulate
sersend( 0x00); // turn
runMotor();

setMotor();
sersend( 0x00); // A
sersend( 0x0F); // power
sersend( 0x05); // mode
sersend( 0x01); // regulate
sersend( 0x00); // turn
runMotor();
puts("CCW\n");
}

slowCW() {
setMotor();
sersend( 0x00); // A
sersend( 0xFA); // power
sersend( 0x05); // mode
sersend( 0x01); // regulate
sersend( 0x00); // turn
runMotor();

setMotor();
sersend( 0x02); // C
sersend( 0x0A); // power
sersend( 0x05); // mode
sersend( 0x01); // regulate
sersend( 0x00); // turn
runMotor();
puts("slow CW\n");
}
rotateCW() {
setMotor();
sersend( 0x00); // A
sersend( 0xF0); // power
sersend( 0x05); // mode
sersend( 0x01); // regulate
sersend( 0x00); // turn
runMotor();

setMotor();
sersend( 0x02); // C
sersend( 0x0F); // power
sersend( 0x05); // mode
sersend( 0x01); // regulate
sersend( 0x00); // turn
runMotor();
puts("CW\n");
}

handleB(int e) {
if (e==5) pageUp();
else if (e==6) pageDown();
else if (e==8) rotateCCW();
else if (e==7) slowCCW();
else if (e==10) slowCW();
else if (e==9) rotateCW();
else if (e==16) pageLeft();
else if (e==17) pageRight();
else if (e==18) selectStop();
//outRetMsg();
}

main() {
int e;
hookhard(1);
openBT();
while (1) {
e=event(1);
handleB(e);
}

// This line included for completeness
serclose();

 
At August 09, 2006 9:26 AM , Anonymous View[+}Finder said...

I've posted a PocketC PalmOS applet (freeware) on Palmgear. You'll need PocketC runtime at least to use it. It may take a day or two to get the listing on the Palmgear site. I've also got a sensor reader that uses Bluetooth to get data back to the Palm working. More to come.

 
At August 10, 2006 1:51 PM , Anonymous Filip said...

Hi View[+}finder,

Great stuff. The bNXT site is in evolution and it would be great if you could contact me directly at filip@bnxt.com. Perhaps we could put some of your downloads on the bNXT site...

Filip

 

Post a Comment

Subscribe to Post Comments [Atom]

Links to this post:

Create a Link

<< Home