- Overlay text and graphics onto a video signal from a camera, DVR, DVD player, VCR or any other source of composite video.
- Capture low-res video image frames for display or video processing. Give your Arduino the gift of sight!
- Perform object detection for computer vision projects.
- Decode NTSC closed captioning or XDS (extended data services) data embedded in television broadcasts.
- Works with NTSC (North America, parts of South America and Asia) or PAL (most of the rest of the world) television standards. For more info on what TV standards see the map here and this list of countries and their standards
- Uses digital pins 2, 6, 7, 8, and optionally 9. Uses analog pin 2
- Designed for Arduino Uno, Duemilanove and equivalents. Does not work on Leonardo or Mega (more info here).
All of these capabilities are demonstrated on the projects page.
How does it work?
The Video Experimenter uses an LM1881 video sync separator to detect the timing of the vertical and horizontal sync in a composite video signal. An enhanced version of the TVout library (available below) uses this sync timing information to overlay content onto the video signal. The ATmega328 microcontroller on the Arduino includes an analog comparator that can be used to detect the brightness of the video signal at any given point in time. Using this brightness information, low-res monochrome image capture into the TVout frame buffer is possible. The ability to capture image information in memory lets you implement simple computer vision experiments.
It's important to note that this shield will not work on the Arduino Mega. Read this for more information (it's not my fault!). The Video Experimenter will work on the Seeeduino Mega with some jumper wires. Read this for more information.