Wii Remote Zibo Zou, Daniel Maertens, Steven Duan 1 What is a Wiimote? - The Wii is a video game console made by Nintendo at around 2006.It was the first console to use an interactive remote - A player could use motions and gestures in addition to buttons to play games - The remote is a light rectangular shaped controller that contains a combination of built-in accelerometers and infrared detection. - Expanded to the remote is a “nunchuk”, which holds an accelerometer and a traditional analog stick. 2 http://brettrolfe.com/wii-mote-autops/ 3 Outputs - Sound - Wii Remote can make its own sound - Can be calibrated with Wii sound to make a 3D sound effect - Example: shooting bow and arrow - Rumble - Vibrates the remote for feedback during games - Implemented as small motor attached to off center weight http://wiibrew.org/wiki/File:Wii_Remote_Rumble.jpg 4 Accelerometer - ADXL330 Accelerometer by Analog Devices (in the Wiimote) - Used to send acceleration on x, y, z axis - Mostly used during games that require movement. - LIS3L02 (in the Nunchuk) http://www.analog.com/media/en/technical-documentation/data-sheets/ADXL330.pdf http://www.adrirobot.it/iniziale.htm 5 Sensor Bar - Emitter for IR light - 10 IR LEDs http://wiibrew.org/wiki/File:Wii-Remote-Camera.jpg - Used to orient Wiimote and to calculate the rotation of the Wiimote - Does not actually communicate with the Wii or the Wiimote - The IR Camera in the Wiimote is the PixArt Multi Object Tracking, responsible for sensing motion from the remote. https://farm6.staticflickr.com/5128/5337604469_90256fefe4_z.jpg http://www.amazon.com/s?ie=UTF8&page=1&rh=i%3 Aaps%2Ck%3Anintendo%20wii%20sensor%20bar 6 Bluetooth Communication - Broadcom BCM2042 (Bluetooth 2.0) - Used to transmit data from remote to Wii - Data sent - Position (calculated from IR sensor), - Accelerometer XYZ, http://wiibrew.org/wiki/File:Wii_Remote_Broadcom.jpg - Buttons (A, B, power, etc) - Optional Data from add-ons / additional remotes - Nunchuck: analog joystick, accelerometer - Wii MotionPlus: tuning-fork gyroscope, single axis gyroscope 7 Data Reporting - The Bluetooth establishes a HiD (Human Interface Device) connection with the Wiimote and its host. - A report can be thought of a network port assigned to a particular service. - A HiD descriptor block is used, which holds an enumeration of reports that the Wiimote can understand. - An “Input” report is sent by Wiimote to the host and is prepended by 0xA1 - An “Output” report is sent by host to the Wiimote and is prepended by 0xA2 8 Generalized Example of Data Reporting Request Core Buttons Request Wiimote movement Request IR Camera Position Return Core Button Data Return Accelerometer Data Return IR Camera Position From Address: 0x33 9 10 http://wiibrew.org/wiki/Wiimote#HID_Interface Peripherals: 6-Pin Expansion Controllers - The Wiimote has a series of 6-pin expansion port connected at the bottom of the Wiimote. - The 6-pin expansion ports are communicated through I2C serial connection. - The communication is encrypted, but people have found ways to decrypt it. - Examples: - Nunchuck - Wii MotionPlus Gyroscope - Classic Controller - Guitar Hero 3 Guitar http://wiibrew.org/wiki/Wiimote/Extension_Controllers - Wii Balance Board 11 Nunchuk - Specifically, the nunchuk has - 6 types of data readable at register address 0xA40008 - C and Z buttons are membrane switches - Joystick is an axial potentiometer, 30K ohms - Different accelerometer from the Wiimote - LIS3L02 Accelerometer - Different microcontroller from the Wiimote http://www.gaminggenerations.com/store/im ages/wiinunchuck1.jpg http://wiibrew.org/wiki/Wiimote/Extension_Controllers/Nunchuck 12 https://allaboutmcu.wordpress.com/2012/11/05/interfacing-a-wii-nunchuck-with-a-dspic30f4011-using-i2cabout-time-ps-this-is-adraft/ 13 Wii MotionPlus - Add on to the normal Wii remote that adds additional functionality - Biggest features include adding 2 gyroscopes - Pass through external extension connector - Allows use of other add ons at the same time https://en.wikipedia.org/wiki/Wii_MotionPlus#/med ia/File:Wiimote-with-Motionplus-Attach.jpg 14 Gyroscope - Used in the Wii MotionPlus to add additional functionality - Allows remote to capture complex motion more accurately - Nintendo: “Enables actions to be rendered identically on the screen in real time” - Actually includes 2 different types of gyroscopes - Dual axis Tuning fork gyroscope (InvenSense IDG-600) - Measures pitch and roll - Single axis gyroscope (EPSON TOYOCOM X3500W) - Measures yaw http://www.gamespot.com/forums/system-wars-314159282/wow-3ds- 15 will-have-a-software-installer-27349754/?page=2/ http://www.rcgroups.com/forums/showthread.php?t=1335765 16 Example of Utilizing the Wii Motion Plus https://youtu.be/uUWqBkQOr4U?t=1m1s 17 DEMONSTRATION 18 QUESTIONS??? 19 References All the References are in the notes. The below are just the important links http://wiibrew.org/wiki/Wiimote#0x22:_Acknowledge_output_report.2C_return_fu nction_result https://www.youtube.com/watch?v=ETAKfSkec6A http://wiibrew.org/wiki/Wiimote 20