🚶 سنسور حرکت PIR (PIR Motion Sensor (HC-SR501))

اسم انگلیسیPIR Motion Sensor (HC-SR501)
در ووکوی (Wokwi)wokwi-pir-motion-sensor
دسته🌡️ سنسورها
در شبیه‌ساز فارسیمود ساده (بدون کد) و مود آردوینو · رایگان

سنسور حرکت PIR (PIR Motion Sensor) ماژولی با یک گنبد سفید مات است که گرمای بدن در حال حرکت را از چند متری تشخیص می‌دهد؛ رایج‌ترین مدلش HC-SR501 است. خروجی‌اش ساده است: وقتی حرکت ببیند HIGH و وقتی همه‌جا آرام باشد LOW. با آن چراغ راهروی خودکار، دزدگیر، شمارنده‌ی رفت‌وآمد یا دستگاهی که فقط وقتی کسی جلویش هست روشن می‌شود می‌سازی. در این صفحه سنسور را در ووکوی می‌چینیم و کدی می‌نویسیم که شروع و پایان هر حرکت و مدتش را ثبت کند.

سنسور PIR در ووکوی (Wokwi)

شناسه‌ی سنسور در ووکوی wokwi-pir-motion-sensor است و سه پایه‌ی VCC، OUT و GND دارد. ووکوی آدم مجازی ندارد که از جلوی سنسور رد شود؛ وقتی شبیه‌سازی در حال اجراست روی سنسور کلیک کن تا گزینه‌ی شبیه‌سازی حرکت را ببینی و خروجی را برای چند ثانیه HIGH کنی.

{
  "parts": [
    { "type": "wokwi-arduino-uno", "id": "uno", "top": 0, "left": 0, "attrs": {} },
    { "type": "wokwi-pir-motion-sensor", "id": "pir1", "top": -130, "left": 150, "attrs": {} }
  ],
  "connections": [
    [ "pir1:VCC", "uno:5V", "red", [] ],
    [ "pir1:OUT", "uno:2", "green", [] ],
    [ "pir1:GND", "uno:GND.1", "black", [] ]
  ]
}
پایه در ووکویوصل به
pir1:VCCuno:5V
pir1:OUTuno:2
pir1:GNDuno:GND.1

در تینکرکد فارسی هم PIR رایگان است: مدار آماده‌ی دزدگیر PIR را باز کن یا درس دزدگیر با سنسور حرکت را قدم‌به‌قدم برو.

سیم‌کشی با آردوینو

پایه‌ی قطعهوصل به
VCC5V (ماژول HC-SR501 حدود ۴٫۵ تا ۲۰ ولت را قبول می‌کند)
OUTپین 2
GNDGND
LED نشانگرLED داخلی برد روی پین 13؛ سیم اضافه لازم نیست

خروجی OUT حدود ۳٫۳ ولت است. اونو آن را HIGH می‌خواند و برای ESP32 و پیکو هم مستقیم و بی‌خطر است؛ فقط تغذیه‌ی VCC را از ۵ ولت بده. پیچ زمان روی ماژول (Tx) را برای این کد روی کمترین مقدار بگذار تا مدت‌هایی که چاپ می‌شود به حرکت واقعی نزدیک باشند.

کد نمونه

به‌جای «حرکت هست یا نیست»، این برنامه لبه‌ها را می‌گیرد: لحظه‌ی شروع حرکت را با شماره و زمان چاپ می‌کند و وقتی خروجی دوباره LOW شد، می‌گوید حرکت چقدر طول کشید. ثابت WARMUP_MS زمان گرم شدن سنسور واقعی است؛ در ووکوی آن را صفر کن تا منتظر نمانی.

// PIR on pin 2: log when each motion starts, ends and how long it lasted.
const int PIR_PIN = 2;
const unsigned long WARMUP_MS = 30000;   // real HC-SR501; use 0 in Wokwi

bool moving = false;
unsigned long startedAt = 0;
int events = 0;

void setup() {
  Serial.begin(9600);
  pinMode(PIR_PIN, INPUT);
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.println("Warming up...");
  delay(WARMUP_MS);
  Serial.println("Ready");
}

void loop() {
  bool now = digitalRead(PIR_PIN) == HIGH;
  digitalWrite(LED_BUILTIN, now ? HIGH : LOW);

  if (now && !moving) {                  // motion started
    events++;
    startedAt = millis();
    Serial.print("Motion #");
    Serial.print(events);
    Serial.print(" at ");
    Serial.print(startedAt / 1000);
    Serial.println(" s");
  }
  if (!now && moving) {                  // motion ended
    Serial.print("  lasted ");
    Serial.print((millis() - startedAt) / 1000.0, 1);
    Serial.println(" s");
  }
  moving = now;
}

عدد «lasted» همیشه کمی بیشتر از حرکت واقعی است، چون زمان نگه‌داری پیچ Tx هم در آن هست.

اشتباه‌های رایج

آموزش‌های مرتبط

سؤال‌های رایج

سنسور PIR را در ووکوی چطور تحریک کنم؟

وقتی شبیه‌سازی در حال اجراست روی سنسور wokwi-pir-motion-sensor کلیک کن و حرکت را شبیه‌سازی کن؛ خروجی OUT برای چند ثانیه HIGH می‌شود.

چرا PIR آدم بی‌حرکت را نمی‌بیند؟

چون PIR فقط تغییر گرما بین دو نیمه‌ی حسگرش را می‌بیند. کسی که کاملاً ساکن است تغییری نمی‌سازد؛ برای حضور ثابت باید از سنسور دیگری مثل اولتراسونیک یا رادار استفاده کرد.

خروجی PIR را مستقیم به ESP32 وصل کنم؟

بله. خروجی HC-SR501 حدود ۳٫۳ ولت است و برای ESP32 و پیکو بی‌خطر است؛ فقط خود ماژول را از ۵ ولت تغذیه کن.

📖 طرز کار، مشخصات فنی و نکته‌های خرید این قطعه در دانشنامه‌ی تینکرکد فارسی: سنسور حرکت PIR آمده است.

آموزش‌هایی که از این قطعه استفاده می‌کنند

🚶

سنسور حرکت PIR با آردوینو: از دزدگیر ساده تا چراغ راهروی هوشمند

💡

۳۰ ایده پروژه اینترنت اشیا با ESP32، از مبتدی تا پیشرفته (با قطعه‌ها و نقطه‌ی شروع)

قطعه‌های دیگرِ سنسورها

🌡️

سنسور دما TMP36 / LM35

TMP36 / LM35 Temperature Sensor

📐

سنسور شیب (تیلت)

Tilt Sensor (SW-520D)

📡

گیرنده‌ی مادون قرمز

IR Receiver (TSOP / VS1838B)

✋

سنسور فشار FSR

Force Sensitive Resistor (FSR)

💨

سنسور گاز MQ-2

MQ-2 Gas Sensor

📳

سنسور لرزش SW-420

SW-420 Vibration Sensor

همه‌ی ۱۰۵ قطعه ← · آموزش مدار

سنسور حرکت PIR را در شبیه‌ساز امتحان کن 🚀