We discovered on Sparkfun Electronics web site that a PIR Motion Detector module was available for a modest price. It was decided that one could be used to add to Josh's series of technical geocaches featuring various types of sensors. After the PIR Motion Detector arrived it required several experiments to determine its characteristics and to decide how to use it in a Geocache Field Puzzle.
In developing the PIR Notion Detector Demonstrator we discovered that things seemed confusing when we just hooked it up to the microcontroller. Sometimes it would work and sometimes it didn't. We finally hooked it up to an oscilloscope and learned some important things about the timing of the output signals. This YouTube video shows what we discovered.
- Open the waterproof box.
- Push the start button. The LED will flash once to indicate that the system is operational.
- Take your hand away from the demonstrator and stay motionless.
- After about 15 seconds the LED will light continuously.
- Move your hand over the sensor. That should trigger the system to provide the information to find the final stage.
- You can try it again by pushing the start button after the LED flashes again.
- Please close the waterproof box and replace it exactly the way you found it.
The use of an oscilloscope was invaluable in designing the demonstrator. The PIR sensor module is connected to the input of a PIC Microcontroller which receives the output pulses and from the sensor.
Since it takes 15 seconds for the PIR sensor to boot up and then establish a snapshot of the background infrared field, the microcontroller delays acting on any output pulses until the system is stable. A light emitting diode (LED) is used to indicate the system status. At about 15 seconds after the start button is pushed the LED will light continuously indicating that the system is ready to detect motion. When motion is then detected the microcontroller triggers the system to reveal process to find the final stage of the geocache. In most applications the power is applied continuously so there is not delay in response after the initial boot up time.