ข้ามไปที่เนื้อหา

PIR Sensor - เซ็นเซอร์ตรวจจับความเคลื่อนไหว

PIR Sensor

📋 ภาพรวม

PIR (Passive Infrared) Sensor คือเซ็นเซอร์ที่ใช้ตรวจจับการเคลื่อนไหวของสิ่งมีชีวิตผ่านการเปลี่ยนแปลงของรังสีอินฟราเรดที่แผ่ออกมาจากร่างกาย ส่วนใหญ่นิยมใช้ในระบบกันขโมยหรือระบบเปิดไฟอัตโนมัติ

ส่วนประกอบสำคัญ

  • Fresnel Lens: ฝาครอบโดมสีขาว ทำหน้าที่รวมแสงอินฟราเรด
  • Sensitivity Adjust: ตัวต้านทานปรับค่าได้ (Trimmer) สำหรับปรับระยะการตรวจจับ (3-7 เมตร)
  • Time Delay Adjust: ตัวต้านทานปรับค่าได้สำหรับปรับเวลาที่สัญญานจะค้างไว้หลังตรวจจับเจอ (5 วินาที - 5 นาที)

🔌 การต่อสาย

PIR มักจะมี 3 พิน: VCC, OUT, GND

PIR Sensor          Arduino
──────────          ───────
VCC (5V)       →    5V
OUT (Signal)   →    Digital Pin 2
GND            →    GND
PIR Sensor          ESP32
──────────          ─────
VCC (5V)       →    VIN (หรือ 5V)
OUT (Signal)   →    GPIO 27
GND            →    GND

💻 โค้ดตัวอย่าง

Arduino

const int pirPin = 2;    // พินต่อ OUT ของ PIR
const int ledPin = 13;   // LED บนบอร์ด

void setup() {
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
  Serial.println("PIR Sensor Warm-up...");
  delay(30000); // รอเซ็นเซอร์ Warm-up ประมาณ 30-60 วินาที
  Serial.println("Ready!");
}

void loop() {
  int val = digitalRead(pirPin);

  if (val == HIGH) {            // ถ้าตรวจเจอการเคลื่อนไหว
    digitalWrite(ledPin, HIGH); // เปิดไฟ
    Serial.println("Motion Detected!");
    delay(500);
  } else {
    digitalWrite(ledPin, LOW);  // ปิดไฟ
  }
}

🛠️ โปรเจค DIY

1. ระบบไฟส่องทางเดินอัตโนมัติ

เมื่อเดินผ่านในที่มืด PIR จะสั่งให้ Arduino เปิดรีเลย์เพื่อเปิดไฟ และดับเองหลังจากไม่มีการเคลื่อนไหว

2. สัญญาณกันขโมยพื้นฐาน

แจ้งเตือนผ่าน Line Notify เมื่อมีคนเดินผ่านในขณะที่ตั้งระบบป้องกันไว้

⚠️ ข้อควรระวัง

ช่วงเวลา Warm-up

หลังจากจ่ายไฟครั้งแรก PIR Sensor ต้องการเวลาประมาณ 30-60 วินาทีในการปรับจูนค่าพื้นฐาน (Stabilizing) ในช่วงนี้เซ็นเซอร์อาจส่งสัญญานผิดพลาดได้

การกวนกันของ WiFi

หากใช้ ESP32/ESP8266 ควรวาง PIR ให้ห่างจากเสาอากาศ WiFi อย่างน้อย 10-20 ซม. เนื่องจากสัญญาน WiFi อาจกวนการทำงานของ PIR ทำให้ตรวจจับผิดพลาด (False Trigger)