Video capture ! Possible?

Would it change anything if rather then streaming video; snapshots are taken, saved on an SD card, and then stream the image files on the SD card?

try sitting in the driver's seat. Look around, then close your eyes, engage drive and steer based on what you just saw. Drive for about twenty seconds, then open your eyes. Repeat.

(20 seconds is being generous)

AWOL: try sitting in the driver's seat. Look around, then close your eyes, engage drive and steer based on what you just saw. Drive for about twenty seconds, then open your eyes. Repeat.

(20 seconds is being generous)

Good point; was not thinking there would be such a long delay. Arduino has been a lot of fun; really helped me learn lots of new stuff, but I guess video capture/processing is too much and I might have to look at something else. Any leads ... ?

Some thoughts on a simple routerbot that could be expanded.

http://www.lynxmotion.net/viewtopic.php?f=20&t=6343

sja785: wouldn't that defy the whole point of using an arduino board for this type of project?

That begs the question - what is the point of trying to use the Arduino for this type of project?

An arduino can perfectly support a video project with

  • pan and tilt the camera
  • determine light conditions
  • switch on LEDs or even IR leds
  • can shine a laser pointer
  • can drive the camera to a new location
  • can hold a magnifying glass for the webcam (to get different focus)
  • can detect heat, moisture etc
  • sound alarms

PeterH: That begs the question - what is the point of trying to use the Arduino for this type of project?

What would you suggest? I know that Arduino (+ WiFi Shield) and an IP camera would solve my problem however the hardware of the IP camera really and truly can already do what I am doing with the Arduino. For example I found an IP camera which I can tilt and rotate; if the hardware of this IP camera can already do this then it can also manage another motor to move a pair of wheels.

However I do not know what kind of boards these IP cameras have inside. I guess what I am looking for is something that fills the gap between Arduino and RaspberryPI (I think RaspberryPI is too much for this type of project).

sja785: if the hardware of this IP camera can already do this then it can also manage another motor to move a pair of wheels.

This is the first time you've mentioned wheels.

Perhaps you ought to step back and explain what you're trying to achieve. I don't think it is sensible to do any form of video capture/processing/transmission with an Arduino, but perhaps there are other parts of your problem which an Arduino might be useful for.

If you are want to experiment with video, you might look into how the old parallel port Connectix QuickCams operated. A microcontroller might be able to capture video in some form from the quickcam.

PeterH: This is the first time you've mentioned wheels.

Sorry, I must have not been clear enough in my second post. So far I have developed a car that receives commands over a WiFi connection. I have Arduino Uno, Arduino WiFi Shield and a Motor Sheild (although this does not fit directly on the arduino). I have programmed Arduino as a server which takes commands from a client program. Everything works fine (move forward, back, left, right, all things that a car is expected to do). However the car is hard to drive when no longer in the same room :)

That is why I thought of trying to plug in a camera.

sja785:

PeterH: This is the first time you've mentioned wheels.

Sorry, I must have not been clear enough in my second post. So far I have developed a car that receives commands over a WiFi connection. I have Arduino Uno, Arduino WiFi Shield and a Motor Sheild (although this does not fit directly on the arduino). I have programmed Arduino as a server which takes commands from a client program. Everything works fine (move forward, back, left, right, all things that a car is expected to do). However the car is hard to drive when no longer in the same room :)

That is why I thought of trying to plug in a camera.

As other people have said, the Arduino is not fast enough to transmit video over wifi, nor does it have enough memory to buffer even a single frame of the video. You might look at setups for after-market car backup monitors. Here is a complete set I found on ebay that includes camera, wireless transmitter/receiver, and lcd. You will need two 12 volt batteries to power these: http://www.ebay.com/itm/Wireless-car-rearview-kit-3-5-LCD-reverse-monitor-waterproof-backup-camera-/281059200644?pt=US_Rear_View_Monitors_Cams_Kits&hash=item41706f0e84

Note, this unit transmits over the 2.4Ghz spectrum which wifi also use, so perhaps this camera will overpower the wifi shield.

Hello, Just something that popped up in my mind right now. We agreed that the Atmel chip on the Arduino is not powerful enough for video processing. However, isn't it possible to change the Atmel chip on the Arduino with another Atmel chip that is more powerful that has the same or possible to match pin outs (if exists)?

Presumably you have a user interface somewhere and the operator is intended to watch the video from the 'bot and send it commands in real time.

In that case I'd just use an IP camera and display that directly on the PC where the user interface is provided. If your user interface took the form of a web page served by the Arduino then you could embed the video directly in that page. Alternatively, host the web page elsewhere and use server-side scripting or client-side scripting to send commands to the Arduino in response to user commands; you could still embed the video in the page. If your user interface is not a web page and doesn't enable you to show video directly, then you could simply open a separate browser window to display the video and put it on the same screen.

Just because your Arduino is next to the camera and has a wireless connection, doesn't mean that the video has to go over that connection.

If you do have a genuine requirement to send the video and the Arduino commands via a shared WiFi adapter then the best way to achieve that is probably to use a Raspberry Pi on the 'bot to drive the camera and the Arduino - but that's a more expensive and complicated solution and it seems pretty unlikely there's any genuine need for that.

isn't it possible to change the Atmel chip on the Arduino with another Atmel chip that is more powerful that has the same or possible to match pin outs (if exists)?

No there is no such chip.

(I think RaspberryPI is too much for this type of project)

No it is not, it is possibly a little light if anything.

I do not want to beat a dead a horse. However I found the following video camera: https://www.adafruit.com/products/397

The specs say "it outputs NTSC video and can take snapshots of that video and transmit them over the TTL serial link"

So this camera has two functions; (1) Output Video in NTSC format, and (2) Take Snapshots in JPEG format.

Is it that impossible to transmit the captured video over the Wi-Fi through arduino - given the camera already captures the video? If it is impossible why is it impossible? What further processing is required which Arduino is not able to do?

s it that impossible to transmit the captured video over the Wi-Fi through arduino - given the camera already captures the video?

Because the data rate of that video signal is far in excess of the data rate that the arduino can handle.

Is it that impossible to transmit the captured video over the Wi-Fi through arduino -

But it doesn't capture video, it capture snapshots.

Grumpy_Mike: Because the data rate of that video signal is far in excess of the data rate that the arduino can handle.

So the video camera outputs a stream of bytes; you mean arduino is not able to loop through that stream of bytes (fast enough) to output on the Wi-Fi shield?

AWOL: But it doesn't capture video, it capture snapshots.

It has a video output which you can connect to a screen.

It has a video output which you can connect to a screen.

NTSC is an analogue standard, that is connected to an analogue screen.
What point are you trying to make?

AWOL: NTSC is an analogue standard, that is connected to an analogue screen. What point are you trying to make?

No point at all, just lack experience and asking questions...

So that is why it is hard for the arduino? Because it would need to convert that analog signal to digital?

Because it would need to convert that analog signal to digital?

Bingo! The ADC on an Arduino simply isn't fast enough, and there isn't enough fast memory to buffer an image anyway. Not only that, but to remove the redundant information (like JPEG does) to reduce the data rate out requires more processing power than the AVR can manage in a resonable time.