When I first got myself a Raspberry Pi, I thought I was being very original trying to put together a remote-controlled surveillance bot, and over a few months I got to the point of having the parts gathered up and a clunky-but-working web interface going. Only then did I actually google around and discover that I'm about the millionth person to have the same sort of idea. But as kariloy said about Jon, for example, it's about making it ourselves, anyway. My grand plan is to just go for it my own way and probably screw up all over the place, but hopefully learn as I go :)
I'm aiming to have a compact little bot with forward/reverse/left/right controls and a USB camera, with a battery pack and wireless connection for mobility. The software I'm using has some interesting features for motion detection and recording, so I think it'd be neat to activate some of that stuff and have a power multiplexer circuit to let it run from wall power while standing guard... but we'll see.
Oh, and it's named after our cockatiel Cocoa, who it was originally intended to watch over while we're away :)
I've tested this whole input/output loop as far as getting movement on the motors from a web browser, but haven't really secured it all together yet since I'm still figuring things out. (I tried briefly just plopping it all down on top of the Tamiya chassis, and it almost popped a wheelie and then spun around and shook off most of its components. Sadly I didn't catch this action on video, though.)
- CPU: Raspberry Pi Model B ($40 Adafruit)
- SD card: 4GB SD/MicroSD Memory Card ($8 Adafruit)
- Wifi: USB Dongle ($12 Adafruit)
- Battery: USB Battery Pack ($60 Adafruit) <-- Probably not ideal
- Camera: Rosewill RCM-3201V ($18 newegg)
- Motors/Chassis: TWIN MOTOR GEAR BOX and TRACKED VEHICLE CHASSIS ($12, $20 Jameco)
- Other stuff: L293D motor controller ($3 Jameco)
- Occidentalis 0.2 Linux distro from Adafruit
- Motion (package name: motion) configured to not save anything to disk
- mj-prox (installed manually from web as a CGI program)
- Apache (package name: apache2)
Status, as of April 28th:
Various problems I'm working on:
- I think I'm trying to pull too much current from that battery pack, even with the 1A connection for the RPi and the 500mA one for the motors. (When the motors kick in the network goes all choppy and shortly after the Pi crashes, so I think that's what's happening, anyway.) Now that I'm looking at more battery packs (how about this one Ladvien mentioned?) I'm thinking this one was a bit overpriced anyway, considering the specs...
- The L293D doesn't want to supply the 3V that's considered safe for the motors (I tried it at 3V, too, and they're not lying-- it really doesn't work) but when I test it out with 5V input it looks like it ends up with around 3V across each motor anyway. I don't really understand why this is, though.
- I need to check this more closely, but it looks like not all the GPIO pins are staying at zero when it boots up, which probably explains the death-spiral it did when it first booted up (but before I started the python script). Not sure how to deal with that yet (or what's even going on).
- The chassis is really cramped... I might just be trying to cram too much stuff onto that little platform. Along with the motor and battery troubles there's probably a better solution for this part.
Mock-up with everything perched on the chassis:
All the parts so far:
I thought I was onto something after figuring out the broken pins, but even after wiring it up with known good ones, I had the same result as last time. Luckily, this time I was prepared for the event and got a short video. Back to the GPIO drawing board for now.