Skip to main content

Cảm Biến PIR HC-SR501

HC-SR501 phát hiện chuyển động của vật phát nhiệt (người, động vật) bằng tia hồng ngoại thụ động. Khi có chuyển động, chân OUT lên mức cao — dùng trực tiếp như tín hiệu digital, không cần ADC.


Thông số kỹ thuật

Điện áp cấp4.5 ~ 20 V
Mức logic ngõ ra3.3 (HIGH) / 0 (LOW) V
Dòng tĩnh< 50 µA
Góc phát hiện~110 °
Tầm xa3 ~ 7 (chỉnh được) m
Thời gian giữ (Tx)~3 giây ~ 5 phút
Thời gian khóa~2.5 s
Nhiệt độ hoạt động-15 ~ +70 °C

Kết nối với Arduino/ESP32

HC-SR501Arduino UNOESP32
VCC5V5V (VIN)
OUTD2GPIO13
GNDGNDGND

Ngõ ra chỉ 3.3V nên đọc trực tiếp được bằng cả chân digital 5V (Arduino) lẫn GPIO 3.3V (ESP32). Nên chờ ~1 phút sau khi cấp nguồn để cảm biến ổn định.

Hiệu chỉnh

  • Biến trở Sx (Sensitivity): chỉnh tầm xa phát hiện (3–7m).
  • Biến trở Tx (Time delay): chỉnh thời gian giữ mức HIGH sau khi phát hiện.
  • Jumper chế độ:
    • H (repeatable): giữ HIGH liên tục khi còn chuyển động.
    • L (non-repeatable): xuất một xung HIGH rồi tự reset.

Code mẫu

#define PIR_PIN 13
#define LED_PIN 2

void setup() {
Serial.begin(115200);
pinMode(PIR_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
}
void loop() {
if (digitalRead(PIR_PIN) == HIGH) {
digitalWrite(LED_PIN, HIGH);
Serial.println("Phát hiện chuyển động!");
} else {
digitalWrite(LED_PIN, LOW);
}
delay(200);
}

Liên quan