0% found this document useful (0 votes)
46 views

How To Control Your Robot Using A Wii Nunchuck An

How-to-Control-Your-Robot-Using-a-Wii-Nunchuck-an
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views

How To Control Your Robot Using A Wii Nunchuck An

How-to-Control-Your-Robot-Using-a-Wii-Nunchuck-an
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Home Sign Up!

Browse Community Submit


All Art Craft Food Games Green Home Kids Life Music Offbeat Outdoors Pets Photo Ride Science Tech

Control Your Robot Using a Wii Nunchuck (and an Arduino)


by oomlout on December 17, 2008

Table of Contents

Control Your Robot Using a Wii Nunchuck (and an Arduino) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Intro: Control Your Robot Using a Wii Nunchuck (and an Arduino) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

Step 1: Parts & Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Step 2: Wiring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Step 3: Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Step 4: Finished . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

http://www.instructables.com/id/How-to-Control-Your-Robot-Using-a-Wii-Nunchuck-an/
Intro: Control Your Robot Using a Wii Nunchuck (and an Arduino)
After wearing myself out playing Wii Boxing I got to thinking wouldn't it be great if I could use this to control my robot, (looking to my left hand).

Looking around the internet I found a bevy of people doing similar things, (links to everyone just below the video). So what follows is a re-packaging of all their hard work,
resulting in a robot controllable by both the Wii nunchuck's joystick or more interestingly its accelerometers.

A quick video of my Arduino Controlled Servo Robot - (SERB) being controlled by a Wii nunchuck.

(resources)

(here) - Arduino Code - Chad at WindMeadows.com has written excellent arduino code for reading the Wii nunchuck. Code which I have included pretty much
verbatim in this project. if you're interested in more technical details this is where to look.
(here) - Nunchuck Details - WiiLi.org has a great wiki about all things Wii, this is a link to a page that describes the nunchucks protocol and how to calibrate your
nunchuck.
(here) - WiiChuck Adapter - Tod of todbot.com very kindly produced a small adapter to make plugging your nunchuck into a breadboard particularly easy.

(similar projects)

(here) - Wireless Nunchuck Control - Frank over at Society of Robots went one step further adding a wireless link so he can control his Arduino robot with all
the tilt and twist fun from afar.
(here) - Nunchuck Controlled Pan and Tilt Camera - Using a Nunchuck and an Arduino to control the pan and tilt of a camera.
(here) - Nunchuck and Arduino Controlled Canoe - Finally a rather epic project that uses an Arduino, nunchuck, servos and small trolling motor to drive a
Canoe.

