CURRENT ISSUE

Contests

bottom corner

Feature Article



Issue #203 June 2007
Video-Based Motion Sensor
Third Prize Atmel AVR Design Contest 2006
by Naubert Aparicio

Start | System Overview | System Design | Hardware Design | Software Design | Sources & PDF

SYSTEM OVERVIEW

Before I explain how I built the motion sensor, it is important to understand what the sensor can do. It is a complete motion sensor with video input, video output, an SPI, and a  digital alarm output (see Figure 1). It processes black and white or color NTSC analog-composite video signals, detects movement, and outputs a copy of the incoming video and highlights the blocks where movement has been detected in the 12 × 15 block matrix. It does all of this in real time. If the sensor detects valid motion, it triggers the alarm signal.

Figure 1—The motion controller’s interface is simple: a video input port, a video output with the generated highlighted video signal, an alarm signal, and a serial port for commands.

 

The sensor has two modes: Detection mode and Command mode. After starting in Detection mode, it constantly detects motion until it is stopped by the serial port. Then, Command mode is enabled and several commands are available (see Table 1). One of the functions allows you to define an ignore bit mask, masking the blocks in the 12 × 15 frame matrix, where movement should be ignored. Other commands enable you to define several parameters that control how the alarm is triggered, including the number of contiguous frames that must have motion or the number of blocks that have to be reported to activate the alarm. Photo 1 shows how the motion sensor detects movement and highlights the blocks where motion has been detected. The center and right pictures show the sensor’s ignore mask in action.

 

Photo 1—These shots are kind of blurry, but you get the idea. The motion controller is detecting movement in a 12 × 15 block matrix (a). The full motion sensitivity was enabled. Notice that the shadow movement is also reported. b—Here the video output has the bit mask defined with the I: command (I:0E:0FF0). c—The motion controller detects motion afterwards. Only the nonignored blocks are reported.

Previous | Next

 


bottom corner