PIR sensor for camera traps
The Pygmy Possum is a battery powered PIR (Passive Infrared) sensor for triggering remote camera traps.
A camera trap is a remotely activated camera that is equipped with a motion sensor or an infrared sensor, or uses a light beam as a trigger. Camera trapping is a method for capturing wild animals on film when researchers are not present, and has been used in ecological research for decades. In addition to applications in hunting and wildlife viewing, research applications include studies of nest ecology, detection of rare species, estimation of population size and species richness, as well as research on habitat use and occupation of human-built structures.[1](https://en.wikipedia.org/wiki/Camera_trap)
The Pygmy Possum is based on an 8 bit PIC microcontroller and custom PCB
Firmware is written in C (standard C99). The compiler being used is XC8 v2.30 by Microchip.
The microcontroller will instantly enter a sleep state to minimise current consumtion. The output from the HS-SR501 module is connected to an input pin on the MCU, A rising edge on this input will trigger an interrupt on the MCU, and wake it from sleep. In the interrupt service routine, the Pygmy Possum will read the settings from the DIP switches and send pulses to the output optocoupler. This ensures that the camera circuit is completely isolated from the Pygmy Possum circuit. The optocoupler will short the Tip to the Sheath of the TRS audio Jack. This will activate the shutter release on the connected camera.
- Microchip PIC16F18313 8-bit MCU
- HC-SR501 PIR module low-cost passive infrared sensor board
- Microchip PICKit4 programmer
Set the DIP switches on the front of the board to select a pre-programmed package. Currently there are 8 hard-coded packages that can be selected. Each package write values into the camParams
Struct for:
numOfSnaps
- Number of Shots to take after a EventsnapPeriod
- Time Between Shots (ms)minEventPeriod
- Minimum time between Events (s)
The default DIP settings are as follows:
DIP3 | DIP2 | DIP1 | Package Number | numOfSnaps |
snapPeriod (ms) |
minEventPeriod (s) |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 3 | 50 | 10 |
0 | 0 | 1 | 1 | 3 | 100 | 10 |
0 | 1 | 0 | 2 | 3 | 250 | 10 |
0 | 1 | 1 | 3 | 3 | 500 | 10 |
1 | 0 | 0 | 4 | 3 | 750 | 10 |
1 | 0 | 1 | 5 | 3 | 1000 | 10 |
1 | 1 | 0 | 6 | 3 | 1500 | 10 |
1 | 1 | 1 | 7 | 3 | 3000 | 10 |
Distributed under the MIT License. See LICENSE
for more information.
- Tom Evison - tom@evisonengineering.com.au
- James Lidsey - james.lidsey93@gmail.com