(if you have an Arduino nunchuck project you've completed drop me a line and it can be added here)
(shameless plug)
To check out more of our lovely open source projects - oomlout.com

Image Notes Image Notes


1. An Arduino Controlled Servo Robot - (SERB) - with Wii nunchuck attached. 1. An Arduino Controlled Servo Robot - (SERB) - with Wii Nunchuck attached in
more natural surroundings.

http://www.instructables.com/id/How-to-Control-Your-Robot-Using-a-Wii-Nunchuck-an/
Step 1: Parts & Tools
Only a few parts to collect before we get wiring and programming

Robot - (Arduino Controlled Servo Robot - (SERB) )


( build your own , or purchase a lovely kit ($175)

We use an Arduino Controlled Servo Robot - (SERB) however any Arduino powered dual servo robot will work. Other options (here)

Electronics - ($24)

Wii Nunchuck - ($20) - (Amazon) , or at your closest Blockbuster or CircuitCity


WiiChuck Adapter - ($4) - A small circuit board that allows you to plug your nunchuck into a breadboard without modifying it. (if you don't want to use your
nunchuck on your Wii you can save yourself four dollars and simply cut the connector off and plug the wires directly into your breadboard) - (FunGizmos)
Assorted pieces of Breadboard wire - (22 AWG solid)

That's it onto Wiring it up

Image Notes
1. Wii Nunchuck - (x1) - Available online or from your nearest Blockbuster
2. Wiichuck Adapter - (x1) - Available from FunGizmos.com
3. A few Pieces of Breadboard wire (22 awg solid)
4. Arduino Controlled Servo Robot - (SERB) - build your own or kits available from oomlout.com

Step 2: Wiring
Wiring this up could not be simpler, and requires only four wires.

Explained

Data - (d) - (green) - Arduino Analog 4


Clock - (c) - (yellow) - Arduino Analog 5
Ground - (-) - (white) - Arduino gnd
+3.3v - (+) - (red) - Arduino 5v (although the Arduino is a 3.3 volt device it seems to work without adverse effects at 5 volts)

Pictorially

refer to the attached wiring diagram (05-(NUSE)-Wiring Diagram.pdf)

http://www.instructables.com/id/How-to-Control-Your-Robot-Using-a-Wii-Nunchuck-an/
Image Notes
1. The breadboard as viewed from above

File Downloads

05-(NUSE)-Wiring Diagram.pdf ((612x792) 35 KB)


[NOTE: When saving, if you see .tmp as the file ext, rename it to '05-(NUSE)-Wiring Diagram.pdf']
Step 3: Programming
The Wii Nunchuck is now connected to the Arduino's i2c port. For those of you (including myself) who don't really understand what that means do not fret, just rest
assured, it is a good thing. If you would like to know more of the nitty gritty details they can be found (here)

(many thanks to chad at windmeadow.com for doing the research and writing really easily understood Arduino code to interact with the Wii nunchuck, the program below
includes his code virtually unchanged).

What it does

The program will default to using the nunchucks joystick for control. If you push the stick forward your robot will go forward, reverse, backwards and so on.
If you hold down the "Z" button (the big one on the front). Your robot will now move based on the tilt of the nunchuck. Tilt forward to go forward...
Finally if it isn't quite working the program will send the state of the nunchucks buttons, joystick and accelerometers, every second over the Arduino's USB port.
(just open the debug window at 9600 to see this data)

For those interested in simply getting it going.

Copy and Pasting

Copy the Arduino code from below


Paste it into the Arduino development environment.
upload and start playing

Using the Code in Your Own Program

First initialize the nunchuck by calling nunchuck_init ();


Next every time you wish to update the values of the nunchuck in your sketch call readNunchuck();
Next to directly access the values call getNunValue(Variable Constant); (ex. YAXIS)
Finally if you wish to use the accelerometer but have it scaled to a number of Gs (ie. 1 g = 1 force of gravity). you can call getXGs();, getYGs(); or getZGs();

Appendix 1 - _SERB_WiiNunchuckControl.pde

//START OF NUNCHUCK PREAMBLE - For more in depth information please visit the original source of this code http://www.windmeadow.com/node/42
//-------------------------------------------------
/*
* Wiring Details
* white - ground
* red - 3.3+v - 5 volts seems to work
* green - data - Analog 4
* yellow - clock - Analog 5
*/

#include #include #undef int #include uint8_t outbuf[6]; // array to store arduino output int cnt = 0; // counter used for nunchuck
nunchuckValues[CBUTTON] = 0;

// byte outbuf[5] contains bits for z and c buttons


// it also contains the least significant bits for the accelerometer data
// so we have to check each bit of byte outbuf[5]
if ((outbuf[5] >> 0) & 1) { nunchuckValues[ZBUTTON] = 1; } //checking if Z button is pressed (0=pressed 1=unpressed)
if ((outbuf[5] >> 1) & 1) { nunchuckValues[CBUTTON] = 1; } //checking if C button is pressed (0=pressed 1=unpressed)
if ((outbuf[5] >> 2) & 1) { tempNun_xAxis += 2; } //adding second least significant bit to x_axis
if ((outbuf[5] >> 3) & 1) { tempNun_xAxis += 1; } //adding least significant bit to x_axis
if ((outbuf[5] >> 4) & 1) { tempNun_yAxis += 2; } //adding second least significant bit to y_axis
if ((outbuf[5] >> 5) & 1) { tempNun_yAxis += 1; } //adding least significant bit to x_axis
if ((outbuf[5] >> 6) & 1) { tempNun_zAxis += 2; } //adding second least significant bit to z_axis
if ((outbuf[5] >> 7) & 1) { tempNun_zAxis += 1; } ////adding least significant bit to x_axis

nunchuckValues[XAXISDELTA] = tempNun_xAxis - nunchuckValues[XAXIS];


nunchuckValues[XAXIS] = tempNun_xAxis;
nunchuckValues[YAXISDELTA] = tempNun_yAxis - nunchuckValues[YAXIS];
nunchuckValues[YAXIS] = tempNun_yAxis;
nunchuckValues[ZAXISDELTA] = tempNun_zAxis - nunchuckValues[ZAXIS];
nunchuckValues[ZAXIS] = tempNun_zAxis;
}
cnt = 0;
send_zero (); // send the request for next bytes
}

int getNunValue(int valueIndex){


return nunchuckValues[valueIndex];
}

void nunchuck_init (){


Wire.begin (); // join i2c bus with address 0x52
Wire.beginTransmission (0x52); // transmit to device 0x52
Wire.send (0x40); // sends memory address
Wire.send (0x00); // sends sent a zero.
Wire.endTransmission (); // stop transmitting
}

