Posts | Comments

Planet Arduino

Archive for the ‘xbox’ Category

Instructables user [Roboro] had a Mad Catz Xbox steering wheel controller he hasn’t had much use for of late, so he decided to hack and use it as a controller for a robot instead.

Conceivably, you could use any RC car, but [Roboro] is reusing one he used for a robot sumo competition a few years back. Cracking open the controller revealed a warren of wires that were — surprise, surprise — grouped and labelled, making for a far less painful hacking process. Of course, [Roboro] is only using the Xbox button for power, the player-two LED to show the connection status, the wheel, and the pedals, but knowing which wires are which might come in handy later.

An Arduino Uno in the wheel and a Nano in the robot are connected via CC41-A Bluetooth modules which — despite having less functionality than the HM10 module they’re cloned from — perform admirably. A bit of code and integration of a SN754410 H-bridge motor driver — the Arduino doesn’t supply enough current to [Roboro]’s robot’s motors — and the little robot’s ready for its test drive.

[Roboro]’s suggested improvements are servo steering for the robot, upgrading to the HM10 module, more sensors to take advantage of the other buttons on the wheel, and a camera — because who doesn’t love some good ol’ fashioned FPV racing?


Filed under: Arduino Hacks, hardware, robots hacks

at-at

Dave Stein is a software engineer during the day and a tinkerer on Arduino projects in his free time after work. He submitted on the blog his first Arduino project with the goal of powering his old AT-AT Walker toy (mid 1980s) with Arduino Uno and make it walk and perform some of the functions we see in the Star Wars movies.

AT-AT (All Terrain Armored Transport) are four-legged combat walkers 22.5mt (73.8ft) tall of the Galactic Empire, one of its most famous military symbols introduced  in “Star Wars V: The Empire strikes back”, and we may see them again in the next weeks on “Star Wars: The Force Awakens” the upcoming episode of the saga opening December 18th.

The AT-AT walker toy updated by Dave is controlled by a wired Xbox 360 controller that interfaces with a computer and transports a signal to the Arduino Uno for walker movement:

The left and right triggers move the walker forward and backward while the right stick moves the head horizontally. If you have ever played with this toy you may remember it was clumsy and difficult to move. In my project I wanted to learn about and conquer the difficulties of quadrupedal movement. The realization process for my project involved a massive amount of trial and error, research, and failures. I have to say that I failed many more times than I succeeded with configuring the servos with the Arduino. I went down many long roads to learn about prototyping with the breadboard, soldering, and redesigns of the final product. The most difficult part of the project aside from adjusting the gait of the walker for balance and movement was providing enough power to the servos without frying the microcontroller or any of the components. I was finally able to overcome these difficulties by implementing the Adafruit servo shield.

Check AtAt Project website for all info, parts list and upcoming tutorial!

Jul
15

Using A TeensyLC To Emulate The XBOX 360 Controller

32-bit, 360, arduino, arduino hacks, ARM, fight stick, Programming, Teensy, teensyduino, teensylc, USB, xbox Comments Off on Using A TeensyLC To Emulate The XBOX 360 Controller 

After the release of Mortal Kombat X, [Zachery’s] gaming group wanted to branch out into the fighter genre. They quickly learned that in order to maximize their experience, they would need a better controller than a standard gamepad. A keyboard wasn’t going to cut it either. They wanted a fight stick. These are large controllers that look very much like arcade fighting controls and include a joystick and large buttons. [Zachery’s] group decided to build their own fight stick for use with a PC.

[Zachery] based his build around the TeensyLC, which is a 32 bit development board with an ARM processor. It’s also compatible with Arduino. The original version of his project setup the controller as a HID, essentially emulating a keyboard. This worked for a while until they ran into compatibility issues with some games. [Zachery] learned that his controller was compatible with DirectInput, which has been deprecated. The new thing is Xinput, and it was going to require more work.

Using Xinput meant that [Zachery] could no longer use the generic Microsoft HID driver. Rather than write his own drivers, he decided to emulate the XBOX 360 controller. When the fight stick is plugged into the computer, it shows up as an XBOX 360 controller and Windows easily installs the pre-built driver. To perform the emulation, [Zachery] first had to set the VID and PID of the device to be identical to the XBOX controller. This is what allows the Microsoft driver to recognize the device.

Next, the device descriptor and configuration descriptor had to be added to the Teensy’s firmware. The device descriptor includes information such as USB version, device class, protocol, etc. The configuration descriptor includes additional information about the device configuration. [Zachery] used Microsoft Message Analyzer to pull the configuration descriptor from a real XBOX 360 controller, then used the same data in his own custom controller.

[Zachery] programmed the TeensyLC using the Arduino IDE. He ran into some trouble here because the IDE did not include the correct device type for an Xinput device. [Zachery] had to edit the boards.txt file and add three lines of code in order to add a new hardware device to the IDE’s menu. Several other files also had to be modified to make sure the compiler knew what an Xinput device type was.  With all of that out of the way, [Zachery] was finally able to write the code for his controller.


Filed under: Arduino Hacks, ARM


  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook