Bluetooth Car



Abstract

            Today’s RC toys are controlled by a single dedicated (and often proprietary) controller.  We endeavored to develop a remote control car that would be controlled via Bluetooth wireless technology.  Since Bluetooth is a standardized and relatively reliable wireless protocol, we hoped to create a car controllable by any Bluetooth device.  Additionally, Bluetooth consumes low power and has a larger bandwidth than the standard 900MHz RF link which drives most toys.  This added benefit allows for sending of complex information from the car to the controlling device—something unseen in consumer grade RC cars.  Our computer-controlled Bluetooth car demo showed the feasibility and practicality of Bluetooth controlled devices while also revealing limitations in the amount of data transmission capable by commercially available Bluetooth options.




PROJECT DECRYPTION AND OVERVIEW

1. Bluetooth Car
The core of our project (and also the component required for completion by the end of the semester) was a Bluetooth car. The requirements for the Bluetooth car were that it must connect wirelessly to a Bluetooth host and that the host must be able to control the car’s movements: forward, backward, left turn, right turn and stop.

2. Cell Phone Interface
            Once Part I had been completed, we desired to control the car from a second Bluetooth device such as a cell phone. Many cell phones currently on the market are equipped with Bluetooth technology and some provide access to their Bluetooth hardware via J2ME: a small java virtual machine distributed with mobile devices. As an extra flashy feature of our car, and to further demonstrate the interoperability of Bluetooth, we wanted to write a J2ME MIDlet (mobile application) to replace the PC from Part I.

3. Video Stream
            If time permitted, we wanted to explore transferring large amounts of data over a Bluetooth link.  In order to best push the Bluetooth protocol to the edge, we wanted to attempt a live video stream from the car back to the host PC or cell phone. This was certain to be challenging because: 1) Bluetooth does not have the bandwidth for anything close to full resolution VGA video, 2) the lack of inexpensive digital video cameras on the market required us to decode analog NTSC video into a digital format for transmission, and 3) Our prior experience with video was limited.


CONCLUSION

            Our final product is a car that can be driven via Bluetooth from a PC. It has the ability to move forward, backward, turn left, turn right, and honk. It uses the original motors and chassis from the RC car we purchased and incorporates our H-birdge, FET drivers, one PIC 18F4320, and a Bluetooth module.
After spending many nights working on the video compression and transmission, we discovered that our particular Bluetooth module was not capable of transmitting fast enough to stream live video. Instead of transmitting at the maximum Bluetooth speed of 700kbps, it could only send at 34.5 kbps. Attempting to transfer any faster would overflow the internal buffer on the BlueRadios module and cause the onboard processor to reset, dropping the Bluetooth connection. Had we been able to transfer at full Bluetooth speed, highly compressed video streaming would have been possible.
Our plans for the cell phone interface never materialized. We were unable to obtain a suitable cell phone for testing until two weeks before the project was due. In those two weeks we spent some time working on it, but, although the cell phone specifications say it is JSR-82 compatible, we were unable to initiate a BSPP session with a PC much less the car.
Over all, the project was a great success. We both learned a lot about power systems, motors, video, video compression, and embedded systems. At the same time we have an interesting project we can be proud of and expand upon in the future.






No comments:

Post a Comment