Introduction: 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.
Step 1: Materials
You will need:
*standard NXT kit
*computer with bluetooth
*wiimote
*standard NXT kit
*computer with bluetooth
*wiimote
Step 2: Step 1
This part is best explained visually. View pictures for guidance.
Step 3: Step 2
View pictures for guidance.
Step 4: Step 3
View pictures for guidance.
Step 5: Step 4
View pictures for guidance.
Step 6: Step 5
View pictures for guidance.
Step 7: Step 6
View pictures for guidance.
Step 8: Step 7
View pictures for guidance.
Step 9: Step 8
View pictures for guidance.
Step 10: Step 9
View pictures for guidance.
Step 11: Step 10
View pictures for guidance.
Step 12: Step 11
View pictures for guidance.
Step 13: Step 12
View pictures for guidance.
Step 14: Step 13
View pictures for guidance.
Step 15: Step 14
View pictures for guidance.
Step 16: Step 15
View pictures for guidance.
Step 17: Step 16
View pictures for guidance.
Step 18: Step 17
View pictures for guidance.
Step 19: Step 18
View pictures for guidance.
Step 20: Step 19
View pictures for guidance.
Step 21: Step 20
View pictures for guidance.
Step 22: Step 21
View pictures for guidance.
Step 23: Step 22
View pictures for guidance.
Step 24: Step 23
View pictures for guidance.
Step 25: Step 24
View pictures for guidance.
Step 26: Step 25
View pictures for guidance.
Step 27: Step 26
View pictures for guidance.
Step 28: Step 27
View pictures for guidance.
Step 29: Step 28
View pictures for guidance.
Step 30: Step 29
Plug left cable into port b. The picture is wrong.
Step 31: Step 30
Plug the right cable into port c. The picture is wrong.
Step 32: 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.
Step 33: Turn Brick On
Step 34: Find Bluetooth
use left and right keys until Bluetooth is centered.
Step 35: Select Bluetooth
Once you find the Bluetooth icon hit the orange button.
Step 36: Find On/Off
Use the right and left arrows to find On/Off
Step 37: Turning on Bluetooth
Select On if not already.
Step 38: Finding Visibility
While in the Bluetooth menu find the visibility icon.
Step 39: Make It Visible
Select On if not already selected.
Step 40: Start
click on the orb or hit super on your keyboard.
Step 41: Control
Start the control panel.
Step 42: Bluetooth
double click the Bluetooth icon.
Step 43: Add Device
Select add device from the menu bar.
Step 44: 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.
Step 45: Pairing
A window will open asking for the device's password.
Step 46: 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.
Step 47: Paring
Enter pairing password from NXT.
Step 48: Finish Pairing
Click connect and windows will install the drivers needed.
Step 49: Wait
Wait until all the drivers have been installed and the brick has been successfully paired to move on.
Step 50: Pairing Wiimote
Go back to the Bluetooth window. Your brick should now appear there. Select add new device.
Step 51: 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.
Step 52: 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.
Step 53: Connect Wiimote to Computer
For the password option. Select pair without password.
Step 54: Finish Connecting Wiimote
The wiimote should pair with your computer and install drivers.
Step 55: 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.
Step 56: Start the Control Program
Double click on the controllers icon.
Step 57: Enter COM Port
Enter the com port of the brick. Then click start.
Step 58: Enable Keyboard
Click enable keyboard in lower right corner of the program.
Step 59: Start Glovepie
Double click on the glovepie icon.
Step 60: 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+'%'
Step 61: 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
Step 62: 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.