
Introduction:
ShakerRacer allows you to control an RC car in a natural way –
with movements of your mobile
phone. A short movie showing the application in action is available online at:
http://www.youtube.com/watch?v=EMjAYdF13cUTo accelerate, you just tilt your phone forward; for turning, you rotate it to the right or left. The
movements are recorded with the internal acceleration sensor of current S60 phones.
Normal RC cars use their own proprietary wireless protocol and network transmission standard for
sending commands from the remote to the car. Of course, a mobile phone can’t emulate this.
Therefore, you have to mod your car in order to integrate Bluetooth. See the next section for details.
When you're playing a racing game or using an RC car, you will very often move your
whole body when driving through tight turns or accelerate with full speed
but the control itself is very often still done through abstract buttons on a
game controller or keyboard.
ShakerRacer does not need this additional layer and allows you to control an RC car
directly through your movements — by using the acceleration sensor of your
mobile phone. It works in a very intuitive way: just tilt your phone in the direction
you want to drive. That's it!
The car that we used is based on a standard 90 RC car bought from a toy shop.
We modded it to accept Bluetooth instead of the proprietary wireless module
that it was shipped with. A small microcontroller and a Bluetooth module replace
the original wireless components. On the side of the mobile phone, a Python
script translates the input of the acceleration sensor to commands that the
microcontroller can understand in order to manage the steering servo
as well as the main motor.
It turned out that this is a very intuitive and natural way to control the car. You do
not need any practice as the concept can be understood instantly. So there's
nothing that can block your way to fun!
Keep in mind that the phone cannot simply connect to an out-of-the-box RC car,
as the standard wireless remote control of a car uses some proprietary protocol
and technology for communication. Only by adding a microcontroller + Bluetooth module,
you can make the car understand Bluetooth and enable it to communicate
with the phone. Stephan Selinger has written some short instructions on how to
accomplish this, but it requires some hardware ownership as well as –knowledge.
The Python application now uses the official Nokia Sensor-API by default.
This allows using the mobile client with the Nokia 5500, N95 (Firmware 20+),
N95 8GB, N93i and the N82. For the N95 with older firmware, you can reconfigure
the code to still use the very nice aXYZ Python-module from Cyke64.
ShakerRacer_v1.50.zip