Brink rover is remote control toy truck bought from Wal-Mart.
It's remote control is connected with my PC. When you are
driving it using those controls above, you are basically
communicating with my PC and my PC is communicating with
the remote which in turn controls the truck. We also mounted
a cordless webcam on the truck so you can see where you
are going :) There is small image server that sits on my
PC, and when you press connect, it starts streaming video
to you, 1 frame per second.
DETAILS
To start this project, first hurdle was to connect the remote
with PC. Once you put your head around it, it's kind of
simple.
Let me start by explaining how the remote works. All the
regular remotes have 4 buttons, their shape or size of implementation
might be different, but essentially 1 button for each direction.
When a button is pressed, the circuit for that particular
direction is completed and that signal is sent to the car.
I'd
to replace each button with some button which can be controlled
electronically (works with electric signals rather than
have to press physically). I used a "transistor"
for this (for those interested, I used a NPN transistor
- 2N3904 available at RadioShack). A transistor is a small
electronic component which has 3 legs. If you attach one
leg to the positive end of circuit, one end to negative,
and apply a small current to third leg, it switches the
transistor "ON" and it lets the current flow in
the circuit.
With transistors in place, the next step was to control
the transistor from PC. The simplest way to interface any
electronic device with a PC is using the parallel (Printer)
port. I got an old printer cable from the thrift store,
chopped one end, and connected 4 data cables to 4 transistors
and the ground to common ground of remote.
Once
the hardware portion was complete. I used a freeware utility
to send data to printer port. I was now officially able
to control the remote from my PC. The next objective was
to interface that utility with internet.
For that, I wrote a server in PHP which accepts connection
on a specific port from internet and passes the data on
to that utility. To interface with this server, the front-end
client was made in Flash. Flash has best of both worlds,
one can make graphic rich user interface and it's real easy
way to talk to sockets.
Since,
flash does not talk to any scripts that are not hosted in
the same domain as itself, I'd to serve the flash file from
my system. So, now I needed an HTTP server. It seemed an
overkill to use apache to serve just one file, so I just
wrote a very basic HTTP server in PHP (NOTE: I'm just using
PHP executable and running it standalone).
Last and least of the problems was to serve the images from
webcam. I used another free utility for that. It takes the
pictures from the USB reciever of the cordless cam mounted
on the truck and sends it to flash whenever a user is connected
to the rover.
UPDATE - 07/05/2005
Initially, our webcam was always ON, whether or not somebody
was driving the rover. So, the battery drained out in 2-3
hours. Finally, I got around to making a remote switch for
the webcam. I'd
to hack the webcam and replace the manual push button switch
with a RWS-434 434MHz RF Receiver Module &Holtek HT-648L 8-Bit Decoder IC combo. A TWS-434A
434MHz RF Transmitter Module & Holtek HT-640
8-Bit Encoder IC combo was added to the another data
pin on the printer cable.The PHP server was modified to
send an ON signal whenever anybody connects and an OFF signal
whenever somebody disconnects, essentially saving us a lot
of battery power. Another small modification was to replace
the existing battery chamber of the webcam with an external
custom one where we can plug 2 batteries now.
Rover is down for now. One
of you crashed it really bad and the camera needs repair :(
You people are insane.
Comment by
mario andretti 6/4/2005 @ 3:25 pm
lol...need a tune up or
something.....
Comment by
Barry Lick 6/6/2005 @ 11:07 am
this is phat, but no image here :)
keep up the dOpE stuff
Comment by
Angel 6/8/2005 @ 10:56 am
u need to charge the battery more
often ;)
Comment by
max mazur 6/8/2005 @ 8:38 pm
Maybe somebody blew up the whole
office with this dinky toy.. or
more like a street care named
desire