http://www.instructables.com/id/How-to-Control-Your-Robot-Using-a-Wii-Nunchuck-an/
void send_zero () {
Wire.beginTransmission (0x52); // transmit to device 0x52
Wire.send (0x00); // sends one byte
Wire.endTransmission (); // stop transmitting
}

// Encode data to format that most wiimote drivers except


// only needed if you use one of the regular wiimote drivers
char nunchuk_decode_byte (char x) {
x = (x ^ 0x17) + 0x17;
return x;
}

//END OF NUNCHUCK CODE - For more in depth information please visit the
//original source of this code http://www.windmeadow.com/node/42
//---------------------------------------------------------------

//------------------------------------------------------------------------
//START OF ARDUINO CONTROLLED SERVO ROBOT (SERB) ROUTINES

/*
* sets up your arduino to address your SERB using the included routines
*/
void serbSetup(){
setSpeed(speed);
pinMode(LEFTSERVOPIN, OUTPUT); //sets the left servo signal pin
//to output
pinMode(RIGHTSERVOPIN, OUTPUT); //sets the right servo signal pin
//to output
leftServo.attach(LEFTSERVOPIN); //attaches left servo
rightServo.attach(RIGHTSERVOPIN); //attaches right servo
goStop();
}

/*
* sets the speed of the robot between 0-(stopped) and 100-(full speed)
* NOTE: speed will not change the current speed you must change speed
* then call one of the go methods before changes occur.
*/
void setSpeed(int newSpeed){
if(newSpeed >= 100) {newSpeed = 100;} //if speed is greater than 100
//make it 100
if(newSpeed <= 0) {newSpeed = 0;} //if speed is less than 0 make
//it 0
speed = newSpeed * MAXSPEED / 100; //scales the speed to be
//between 0 and MAXSPEED
}

/*
* sets the speed of the robots rightServo between -100-(reversed) and 100-(forward)
* NOTE: calls to this routine will take effect imediatly
*/
void setSpeedRight(int newSpeed){
if(newSpeed >= 100) {newSpeed = 100;} //if speed is greater than 100
//make it 100
if(newSpeed <= -100) {newSpeed = -100;} //if speed is less than -100 make
//it -100
rightSpeed = newSpeed * MAXSPEED / 100; //scales the speed to be
//between -MAXSPEED and MAXSPEED
rightServo.write(90 - rightSpeed); //sends the new value to the servo
}

/*
* sets the speed of the robots leftServo between -100-(reversed) and 100-(forward)
* NOTE: calls to this routine will take effect imediatly
*/
void setSpeedLeft(int newSpeed){
if(newSpeed >= 100) {newSpeed = 100;} //if speed is greater than 100
//make it 100
if(newSpeed <= -100) {newSpeed = -100;} //if speed is less than -100 make
//it -100
leftSpeed = newSpeed * MAXSPEED / 100; //scales the speed to be
//between -MAXSPEED and MAXSPEED
leftServo.write(90 + leftSpeed); //sends the new value to the servo
}

/*
* sends the robot forwards
*/
void goForward(){
leftServo.write(90 + speed);
rightServo.write(90 - speed);
}

/*
* sends the robot backwards
*/
void goBackward(){
leftServo.write(90 - speed);
rightServo.write(90 + speed);
}

/*
* sends the robot right
*/
void goRight(){
leftServo.write(90 + speed);
rightServo.write(90 + speed);
http://www.instructables.com/id/How-to-Control-Your-Robot-Using-a-Wii-Nunchuck-an/
}

/*
* sends the robot left
*/
void goLeft(){
leftServo.write(90 - speed);
rightServo.write(90 - speed);
}

/*
* stops the robot
*/
void goStop(){
leftServo.write(90);
rightServo.write(90);
}
//END OF ARDUINO CONTROLLED SERVO ROBOT (SERB) ROUTINES
//---------------------------------------------------------------------------

//START OF PRINT ROUTINES (can delete if not using)


//---------------------------------------------------------------

//Prints the Nunchucks last read data (must call NUN_readNunchuck(); before calling
void printData(){
Serial.print("XJoy= ");Serial.print (getNunValue(XSTICK), DEC); Serial.print ("\t");
Serial.print("YJoy= ");Serial.print (getNunValue(YSTICK), DEC); Serial.print ("\t");
Serial.print("XGs= ");Serial.print (getXGs() * 1000, DEC); Serial.print ("\t");
Serial.print("YGs= ");Serial.print (getYGs() * 1000, DEC); Serial.print ("\t");
Serial.print("ZGs= ");Serial.print (getZGs() * 1000, DEC); Serial.print ("\t");
Serial.print("ZBut= ");Serial.print (getNunValue(ZBUTTON), DEC); Serial.print ("\t");
Serial.print("YBut= ");Serial.print (getNunValue(CBUTTON), DEC); Serial.print ("\t");
}

