I have a very ambitious project and I am wondering if it is at all feasible with an Arduino (or another development board). I am looking to create a wireless system that integrates six individual camera modules (e.g. http://www.coolcomponents.co.uk/catalog/linksprite-jpeg-color-camera-interface-p-1036.html) on a separate face of a cube. Each camera should capture an image simultaneously and send the captured data to a receiver attached to a computer.
I was thinking it could be possible to use the Arduino to trigger one camera to take a picture, store the data in a SD card, and repeat for each camera. I was hoping this could be done fast enough to make it appear as if the six images were taken consecutively. Once six images are stored, they can be transmitted from the SD card using a WiFi shield.
Is this at all feasible, or am I barking up the wrong tree? I appreciate any input you may have.
In theory if you use the smallest picture size (160x120) and are willing to wait several seconds, it may be possible if you are using a mega. In general, the Arduino is too memory limited and too slow to do this in anything like real time.
Even if you had a faster processor, say a 700Mhz Raspberry Pi, the limiting factor may be the speed of the serial download from the camera. Now, on a R-PI you could might be able read some of the 6 cameras in parallel, but it might depend on whether you need hardware serial ports to do the reading, and if the R-PI has multiple ones.
One way to solve the problem is to get 6 cameras that use SD cards, and put in 6 Eye-fi cards, and let these cards talk directly to your wifi host without going through the Arduino. Or get something like the Samsung SH100 that can be commanded via wifi, and do the uploads directly. Of course both of these solutions is probably several hundred dollars with the cost of cameras and maybe Eye-fi cards.
Thank you all for your input. I feared that this project may be too ambitious and it looks like it is. I do have a Raspberry Pi, so I may look down that route.
Thank you MichaelMeissner for your wisdom, I will look into the Eye-fi cards.
It should be feasible. I have been looking at these serial ttl cameras for a project to trigger ~50ish cameras simultaneously and download the images one by one. The camera protocol looks like this is possible. The snapshot command stores the image in the camera's buffer. You and then round robin through them and capture the data off, probably a few seconds each, depending on the board's max bps over the serial line.
Check out the adafruit serial ttl jpeg camera for code examples of controlling the camera and documentation.
I'm probably not going to go with them because of artifacts in the captured images that won't work for my project. Still hunting for a reasonably priced solution...