(Originally posted on 5th of September 2008) It’s still not even a week since I bought a new iPhone 3G and during this time my brother and I did a lot of cool stuff. The iPhone with its accelerometer and multitouch display is ideal for making gadgets. When I got it home, we started thinking about some cool demos which we could make. Incidentally we found an old R/C car model 😉 Have you ever seen anything like this? I hadn’t 🙂 Did you ever think that an iPhone could do this? Enjoy!
Update (31st of July 2009)
Hack was very popular, biggest success is one chapter in iPhone Hacks book (O’reilly). It’s great experience and I want to say thanks to Damien Stolarz and Brian Jepson.
Many people asked me about source code, here it is. Documentation and howto are in iPhone Hacks book.
OS 3.0 for iPhone brings some new opportunities, including some bluetooth stuff. But unfortunatelly not SPP, so WIFI is still only chance to send something out from iPhone :-/
iPhone controlled R/C car from Josef Průša on Vimeo. Same video on YouTube.com . Controlling is very easy with the iPhone 3G. It has five buttons, four of them you can use for traditional „driving“ and when you press the last one, it unlocks the accelerometer control in the same way as in many driving games available on AppStore. Realization of this project did not take a long time, only one afternoon. Technically it is realized in a hell-bent way, but obviously it’s functional. Schematically: iPhone (OSCemote) → WiFi → PC → Max/Msp → Serial port → Arduino → Original controller. If you have some other cool ideas, leave it in comments. We can surely realize it 😉 .
OSCemote is application which sends data from iPhone to PC. It does it thru WIFI using OpenSoundControl protocol. You can buy it in AppStore ore try free lite version (unfortunately without accelerometer support 🙁 ) By the way, some big and complex audio softwares are compatible with OSC standard. For example, Traktor 3 by Native Instruments can sync tempo over OSC. You can download test patch here. For functionality you have to download Max 5 runtime.
On PC connected to network is running Max patch, which catches data from iPhone, converts it into simpler form and send it thru serial port to Arduino.
Max/Msp is generally used for audiovisual instalations, but also can do crazy things like this project 😉 .
Arduino is simple development kit with
microprocessor. Arduino process data from Max and next simulate switching on
real R/C controller using transistors.