Download Xbox 360 controller expansion

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Electronic musical instrument wikipedia , lookup

Control system wikipedia , lookup

Control theory wikipedia , lookup

Opto-isolator wikipedia , lookup

Distributed control system wikipedia , lookup

Music technology (electronic and digital) wikipedia , lookup

Emulator wikipedia , lookup

Immunity-aware programming wikipedia , lookup

Transcript
[Open Source Hardware]
XBOX 360 CONTROLLER EXPANSION
Jesse Ardonne
ET 494
Advisor: Dr. Cris
INTRODUCTION

Competition for motion controls include:
Microsoft Kinect
 Sony Move
 Nintendo Wii

Many games released are not top selling or rated
games
 By creating an open source platform with
hardware and software, gamers with a vast range
in technical knowledge can have a resource to
review and expand controls to play their favorite
games with any motion control they wish.

OBJECTIVES
Develop an interface between a microcontroller
and an Xbox 360 Controller
 Allow the microcontroller to accept various
inputs through different mediums
 Interpret signals and convert to acceptable
outputs for the Xbox 360 Controller

CONCEPT
Provide the minimal hardware to interface an
Xbox 360 controller to a microcontroller.
 Establish a preconfigured serial connection
with a computer.
 Sensors for control can be

 Directly
connected to the microcontroller
 Sent over computer via
 USB
 Bluetooth
PURPOSE

Microsoft XNA
accomplice


If you can program your
own games, why can’t
you build your own
controller?
Customizable control
scheme for any game
Add motion controls
 Interact more with a
game


An appealing project for
future students
DESIGN


Design History
Hardware







Software





mBed
AD5206
MCP23017
LCD 16x
Keypad
Xbox 360 controller
mBed
Computer
Wiimote
Keyboard/Mouse
Integration
DESIGN HISTORY

Microcontroller

NETduino  mBed


Analog Functions

Pulse Width Modulation  Digital to Analog (D/A)  Digital Potentiometers


Transistors  4066

Shift Registers  MCP23017 I2C Bus

Opportunity to learn new protocol
Input

Buttons  Keypad


Helped organize circuit
Port Expansion


Fast, more efficient, and better organization
Digital Button Pushes


More libraries and support available
Reduces input wires and better organization
Setting Output

LEDs  LCD Screen

Provides more ergonomic display
HARDWARE
mBed
 AD5206
 MCP23017
 LCD 16x2
 Keypad
 Xbox 360 Controller

MBED

Features





ARM Cortex M3 core
96MHz clock
512KB flash
64KB RAM
Interfaces






Ethernet
USB
CAN
SPI
I2C
Purpose

Provide main interface for



Sensors
Controllers
Serial Input
AD5206 DIGITAL POTENTIOMETER

Features
6 channels with 256
positions each
 10 k Ω
 SPI connection

 Requires

Purpose


3 wires
Replace 6 mechanical
potentiometers
Uses write(address, value)
to assign proper values
4066 BILATERAL SWITCH

Features
 Network
of 4 digital
transistors
 Wide supply voltage

Purpose
 Replace
physical
button pushes with an
enable pin

4 are needed to cover
the 16 buttons
MCP23017



Features
 16-bit remote
bidirectional I/O port
 High speed I2C
interfacing
Purpose
 Expand digital I/O
ports
2 chips used
 All 16 outputs used for
buttons
 7 inputs used for
keypad
LCD 16X2 MODULE

Features
 16
characters wide
 2 rows
 White text on blue
background

Purpose
 Display

current input
Occupies 6 mBed
pins
KEYPAD 12 BUTTON

Features
 12
Buttons
 Matrix circuit

Purpose
 Control

Input
Occupies 7 pins on
MCP23017
XBOX 360 CONTROLLER

Features
16 Buttons
 6 Analog Functions
 3.3V Supply Power


Purpose


Translate input to
Xbox 360 console
Traces provided by
Ron Alexander of
www.Xbox-Scene.com
SOFTWARE

mBed applications [C++]
 Wiimote
 Keyboard/Mouse
 Integrated

Computer
 Wiimote
[C#]
 Keyboard/Mouse [C++]
MBED APPLICATIONS

Wiimote


Keyboard/Mouse


Receives buffer
of Wii variables
Receives buffer
of Keyboard/
Mouse variables
Integrated

Combines input:




Nintendo 64
Playstation 2
Wiimote
Keyboard/Mo
use
COMPUTER

Wiimote Program


C#
Keyboard/
Mouse Program

C++
INTEGRATION
APPLICATIONS
CUSTOMIZE CONTROL SCHEME
PROTOTYPE
MACRO
EXERCISE
Replace analog ‘gas
pedal’ with speed of
spinning bicycle
 Rotating handle bars
for spin
 Add ergonomic
buttons for extra
commands

GAME ART
PROJECT’S FUTURE

Compatible Accessories
 Kinect
 Sony
Move
 Other
CONCLUSION
Multiple applications
 Bright future
 Appeals to younger
students
 Promotes exercise
 Works with:

 Sensors
 USB
 Bluetooth
REFERENCES












www.mBed.org
www.netduino.com
www.arduino.cc
www.analogdevices.com
www.xbox-scene.com
www.sparkfun.com
www.adafruit.com
www.microsoft.com
www.allegro.cc
http://brannigan.emporia.edu/projects/WII/
www.infectionist.com
www.digikey.com
QUESTIONS