Talking To A Nunchuk - Arduino Uno Quick Start Manual

Hide thumbs Also See for Arduino Uno:
Table of Contents

Advertisement

That s really all you have to do to connect a Nunchuk controller to an Arduino.
In the next section, you ll see that the two wires connected to analog pins 4
and 5 are all we need to interface with the controller.

Talking to a Nunchuk

No official documentation shows how a Nunchuk works internally or how you
can use it in a non-Wii environment. But some smart hackers and makers
on the Internet invested a lot of time into reverse-engineering what s happening
inside the controller.
All in all, it s really simple, because the Nunchuk uses the Two-Wire Interface
2
(TWI), also known as I
to communicate via a master/slave data bus using only two wires. You
transmit data on one wire (Data), while the other synchronizes the communi-
cation (Clock).
The Arduino IDE comes with a library named Wire that implements the I
protocol. It expects the data line to be connected to analog pin 4 and the clock
line to analog pin 5. We ll use it shortly to communicate with the Nunchuk,
but before that, we ll have a look at the commands the controller understands.
To be honest, the Nunchuk understands only a single command: "Give me
all your data." Whenever it receives this command, it returns 6 bytes that
have the following meanings:
Bit
7
Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Z accel.
Byte 6
bits 1..0
1.
http://en.wikipedia.org/wiki/I2c
2.
At
http://todbot.com/blog/2010/09/25/softi2cmaster-add-i2c-to-any-arduino-pins/
that allows you to use any pair of pins for I
C (Inter-Integrated Circuit) protocol.
6
5
4
3
Joystick x position
Joystick y position
X acceleration bits 9..2
Y acceleration bits 9..2
Z acceleration bits 9..2
Y accel.
X accel.
bits 1..0
bits 1..0
2
C communication.
www.it-ebooks.info
Talking to a Nunchuk
1
It enables devices
2
1
0
C
Z
status
status
, you can find a library
147
2
C
2
report erratum
discuss

Hide quick links:

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the Arduino Uno and is the answer not in the manual?

Subscribe to Our Youtube Channel

Table of Contents