Bluetooth controlled robot - Updated, new video
This bot is remote controlled over Bluetooth using a Bluesmirf module. This works just like a wireless serial port.I have written a program for my smartphone which sends serial commands to the Picaxe via Bluetooth, and the Picaxe then moves the motors using an L293 motor driver chip.
Unfortunately the Picaxe doesn't have enough built-in PWM channels to drive the motors proportionally forwards and backwards so I wrote my own PWM routine. However this can't run in the background so there is a pause when the Picaxe waits for new commands. I've ordered one of these http://www.pololu.com/catalog/product/1110 which should get around that problem. It has a Maxbotix EV-1 sonar on the front, this doesn't really do anything just now.
The program that runs on the phone is written in C# and can access the phone's built-in sensors (accelerometer, light sensor, compass, and proximity sensor). The robot can be controlled by tilting the phone forward to drive forward, left to turn left etc. The phone is a Samsung Omnia 2 running Windows Mobile 6.5.
This chassis is built from pizza-foam just to check it works, I've got some polycarbonate in the post which I'll use to built a better chassis.
Eventually I plan to add an autonomous mode where the readings from the sonar are reported over bluetooth and the program uses this and the phones sensors to navigate.
Video shows it as it is just now, definately improvements to be made.
To get around the pauses in driving when the Picaxe was listening for input rather than doing its PWM routines, I got a Pololu dual serial motor controller. Because this just needs serial commands, i did away with the Picaxe and just wired it straight into the Bluesmirf module. Also, the Maxbotix EZ1 can report the range via serial. However, it does this in inverted TTL for RS232 compatability so I had to build an inverter circuit for it to talk to the Bluesmirf.
Also I've built a sturdier chassis.
In the video you can see my first autonomous function (maintaining a given heading using the phone's built in compass) along with remote control using the phones accelerometer like before (only a lot smoother now!).