My Brother got me an AdaFruit MotorShield for Xmas. I’ve used it to revive an old project that I had temporarily given up on. I was trying to build my own Helicopter drone, I ended up buying most of the parts from HERE. The brains of the vehicle cost over $400.00, which I am not willing to buy, so instead I’m using the Motorshield on an Arduino to control the rotors, the input control is a pair of thumbsticks ripped out of an old Playstation game controller. So far everything seems to be working. We will see if it can fly when I put in the super battery (which freightens me)
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 otherrobots that play these kinds of games.
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
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
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
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.
I got inspired to build my own “Fume Extractor” after watching this VIDEO
I wanted to make a big one, so I used a Pelican case instead of an Altoid tin, with a large computer case fan and a 12v DC power adapter instead of two 9v.
Large Fume Extractor
Easy to open
It works!
It works pretty well, I no longer smell the solder. The airflow isn’t as strong as I would like it to be. It may need a better filter, or MORE POWER!
If you like good Science fiction Novels, and E-Books (who doesn’t) , you should check out “A Vow to Sophia” book one of an amazing trilogy. It has breath taking action, and tragic drama. My Dad has sculpted a world in the future, where man kind has to once again deal with hatred and oppression, but on a galactic scale.
When twelve year-old Onja Pedersen vowed before Goddess Sophia to free her mother and sister from Sirian slavery, she had no idea how to make it happen; six years later, when the Sirian Confederacy attacks the Solar Federation, she sees her chance and joins the United Federation Fighter Fleet.
From the day she enlists, Onja faces opposition — a skeptical recruiter, a sadistic drill instructor, a vengeful XO — but there are good men as well, and eventually she falls in love. Consumed by hatred of the Sirians, Onja lusts only to kill, and quickly becomes the deadliest gunner in the Fighter Service. In just two years of combat, she destroys dozens of enemy fighters, two troop transports, and faces down an enemy carrier. Then Fate hits back, and takes from Onja her most prized possession. The man she loves.
Goto AWK Books and buy a copy, I’ve read them and its well worth it!
I’ve been participating in 24 Hour Toons for the last two rounds, here are my odd little films.
Each round a theme is given, and everyone makes a little film based on that idea within 24 hours and posts it. It’s a great exercise, the short amount of time given keeps you from over thinking and complicating an idea. When you spend weeks animating on a shot, something like this feels like animation improv.
Not too long ago I found this awesome US Army Radio Headset from the Vietnam War. It was still in the box unused (I think)! I thought it would be fun if I could use them with X-Box Live.
US Army Radio Headset - microphone H 63 / U - Vietnam War
It was a simple mod. The headset has two plugs (for earphone, and mic), I took a spare molex cable from a PC power supply and connected the prongs, they fit perfectly! Everything worked pretty well as is, the microphone has a bit of static when you speak on XBL so I may open that up and replace it with a more modern one.
Click the last image for a closer look of the headset, its build to last!
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.
I’ve made some progress on my “Guitar Hero Robot” mod. I dissected a used “Guitar Hero” guitar and wired its inputs to the niftyArduino Duemilanove. Now the sensor input feeds the notes back into the X-Box.
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 offsignal (thank you Chris Cordingley).
I will post a How-to along with the source code as soon as I’m finished.