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