The PIR Sensor HC-SR501 detects changes in infrared (IR) radiation caused by motion, typically from people or animals. It provides a digital output signal (OUT) suitable for direct reading by microcontrollers like Arduino or ESP32, using the standard power and ground pins (VCC and GND).
| Pin | Signal | Description |
|---|---|---|
GND |
GND | Ground |
OUT |
digital | out |
VCC |
VCC | Power positive |
| From | To | Wire |
|---|---|---|
board:5V |
x1:VCC |
red |
board:GND |
x1:GND |
black |
board:D2 |
x1:OUT |
green |
This example was written and compile-checked for the arduino-uno. Codey Online adapts it to any other supported board for you.
// PIR Sensor HC-SR501 - canonical beginner example
// Reads the sensor output on D2 and prints motion status to Serial Monitor.
const int pirPin = 2;
void setup() {
pinMode(pirPin, INPUT);
Serial.begin(9600);
while (!Serial) {
;
}
Serial.println("PIR sensor warming up... give it about 30-60 seconds.");
}
void loop() {
int motion = digitalRead(pirPin);
if (motion == HIGH) {
Serial.println("Motion detected!");
} else {
Serial.println("No motion.");
}
delay(500);
}
Describe what you want to build. Codey Online writes the code, draws the wiring diagram, compiles it and flashes your board straight from the browser.
Start for free