//END OF PRINT ROUTINES


//--------------------------------------------------------------------

http://www.instructables.com/id/How-to-Control-Your-Robot-Using-a-Wii-Nunchuck-an/
Step 4: Finished
I hope you've gotten it working and are having fun tilting and driving.

If its not quite working leave a message or send us an e-mail at [email protected] and we'll try our best to help you get it working.

(shameless plug)
For more fun open source projects try visiting us at oomlout.com

Related Instructables

Arduino Wii Nunchuck


Controlled Using WiiChuck
Adapter with as general
Servo Robot Wireless Wii purpose
Easy DIY Home Angle Arduino by
Automation (SERB) by Nunchuck measurement controller via
oomlout controlled josestude Arduino board
(using servo using gyro,
Arduino by accelerometer by XenonJohn
switches) by
oomlout XenonJohn and Arduino by
otaviousp

Comments
37 comments Add Comment

tmj61 says: Feb 7, 2011. 7:26 AM REPLY


Is the kit no longer available? when i try to go to the l "purchase a lovely kit" link it does not work.

Hoolaput says: Jul 22, 2009. 9:39 PM REPLY


why would you want to use the 5v if there's a 3v3 (3.3v) on the arduino beside the reset and 5v?

carlosanchez says: Aug 18, 2010. 5:12 AM REPLY


The 3.3V is supplied by the FTDI chip. Therefore it will only be available if the Arduino is powered via USB. If it is connecter to a battery, the chip will be
bypassed.

http://www.instructables.com/id/How-to-Control-Your-Robot-Using-a-Wii-Nunchuck-an/
Asuraku says: Nov 28, 2009. 6:27 PM REPLY
This code is an absolute mess and I can't seem to figure out how to fix it. Could someone post an un-scrambled working copy?

carlosanchez says: Aug 18, 2010. 5:08 AM REPLY


http://oomlout.com/tmp/SERB_WiiNunChuckControl.txt

Mdob says: Jan 13, 2010. 6:59 PM REPLY


Agreed, code is screwed; lets hope that Oomlout fixes it soon.

carlosanchez says: Aug 18, 2010. 5:09 AM REPLY


http://oomlout.com/tmp/SERB_WiiNunChuckControl.txt

jac.diamond says: Jul 10, 2010. 11:59 PM REPLY


Is the code posted alright? Im thinking of doing this but i dont want to buy the stuff until i know its alright.

carlosanchez says: Aug 18, 2010. 5:08 AM REPLY


I found the original code Here you go! http://oomlout.com/tmp/SERB_WiiNunChuckControl.txt

carlosanchez says: Aug 17, 2010. 7:07 AM REPLY


Hello! Would it be possible to post the code in a .pde file? The one pasted in the Instructable is scrambled in the beggining and is really hard to fix. Thanks!

Dannne11 says: Jul 14, 2010. 2:47 PM REPLY


how doe you connect the servos???

xava100 says: Jan 22, 2010. 11:44 PM REPLY


someone should try this with the classic controller since there isnt any other use for it

isambard1000 says: Nov 1, 2009. 12:56 PM REPLY


Hi Oomlout, the Arduino code seems to have got scrambled... can you repost it or email it to me. Thanks!

TXTCLA55 says: Sep 30, 2009. 6:09 PM REPLY


Hello again I just built the robot and well something is screwed up. I built it to your diagrams, pictures, and code and all I got was this:

http://www.flickr.com/photos/14462918@N03/3970656962/

The video pretty much shows the problem...NOTHING WORKS! By the way I just spent around $100 on this project and I was hoping that it would work.

tristantech says: Jul 23, 2009. 6:02 PM REPLY


If you want to save a few bucks but dont want to cut your nunchuck cord (it would be a shame to ruin such a nice toy) just take some double-sided copper
clad board and use a dremel to carve traces like in the adapter the author used. I used to trick with a gamecube controller.

ZeusFury says: Jun 9, 2009. 8:27 PM REPLY


