Hello all, I'd first like to apologize if this is in the wrong forum. Secondly, I'm new to this forum and I'm fairly new to the Arduino. I'm an electronic engineering student who's looking for a way to use the Arduino to control a webcam mounted on a servo that I can control.
Basically, I plan on ordering a wireless webcam to place on my front porch near the top of my door. I would place the receiver on the other side of a wall, directly opposite of the webcam, and plug it in to my TV. I had thought up this project a while ago (mainly because I couldn't find the right parts), and when I saw my local Radioshack was carrying servos, I bought one.
What I want to know is what would I need to do (code, other parts, etc?) to get this project up and running.
Technically, that's not a web cam - but, whatever...
You want to build a servo-based pan-tilt setup for the camera, if I am understanding you right. Basically, you'll need two servos (so you'll want to buy another servo; note, btw, that a parallax servo sold at radio shack is not likely to be the cheapest option), and a couple of brackets (one mounts on a servo, and controls the tilt of the camera, the other mounts to the other servo, and controls the "pan" of the first servo. You'll also want something to mount the "base" servo to, and you might want to think about how you'll "weatherise" the servos while they are outside, to protect them from the weather (mainly rain and moisture - simply being under an overhang won't cut it in the long run).
The brackets you can either purchase or build (you can find servo brackets for pan-tilt use on ebay; I think SparkFun also sells them, also check Servo City - many places have them). If you are somewhat handy, you can build a pair; a made a couple for an old project (the quality of the video stinks - my apologies):
I made them out of some thin sheet aluminum that I shaped with some tin snips and a file, then drilled and bended them to fit (also a bit of JB Weld helped). Total cost was much less than custom brackets (and at the time, IIRC, custom brackets weren't something you could easily buy, either). I mounted the panning servo on a peanut-butter jar lid and put my controls (R/C) inside the jar.
The whole setup is basically the same as what you are doing, minus the Arduino; I was able to drive the R/C car around my house in a complete circuit by watching on a small TV; you probably won't have to situate the receiver near the camera inside the house.
That link google link on the Parallax servo you supplied detailed what you would need to write to control the servos using the Arduino; there is plenty of other servo control information out there as well. Of course, you haven't said whether you intend the Arduino to be wireless, nor how you intend to command the Arduino to tell it to pan/tilt the servos?
For instance, if you wanted wireless control of the Arduino (ie, the Arduino is outside with the camera), then you would need to think about how you are going to power both the camera and the Arduino together, as well as how you are going to get the commands to the Arduino; there are a few of options (xbee is the most expensive, the least expensive (in terms of time and money) is likely RF serial modules). If you are going with a wired solution, then just keeping the USB connection is the easiest route (another route would be an ethernet shield - more expensive and more effort to code for, though).
Then you'll need to come up with a communications protocol to be able to send commands to the Arduino and have it respond (there are also libraries available to help with this as well); finally you'll need something to send those commands to the Arduino (a PC or another Arduino, or something else).
Just take things one at a time; I would first get a grip on how to program the Arduino and how to control the servo, both by using an external device (like a pushbutton or potentiometer connected to the Arduino), as well as via commands sent by the PC thru the USB serial port. Once you have the basics going, then you can expand on those skills to improve the project.