Archive

Posts Tagged ‘Guitar Hero’

Robot playing Rockband on the iPhone

October 29th, 2009

Rock Band has been released on the iPhone, and even though its a lot of fun, I would rather have something play it for me. Preferably a robot!

The setup is pretty much the same as the other robots that play these kinds of games.

the setup

the setup

Light sensors are used to read the falling notes, I’m using ambient light sensors from Sparkfun.  They are small and easy to setup. (The iphone brightness has to be set to Max)

The light sensor sends data to an Arduino, which is waiting for a spike in the data. This means something bright has passed in front of the sensor.  I’m using an Arduino Mega, which is overkill for this project, but it does look really cool with those WingShields on it.

Under belly of the beast

Under belly of the beast

The Arduino runs the sensor data through some averaging filters, and sets a threshold for on and off.  This could also be done through hardware, look up Hysteresis and Schmitt trigger.  If the sensor data becomes higher than the on threshold, the Arduino reads that as a note, and tells the servo to push the screen.  The servo will not release its touch of the screen until the sensor data drops below the off threshold.  The on and off threshold have some distance between each other to deal with bouncy noise.

Servos acting like little fingers

Servos acting like little fingers

The iPhone touch screen isn’t like most PDAs.  It uses a capacitive touch screen.  More info about that HERE.  It would seem that the iPhone is looking for a finger sized touch, from living flesh.  According to the link, the screen actually looks for changes in electrical current.

I had some conductive foam laying around, its usually used for shipping sensitive electronics.  If I put my finger behind the foam and pressed on the iphone screen, it works.  If I used something non conductive, like a plastic pen, the foam would do nothing to the screen.  My solution to this was to put thin copper wires into the foam (I also used these wires to attach the foam to the servos) the other end of the wires were wrapped around the handle of an exacto knife.  When the Robot is playing the game I touch the handle of the exacto and the robot fingers are able to press the screen.  Another solution was to run all the wires into the Arduinos ground pin, but it had mixed results (not all wires were making contact)

Insert iPhone into robots pelican grips

Insert iPhone into robots pelican grips

Add all of the above together into a modified Pelican case, with a lot of hot glue (non glittery) and you have a robot that will gladly beat all your difficult songs, sit back and sip some fine tea.

The performance of this robot increases with the correct positioning of the servos, and the distance you set them to move in the code.  You may notice in my video that the right most servo had a hard time hitting its notes, it’s been glued too far south of the note position, something I may correct later.  I think it would be cool to package all of this together as a portable unit, with an Mini Arduino running the show.

Here is the code I made for the Arduino, it’s a modified version of my other project.  If you want to make your own, you will have to tweak the sensor threshold and servo settings to fit your setup.

Iphone_Rockband.pde

Update - This weekend I saw this project posted on several gadget blogs


Thanks for visiting!


Joe Making Stuff , , ,

Robots can play Rock Band too!

May 13th, 2009

I decided to turn the Guitar Hero Robot towards Rock Band. The video is playing songs on expert! The results look better than expected, I think the notes may be easier for the sensors to pick up. There is still a lot of dropped notes, which I think can be blamed on all the visual effects strobing across the screen. A more precise sensor may be the solution.

I also modified the sensor rack so each sensor is at a consistent height. This helped eliminate a lot of problems.

Joe Making Stuff , , , , , ,

A Robot playing Guitar Hero

May 10th, 2009


I’ve made some progress on my “Guitar Hero Robot” mod.  I dissected a used “Guitar Hero” guitar and wired its inputs to the nifty Arduino Duemilanove . Now the sensor input feeds the notes back into the X-Box.

The robots insides

The robots insides

I tried to keep the cost of this project down.  The Arduino does all the filtering of the sensor input, converting a shakey analog signal into an absolute on or off signal (thank you Chris Cordingley).

I will post a How-to along with the source code as soon as I’m finished.

Joe Making Stuff , , , , ,

Slow Ride

April 24th, 2009

I set up an Arduino to read the notes on Guitar Hero and flash an LED to that corresponding note.

I used this ambient light sensor,  from sparkfun.com to read the changes in value on the screen.  When something bright flashes in front of it, the Arduino will turn on an LED for as long as that brightness is there.

sensor

Take it one step further and you can have this robot play Guitar Hero for you.

–one step further–

Joe Making Stuff , , , ,