Control Lego NXT With Wiimote
Ever want to build your own RC vehicle? Now you can. Your in control of its design, and as simple to use a Legos, because it is Legos. All you need is a Lego NXT, a computer with a Bluetooth dongle, and control software
I am 17 years old.
I am 17 years old.
Materials
You will need:
*standard NXT kit
*computer with bluetooth
*wiimote
*standard NXT kit
*computer with bluetooth
*wiimote
Step 1
This part is best explained visually. View pictures for guidance.
Step 2
View pictures for guidance.
Step 3
View pictures for guidance.
Step 4
View pictures for guidance.
Step 5
View pictures for guidance.
Step 6
View pictures for guidance.
Step 7
View pictures for guidance.
Step 8
View pictures for guidance.
Step 9
View pictures for guidance.
Step 10
View pictures for guidance.
Step 11
View pictures for guidance.
Step 12
View pictures for guidance.
Step 13
View pictures for guidance.
Step 14
View pictures for guidance.
Step 15
View pictures for guidance.
Step 16
View pictures for guidance.
Step 17
View pictures for guidance.
Step 18
View pictures for guidance.
Step 19
View pictures for guidance.
Step 20
View pictures for guidance.
Step 21
View pictures for guidance.
Step 22
View pictures for guidance.
Step 23
View pictures for guidance.
Step 24
View pictures for guidance.
Step 25
View pictures for guidance.
Step 26
View pictures for guidance.
Step 27
View pictures for guidance.
Step 28
View pictures for guidance.
Step 29
Plug left cable into port b. The picture is wrong.
Step 30
Plug the right cable into port c. The picture is wrong.
Software
download glovepie from:
http://glovepie.org/glovepie_download.php
download the controller:
http://www.norgesgade14.dk/bluetoothremote.php
After downloading extract the files.
http://glovepie.org/glovepie_download.php
download the controller:
http://www.norgesgade14.dk/bluetoothremote.php
After downloading extract the files.
Turn Brick On
Find Bluetooth
use left and right keys until Bluetooth is centered.
Select Bluetooth
Once you find the Bluetooth icon hit the orange button.
Find On/Off
Use the right and left arrows to find On/Off
Turning on Bluetooth
Select On if not already.
Finding Visibility
While in the Bluetooth menu find the visibility icon.
Make It Visible
Select On if not already selected.
Start
click on the orb or hit super on your keyboard.
Control
Start the control panel.
Bluetooth
double click the Bluetooth icon.
Add Device
Select add device from the menu bar.
Find Device
After clicking on add new device a window will open. Other devices than your brick may appear. Wait until your NXT brick is found to double click on it. My bricks name was Sean, so I clicked on it.
Pairing
A window will open asking for the device's password.
Paring Password
Look at your brick. The default password is "1234." You can change the password if you want to. Once you know what password you want to use select the check mark.
Paring
Enter pairing password from NXT.
Finish Pairing
Click connect and windows will install the drivers needed.
Wait
Wait until all the drivers have been installed and the brick has been successfully paired to move on.
Pairing Wiimote
Go back to the Bluetooth window. Your brick should now appear there. Select add new device.
Pairing Wiimote
Make sure your Wii is off. Either hold down both the 1 and 2 buttons or hit sync on the back of the controller.
Find Device
After clicking on add new device a window will open. Other devices than the wiimote may appear. Wait until your wiimote is found to double click on it.
Connect Wiimote to Computer
For the password option. Select pair without password.
Finish Connecting Wiimote
The wiimote should pair with your computer and install drivers.
Getting Com Port
Go to the Bluetooth menu. Right click on your brick, select properties, then settings. After loading you will see which COM port the brick is using.
Start the Control Program
Double click on the controllers icon.
Enter COM Port
Enter the com port of the brick. Then click start.
Enable Keyboard
Click enable keyboard in lower right corner of the program.
Start Glovepie
Double click on the glovepie icon.
Program
Here is the program. Just copy and past
if var.run == FALSE then
var.run = TRUE
HidePie
var.hidden = TRUE
endif
if ((DoubleClicked(Wiimote.Home) and Wiimote.HasClassic == FALSE) or DoubleClicked(Home) or DoubleClicked(Wiimote.Classic.Home)) and (var.hidden == true) then
ShowPie
var.hidden = FALSE
elseif ((DoubleClicked(Wiimote.Home) and Wiimote.HasClassic == FALSE) or DoubleClicked(Home) or DoubleClicked(Wiimote.Classic.Home)) and (var.hidden == FALSE) then
HidePie
var.hidden = TRUE
endif
var.home = SingleClicked(Wiimote.Home)
If var.home and var.on then
var.on = FALSE
elseif var.home and var.on = FALSE then
var.on = TRUE
endif
key.u = wiimote.a
key.j = wiimote.b
key.t = wiimote.Plus
key.g = wiimote.minus
key.y = wiimote.right
key.h = wiimote.Left
var.err = 15 //edit to change intervals. (0 - 180) are possible values
if ((wiimote.roll > var.err) && (wiimote.pitch < -(var.err)))
key.w =false
key.d =false
key.s =false
key.a =false
key.e =true
key.c =false
key.z =false
key.q =false
else
key.e =false
endif
if ((wiimote.roll > var.err) && (wiimote.pitch > var.err))
key.w =false
key.d =false
key.s =false
key.a =false
key.e =false
key.c =true
key.z =false
key.q =false
else
key.c =false
endif
if ((wiimote.roll < -(var.err)) && (wiimote.pitch < -(var.err)))
key.w =false
key.d =false
key.s =false
key.a =false
key.e =false
key.c =false
key.z =false
key.q =true
else
key.q =false
endif
if ((wiimote.roll < -(var.err)) && (wiimote.pitch > var.err))
key.w =false
key.d =false
key.s =false
key.a =false
key.e =false
key.c =false
key.z =true
key.q =false
else
key.z =false
endif
if ((Abs(wiimote.roll) <= var.err) && (wiimote.pitch > var.err))
key.w =false
key.d =false
key.s =true
key.a =false
key.e =false
key.c =false
key.z =false
key.q =false
else
key.s = false
endif
if ((wiimote.roll > var.err) && (Abs(wiimote.pitch) <= var.err))
key.w =false
key.d =true
key.s =false
key.a =false
key.e =false
key.c =false
key.z =false
key.q =false
else
key.d = false
endif
if ((Abs(wiimote.roll) <= var.err) && (wiimote.pitch < -(var.err)))
key.w =true
key.d =false
key.s =false
key.a =false
key.e =false
key.c =false
key.z =false
key.q =false
else
key.w = false
endif
if ((wiimote.roll < -(var.err)) && (Abs(wiimote.pitch) <= var.err))
key.w =false
key.d =false
key.s =false
key.a =true
key.e =false
key.c =false
key.z =false
key.q =false
else
key.a = false
endif
if (((Abs(wiimote.roll) <= var.err) && (Abs(wiimote.pitch) <= var.err)) || ((Abs(wiimote.roll) <= var.err) && (Abs(wiimote.pitch) <= var.err)))
key.w =false
key.d =false
key.s =false
key.a =false
key.e =false
key.c =false
key.z =false
key.q =false
endif
Wiimote.Led1 = var.on
Wiimote.Led2 = true
Wiimote.Led3 = var.on
Wiimote.Led4 = true
if Wiimote.Battery <= 10 and var.warned == FALSE then
Say "Low Battery"
var.warned = TRUE
endif
var.bat = Wiimote.Battery / 192 * 100
debug ='Battery= '+var.bat+'%'
if var.run == FALSE then
var.run = TRUE
HidePie
var.hidden = TRUE
endif
if ((DoubleClicked(Wiimote.Home) and Wiimote.HasClassic == FALSE) or DoubleClicked(Home) or DoubleClicked(Wiimote.Classic.Home)) and (var.hidden == true) then
ShowPie
var.hidden = FALSE
elseif ((DoubleClicked(Wiimote.Home) and Wiimote.HasClassic == FALSE) or DoubleClicked(Home) or DoubleClicked(Wiimote.Classic.Home)) and (var.hidden == FALSE) then
HidePie
var.hidden = TRUE
endif
var.home = SingleClicked(Wiimote.Home)
If var.home and var.on then
var.on = FALSE
elseif var.home and var.on = FALSE then
var.on = TRUE
endif
key.u = wiimote.a
key.j = wiimote.b
key.t = wiimote.Plus
key.g = wiimote.minus
key.y = wiimote.right
key.h = wiimote.Left
var.err = 15 //edit to change intervals. (0 - 180) are possible values
if ((wiimote.roll > var.err) && (wiimote.pitch < -(var.err)))
key.w =false
key.d =false
key.s =false
key.a =false
key.e =true
key.c =false
key.z =false
key.q =false
else
key.e =false
endif
if ((wiimote.roll > var.err) && (wiimote.pitch > var.err))
key.w =false
key.d =false
key.s =false
key.a =false
key.e =false
key.c =true
key.z =false
key.q =false
else
key.c =false
endif
if ((wiimote.roll < -(var.err)) && (wiimote.pitch < -(var.err)))
key.w =false
key.d =false
key.s =false
key.a =false
key.e =false
key.c =false
key.z =false
key.q =true
else
key.q =false
endif
if ((wiimote.roll < -(var.err)) && (wiimote.pitch > var.err))
key.w =false
key.d =false
key.s =false
key.a =false
key.e =false
key.c =false
key.z =true
key.q =false
else
key.z =false
endif
if ((Abs(wiimote.roll) <= var.err) && (wiimote.pitch > var.err))
key.w =false
key.d =false
key.s =true
key.a =false
key.e =false
key.c =false
key.z =false
key.q =false
else
key.s = false
endif
if ((wiimote.roll > var.err) && (Abs(wiimote.pitch) <= var.err))
key.w =false
key.d =true
key.s =false
key.a =false
key.e =false
key.c =false
key.z =false
key.q =false
else
key.d = false
endif
if ((Abs(wiimote.roll) <= var.err) && (wiimote.pitch < -(var.err)))
key.w =true
key.d =false
key.s =false
key.a =false
key.e =false
key.c =false
key.z =false
key.q =false
else
key.w = false
endif
if ((wiimote.roll < -(var.err)) && (Abs(wiimote.pitch) <= var.err))
key.w =false
key.d =false
key.s =false
key.a =true
key.e =false
key.c =false
key.z =false
key.q =false
else
key.a = false
endif
if (((Abs(wiimote.roll) <= var.err) && (Abs(wiimote.pitch) <= var.err)) || ((Abs(wiimote.roll) <= var.err) && (Abs(wiimote.pitch) <= var.err)))
key.w =false
key.d =false
key.s =false
key.a =false
key.e =false
key.c =false
key.z =false
key.q =false
endif
Wiimote.Led1 = var.on
Wiimote.Led2 = true
Wiimote.Led3 = var.on
Wiimote.Led4 = true
if Wiimote.Battery <= 10 and var.warned == FALSE then
Say "Low Battery"
var.warned = TRUE
endif
var.bat = Wiimote.Battery / 192 * 100
debug ='Battery= '+var.bat+'%'
Controls
hold wiimote with IR camera facing away from you and level.
tilt wiimote down to go forward
tilt wiimote backward to go backward
tilt wiimote right to turn right
tilt wiimote left to turn left
tilt wiimote down and right to go forward to the right
tilt wiimote up and right to go backward to the right
tilt wiimote down and left to go forward to the left
tilt wiimote up and left to go backward to the left
plus button increases speed
minus button decreases speed
right button on gamepad increases spin speed
left button on gamepad decreases spin speed
a button increases turn ratio
b button decreases turn ratio
double click home button to reopen glove pie
tilt wiimote down to go forward
tilt wiimote backward to go backward
tilt wiimote right to turn right
tilt wiimote left to turn left
tilt wiimote down and right to go forward to the right
tilt wiimote up and right to go backward to the right
tilt wiimote down and left to go forward to the left
tilt wiimote up and left to go backward to the left
plus button increases speed
minus button decreases speed
right button on gamepad increases spin speed
left button on gamepad decreases spin speed
a button increases turn ratio
b button decreases turn ratio
double click home button to reopen glove pie
Run Glove Pie
Click run and enjoy.
I am 17 and if I can do, so can you.
I am 17 and if I can do, so can you.