Description
Technical Details
- Item Type: Sensor
- Model Type: Motion Sensor Module
- Model No.: HC SR501
- Operating Voltage (V): 4.5 to 20
- Avg. Current Used (mA): 0.06
- Distance Measure (cm): 300 ~ 700
- Output Type: (High/ Low-level Signal) 3.3V TTL output
- Dimensions (L x W x H) mm: 32 x 24 x 18
- Weight (g): 10
- Operating Temperature (°C): -20 to 80
- Detection Angle: <140°
- Delay Time: 5 to 200s (Can be Adjusted, Default 5s +/- 3%)
Pin Definitions
- GND: Connects to Ground or Vss
- V+: Connects to Vdd (4.5V to 20 VDC)
- OUT: Output Connects to an I/O pin set to INPUT mode (or transistor/MOSFET)
Features
- Infrared Sensor with Control Circuit Board
- The Sensitivity and Holding Time Can be Adjusted
- Sensitive Setting: Turn to the Right, Distance Increases (About 7M); Turn to the Left, Distance Reduce (About 3M)
- Time Setting: Turn to Right, Time Increases (About 200S); Turn to Left, Time Reduce (About 5S)
Calibration
The PIR Sensor requires a ‘warm-up’ time in order to function properly. This is due to the settling time involved in ‘learning’ its environment. This could be anywhere from 10-60 seconds. During this time there should be as little motion as possible in the sensors field of view.
Sensitivity
The PIR Sensor has a range of approximately 20 feet. This can vary with environmental conditions. The sensor is designed to adjust to slowly changing conditions that would happen normally as the day progresses and the environmental conditions change, but responds by making its output high when sudden changes occur, such as when there is motion
Jumper Setting
- H: Retrigger Mode: Output remains HIGH when sensor is retriggered repeatedly. Output is LOW when idle (not triggered).
- L: Normal Mode: Output goes HIGH then LOW when triggered. Continuous motion results in repeated HIGH/LOW pulses. Output is LOW when idle. PIR Motion Detection Sensor
Integration with Arduino of Passive Infrared Sensor

Sample Code
| int led = 13; // the pin that the LED is atteched to |
| int sensor = 2; // the pin that the sensor is atteched to |
| int state = LOW; // by default, no motion detected |
| int val = 0; // variable to store the sensor status (value) |
| void setup() { |
| pinMode(led, OUTPUT); // initalize LED as an output |
| pinMode(sensor, INPUT); // initialize sensor as an input |
| Serial.begin(9600); // initialize serial |
| } |
| void loop(){ |
| val = digitalRead(sensor); // read sensor value |
| if (val == HIGH) { // check if the sensor is HIGH |
| digitalWrite(led, HIGH); // turn LED ON |
| delay(500); // delay 100 milliseconds |
| if (state == LOW) { |
| Serial.println(“Motion detected!”); |
| state = HIGH; // update variable state to HIGH |
| } |
| } |
| else { |
| digitalWrite(led, LOW); // turn LED OFF |
| delay(500); // delay 200 milliseconds |
| if (state == HIGH){ |
| Serial.println(“Motion stopped!”); |
| state = LOW; // update variable state to LOW |
| } |
| } |
}



Reviews
There are no reviews yet.