Saturday, April 30, 2011

It's Finished!

Sorry about the lack of updates, as most of you know I've been practically living in Detkin lab for the past seven days working on this project, and I have entirely neglected this blog...

The real take home message from this blog post is...
WE'RE DONE!

As is, our project implements all of our baseline goals and our first reach goal of getting the design working with the XBox 360.

 To recap, our final design consists of two parts.  First, the transmitter (or the gun):


Total construction time: 40(+) hours

Set in the case of the gun are an analog stick, trigger, and buttons to implement the entirety of the XBox 360 controller interface (except the d-pad, giving a total of 12 buttons).  Inside the hollow stock is an XBee wireless antenna, where the chamber would be (in a real gun) we fitted a gyroscope, and in the front there's an mbed, with wires connecting to everything else in the gun.  For an idea of how messy the insides of the gun got, check out this picture (and note that this has 10 or so fewer wires than the gun does now!)


Time required to properly re-close the gun after adding a new component: 2 hours.
Finally, using a drill, hand saw, spare PVC pipe, and quite a bit of luck, the daughter screen of a portable DVD player car kit was mounted on the gun.  It is actually secure enough that you can flail around trying to find a pesky AI shooting you in the back on Modern Warfare 2 and the display won't slide loose in the slightest.  We measured and trimmed the sight rails on top of the gun such that the display fits in perfectly (i.e. eventually slides in with a substantial amount of shoving).


The other component of our project is the receiver.

Microsoft, you should be ashamed of what you made us do here, but I know you're not
The buttons were all implemented using relays (which are essentially just electrically controlled "buttons"), while the analog parts (triggers and analog sticks) were implemented using both the mbed's DAC, a pair of external I2C DACs, and also a home-made 3 (technically 4, but with bit 3 hardcoded to 0) bit DAC.  If the XBox 360 controller USB protocol were documented, this wouldn't have been necessary... but the probability of that ever happening is essentially 0.  Data is received from the gun using a second XBee wireless antenna. 


After we plugged the receiver into the XBox 360 and the gun into any USB port, we were ready to go: the project worked more or less out of the box, there were only a few things both in-game and in software that needed tweaking.  As it stands now, games are entirely playable (as long as you don't need the d-pad), however, because of the cord tether, it can be difficult to experience the full range of motion.

Once I find someone to lend me a capture card, I will make a recording of me playing Call of Duty or something (possibly even online), but until then, this picture of Henry playing will have to suffice:


Don't mind me, just pwning some noobs on XBL
The demo is tomorrow, so let's all pray to god that this project will still work when we wake up in the morning.  FYI, the current time record for "The Pit" on MW2 stands at 1:07 with the gun controller (my fastest run).  After the project demo, we will take any challengers to beat this time - obviously, only a perfect run will count.

No comments:

Post a Comment