i think i am missing _SERB_WiiNunchuckControl.hex because i got this error
....FR0N58YFUI0OXF5\_SERB_WiiNunchuckControl\applet\_SERB_WiiNunchuckControl.hex': No such
file...FR0N58YFUI0OXF5\_SERB_WiiNunchuckControl\applet/_SERB_WiiNunchuckControl.cpp:133: undefined reference to `beginSerial'... i would really
like some help on this pleas

oomlout says: Jun 10, 2009. 2:58 AM REPLY


Hi zeus (and fred) Sorry not to get back sooner. The problem has arisen from an update in the Arduino IDE. There is a conflict between the Serial library
and another library we are using. To fix it simply remove all references to the Serial library and the include at the top. Or the easy option is we have
changed the code on this page. Copy and paste the updated code (above) into an empty sketch and it should compile. Sorry about the error. Regards
Stuart

http://www.instructables.com/id/How-to-Control-Your-Robot-Using-a-Wii-Nunchuck-an/
fred_thedog says: Jun 8, 2009. 4:24 PM REPLY
I get the same error as TXTCLA55. Haven't spent any time trying to find the problem yet though.

ZeusFury says: May 30, 2009. 9:17 PM REPLY


avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

i got these errors can some 1 help

evmaster297 says: May 23, 2009. 8:37 PM REPLY


with a wire less nun chuck, it looks like an awesome coaster to me!!! but eventually a dog toy

TXTCLA55 says: May 9, 2009. 10:43 AM REPLY


Errpr code: arduino cannot determine program size, says it cannot find the files needed

oomlout says: May 9, 2009. 12:22 PM REPLY


Hi TXTCL55; Sorry to hear about the error code, its never fun when something doesn't work. Something to try, is rather than downloading the files, copy
and paste the code from this page into the Arduino IDE and see if it compiles. Sometimes this works (also "cannot determine program size" is sometimes
only a warning and you may be able to upload after receiving it) Hope that was helpful, shoot us an e-mail at [email protected] if that doesn't work and
we'll try and get things sorted.

TXTCLA55 says: May 10, 2009. 6:15 PM REPLY


nope same error. I tried deleting the stuff at the end ( labled "delete if not using") and I still got error codes. I'll try sending a email to the one you
suggested.

Foaly7 says: May 8, 2009. 11:01 AM REPLY


Dude. Totally use a wireless WiiChuck and tweak its range and mount a camera on your 'bot and you can have a surveillance bot!

renamecor says: Feb 5, 2009. 1:09 AM REPLY


How cool is that, I'm off to see if I can find my daughters WREX and insert a wii nunchuck where the sun don't shine.

What about wireless nunchuck - WIreless Nunchuck

YummyPancakes says: Dec 26, 2008. 8:24 AM REPLY


Very, very cool! I just got a Wii for Christmas, and "Santa" accidentally brought us an extra Nunchuck and Wiimote. Together with my brand new Arduino
Duemillanove, this is perfect! Thank you, and Merry Christmas!

ririgoyen says: Dec 17, 2008. 8:09 AM REPLY


you should look at Nyko's Kama (Wireless Nunchuck). You'll make your robot wireless in 4 seconds.

explosivemaker says: Dec 20, 2008. 2:12 PM REPLY


.....definitely.....a remote control car with a motion controller would be sweet....or a plane....

fwjs28 says: Dec 19, 2008. 12:20 PM REPLY


ha!nice mug...lol... here my version.... 1take wii mote and robot 2 tie wii mote to robot 3 drag wii mote and make robot move.......

cantthinkof bettername says: Dec 19, 2008. 6:47 PM REPLY


I just posted a comment almost the same, because I didn't read the comments first.

fwjs28 says: Dec 20, 2008. 5:53 AM REPLY


ha..yea i see that....i like the mug its hilarious...

cantthinkof bettername says: Dec 19, 2008. 6:49 PM REPLY


My method (and fwjs28's) was the first thing I thought of when I posted the first comment, even before I clicked the instructable.

http://www.instructables.com/id/How-to-Control-Your-Robot-Using-a-Wii-Nunchuck-an/
wolf555hound says: Dec 19, 2008. 5:26 PM REPLY
OMG, you stole MY method!!! hehe

fwjs28 says: Dec 19, 2008. 5:30 PM REPLY


um.....nu-uh.....its mine, allllll mine....lol....but my method also works......just not as accurate maybe.....

wolf555hound says: Dec 19, 2008. 7:24 PM REPLY


no! see!

cantthinkof bettername says: Dec 19, 2008. 6:46 PM REPLY


I know how to do it with just the nunchuck and the robot. Step 1: Tie the wire to the robot. Step 2: Have fun!

mithunashok says: Dec 19, 2008. 6:12 PM REPLY


Mann...that was cool....

http://www.instructables.com/id/How-to-Control-Your-Robot-Using-a-Wii-Nunchuck-an/

You might also like