Solenoid Rapidly Presses XBox 360 Controller Button
by vicvelcro in Circuits > Remote Control
16848 Views, 24 Favorites, 0 Comments
Solenoid Rapidly Presses XBox 360 Controller Button
We have a lot of unspent BadAss tokens in Borderlands 2. To spend each token, we have to press the "A" button twice - once to select the token and again to allocate the token to a particular buff. SPAMming the "A" button for several hours is boring and fatigueing. A method of pressing the button repeatedly and rapidly for an extended period of time was desired.
We have a similar problem in many other games. For us, this is not a one-time occurence.
There are two videos included with this instructable. A video demonstrating the assembly of the ciruit and a video demonstrating the intended use.
There are more ways to achieve our goal than just this method. Alternative methods will show up as future instructables. I just have some video editing and text drafting to do, first. So, for now, enjoy!
We have a similar problem in many other games. For us, this is not a one-time occurence.
There are two videos included with this instructable. A video demonstrating the assembly of the ciruit and a video demonstrating the intended use.
There are more ways to achieve our goal than just this method. Alternative methods will show up as future instructables. I just have some video editing and text drafting to do, first. So, for now, enjoy!
Safety Concerns.
Tools can hurt you. Altering the intended operation of a manufactured device almost always voids your warranty. This voids your warranty. Don't eat batterys because they have no nutrition. You are responsible for anything that happens, if you proceed to make one of these.
You May Need ... So Lookie Here and Go Get You Some.
Some of the following items are left for you to determine the appropriate manner of use. It is assumed you understand how to power your game controller and other mundane requirements necessitated by our modification.
XBox 360 Controller with Batteries or Change and Play cable
Texas Instruments MSP430 LaunchPad or other microcontroller
M430G2553 for the LaunchPad or other microcontroller as appropriate
Breadboard
Breadboard Jumper Wires
2.2k Ohm Resistor
Breadboard Power Supply (Dual Rail 3.3v and 5v DC)
Battery Pack or Wall Wart or Other Power Supply (12v DC)
DC Jack
Plumbers' Tape
Solenoid
Relay
Alligator Clips (3)
Small Regular Head Screw Driver
Duct Tape
Rubber Band or Elastic
Blue Painters' Tape
1N4007 Diode
Tacky Glue
Popsicle Stick
A Television
An XBox 360
.32 caliber firearm
Sketch
Video of how to assemble the circuit
A Few Minutes Of You Life That You Don't Have Anything Better To Do With
XBox 360 Controller with Batteries or Change and Play cable
Texas Instruments MSP430 LaunchPad or other microcontroller
M430G2553 for the LaunchPad or other microcontroller as appropriate
Breadboard
Breadboard Jumper Wires
2.2k Ohm Resistor
Breadboard Power Supply (Dual Rail 3.3v and 5v DC)
Battery Pack or Wall Wart or Other Power Supply (12v DC)
DC Jack
Plumbers' Tape
Solenoid
Relay
Alligator Clips (3)
Small Regular Head Screw Driver
Duct Tape
Rubber Band or Elastic
Blue Painters' Tape
1N4007 Diode
Tacky Glue
Popsicle Stick
A Television
An XBox 360
.32 caliber firearm
Sketch
Video of how to assemble the circuit
A Few Minutes Of You Life That You Don't Have Anything Better To Do With
Video Instructions for Assembling the Circuit.
The Sketch.
// Xbox 360 Controller button pressing solenoid using a microprocessor, a transistor, and a relay
// by Vic Velcro <vicstricks.com>
int sol = P2_5; // the pin used for the solenoid control signal
int led = P1_6; // the green led on the launchpad
void setup()
{
pinMode (sol, OUTPUT); // attaches the solenoid signal pin to the solenoid signal object
pinMode (led, OUTPUT);
}
void loop()
{
digitalWrite (sol, HIGH); // sets the solenoid high - pushes the button on the XBox 360 controller
digitalWrite (led, HIGH); // illuminates the launchpad led so we can see something happening
delay(20); // waits for the solenoid to get there - too short means not full stroke
digitalWrite (sol, LOW); // sets the solenoid low - releases the button on the XBox 360 controller
digitalWrite (led, LOW); // extinguishes the launchpad led so we know nothing is happening
delay(60); // waits a while before restarting the loop - too soon means you hacked
}
// by Vic Velcro <vicstricks.com>
int sol = P2_5; // the pin used for the solenoid control signal
int led = P1_6; // the green led on the launchpad
void setup()
{
pinMode (sol, OUTPUT); // attaches the solenoid signal pin to the solenoid signal object
pinMode (led, OUTPUT);
}
void loop()
{
digitalWrite (sol, HIGH); // sets the solenoid high - pushes the button on the XBox 360 controller
digitalWrite (led, HIGH); // illuminates the launchpad led so we can see something happening
delay(20); // waits for the solenoid to get there - too short means not full stroke
digitalWrite (sol, LOW); // sets the solenoid low - releases the button on the XBox 360 controller
digitalWrite (led, LOW); // extinguishes the launchpad led so we know nothing is happening
delay(60); // waits a while before restarting the loop - too soon means you hacked
}
The Solenoid and Bracket.
Cut a length of elastic or rubber band long enough to fit over the tail of the solenoid and half way down each side.
Drape the elastic over the tail end of the solenoid.
Cut a piece of blue painters' tape sufficient to go around the circumference of the solenoid.
Wrap the tape over the elastic and completely around the solenoid.
The idea is for the elastic to slingshot the plunger back into position after each rebound.
Cut a length of plumbers' tape sufficient to reach around the game controller.
Hang the strip on a tree.
Shoot the tape with the .32 firearm, aiming where you want to screw in the solenoid. This caliber is the perfect size.
Screw the solenoid, plunger forward, into the new hole of your plumbers' tape and tighten the nut.
Duct tape the two ends to the game controller with the solenoid plunger facing the game controller button.
Bend the strip so that the tip of the solenoid plunger just touches the game controller button.
Line the plunger up with the center of the game controlller button on the 'x' axis.
Do the same on the 'y' axis.
Use more duct tape to secure the right edge of the plumbers' to the right edge of the game controller.
Clip a piece of popsicle stick somewhat smaller than the diameter of the game controller button.
Glue the small piece of stick to the game controller button, between the solendoid plunger and the button.
Let the glue dry while you make any minor adjustments to the position of the bracket.
You want the stick to prevent the solenoid from wearing a hole in your button.
Drape the elastic over the tail end of the solenoid.
Cut a piece of blue painters' tape sufficient to go around the circumference of the solenoid.
Wrap the tape over the elastic and completely around the solenoid.
The idea is for the elastic to slingshot the plunger back into position after each rebound.
Cut a length of plumbers' tape sufficient to reach around the game controller.
Hang the strip on a tree.
Shoot the tape with the .32 firearm, aiming where you want to screw in the solenoid. This caliber is the perfect size.
Screw the solenoid, plunger forward, into the new hole of your plumbers' tape and tighten the nut.
Duct tape the two ends to the game controller with the solenoid plunger facing the game controller button.
Bend the strip so that the tip of the solenoid plunger just touches the game controller button.
Line the plunger up with the center of the game controlller button on the 'x' axis.
Do the same on the 'y' axis.
Use more duct tape to secure the right edge of the plumbers' to the right edge of the game controller.
Clip a piece of popsicle stick somewhat smaller than the diameter of the game controller button.
Glue the small piece of stick to the game controller button, between the solendoid plunger and the button.
Let the glue dry while you make any minor adjustments to the position of the bracket.
You want the stick to prevent the solenoid from wearing a hole in your button.