PIR HC-SR501 motion sensor for arduino

คำอธิบาย

PIR Sensor HC-SR501 คืออะไร? วิธีใช้งานกับ Arduino

HC-SR501 คือเซนเซอร์ตรวจจับการเคลื่อนไหว (Motion Sensor) ที่นิยมใช้กันอย่างแพร่หลาย ทำงานโดยใช้หลักการของ PIR (Passive Infrared) ซึ่งหมายถึงเป็นเซนเซอร์ที่คอย "รับ" หรือ "ดักจับ" รังสีอินฟราเรดที่แผ่ออกมาจากวัตถุที่มีความร้อน เช่น ร่างกายของมนุษย์หรือสัตว์ โดยตัวมันเองไม่ได้ปล่อยรังสีใดๆ ออกไป

เมื่อมีคนหรือสัตว์เคลื่อนที่ผ่านหน้าเซนเซอร์ จะทำให้ปริมาณรังสีอินฟราเรดที่ตกกระทบมีการเปลี่ยนแปลงอย่างรวดเร็ว วงจรภายในจะตรวจจับการเปลี่ยนแปลงนี้และส่งสัญญาณลอจิก "HIGH" ออกมา เพื่อแจ้งให้ไมโครคอนโทรลเลอร์ทราบว่า "มีการเคลื่อนไหวเกิดขึ้น"

สเปคของ HC-SR501

แรงดันใช้งาน 4.5V – 20V DC (ใช้กับ 5V ของ Arduino ได้เลย)
แรงดันลอจิกเอาต์พุต 3.3V (แต่เพียงพอสำหรับขา Digital ของ Arduino อ่านค่า HIGH ได้)
กระแสที่ใช้ ~50 μA (ประหยัดพลังงานมาก เหมาะกับงานแบตเตอรี่)
ระยะตรวจจับ ปรับได้ประมาณ 3 ถึง 7 เมตร (ปรับด้วย Potentiometer สีส้ม)
มุมตรวจจับ ประมาณ 120 องศา (รูปกรวย)
เวลาหน่วง (Delay Time) ปรับได้ประมาณ 0.3 วินาที ถึง 5 นาที (ปรับด้วย Potentiometer สีส้ม)
โหมดการทำงาน ปรับได้ 2 โหมด ด้วย Jumper บนบอร์ด

การปรับโหมดการทำงาน (สำคัญมาก)

บนบอร์ดจะมี Jumper ให้เลือกโหมดได้ 2 แบบ:

  • Repeatable (H): หาก Jumper อยู่ตำแหน่ง H (ค่าเริ่มต้น) เซนเซอร์จะส่งสัญญาณ HIGH "ตลอดเวลา" ที่ยังคงตรวจจับการเคลื่อนไหวได้ และจะเริ่มนับเวลาหน่วงใหม่ทุกครั้งที่เจอการเคลื่อนไหวซ้ำ (เหมาะกับไฟอัตโนมัติ)
  • Non-Repeatable (L): หาก Jumper อยู่ตำแหน่ง L เซนเซอร์จะส่งสัญญาณ HIGH เพียง "ครั้งเดียว" ตามเวลาหน่วงที่ตั้งไว้ แม้จะยังมีการเคลื่อนไหวอยู่ก็ตาม จากนั้นจะส่ง LOW และรอสักครู่ก่อนจะเริ่มตรวจจับใหม่ (เหมาะกับระบบเตือนภัย)

การใช้งานกับ Arduino

✅ การต่อสายกับ Arduino

ขาบน HC-SR501 ต่อกับขาบน Arduino
VCC 5V
GND GND
OUT ขา Digital ใดก็ได้ (เช่น D2)

✅ ตัวอย่างโค้ด Arduino (ตรวจจับการเคลื่อนไหว)

โค้ดนี้จะอ่านค่าจาก PIR Sensor และเมื่อตรวจพบการเคลื่อนไหว จะสั่งให้ LED บนบอร์ด (ขา 13) ติดสว่าง


// กำหนดขาที่เชื่อมต่อ
const int pirPin = 2;   // ขาที่รับสัญญาณจาก OUT ของ PIR Sensor
const int ledPin = 13;  // ขา LED Build-in บนบอร์ด Arduino

void setup() {
  pinMode(pirPin, INPUT);     // กำหนดให้ขา pirPin เป็น Input
  pinMode(ledPin, OUTPUT);    // กำหนดให้ขา ledPin เป็น Output
  Serial.begin(9600);         // เริ่มการสื่อสารแบบ Serial
  Serial.println("PIR Motion Sensor Test");
}

void loop() {
  // อ่านค่าสถานะจาก PIR Sensor
  int motionState = digitalRead(pirPin);

  // ตรวจสอบสถานะ
  if (motionState == HIGH) { 
    digitalWrite(ledPin, HIGH); // เปิด LED
    Serial.println("ตรวจพบการเคลื่อนไหว!");
  } else {
    digitalWrite(ledPin, LOW);  // ปิด LED
    Serial.println("สถานะปกติ...");
  }

  // หน่วงเวลาเพื่อลดการแสดงผลที่เร็วเกินไป
  delay(500);
}

💡 การประยุกต์ใช้งาน

โปรเจกต์ รายละเอียดการใช้งาน
ระบบเตือนภัยบุกรุก ส่งเสียงเตือนหรือแจ้งเตือนผ่าน Line เมื่อมีคนเดินผ่านในบริเวณที่กำหนด
ไฟทางเดิน/ห้องน้ำอัตโนมัติ เปิดไฟเมื่อมีคนเดินเข้ามาในพื้นที่ และปิดไฟเมื่อไม่พบการเคลื่อนไหวแล้ว
ระบบบ้านอัจฉริยะ ใช้เป็นตัวกระตุ้น (Trigger) เพื่อสั่งงานอุปกรณ์อื่น เช่น เปิดแอร์, เปิดพัดลม เมื่อมีคนอยู่ในห้อง
กล้องวงจรปิดอัจฉริยะ สั่งให้ ESP32-CAM หรือกล้องอื่นเริ่มบันทึกภาพเมื่อตรวจพบการเคลื่อนไหว
ระบบประหยัดพลังงาน ใช้ปลุกไมโครคอนโทรลเลอร์ (เช่น ESP32) จากโหมด Deep Sleep เมื่อมีคนเข้ามาใกล้

⭐ ข้อดีของ HC-SR501

  • ใช้งานง่าย: มีเพียง 3 ขา และให้สัญญาณเป็น Digital ทำให้เขียนโค้ดไม่ซับซ้อน
  • ประหยัดพลังงานมาก: ใช้กระแสไฟน้อยมากในสถานะสแตนด์บาย เหมาะกับงานที่ใช้แบตเตอรี่
  • ปรับแต่งได้: สามารถปรับระยะการตรวจจับและเวลาหน่วงได้ตามความต้องการของโปรเจกต์
  • เข้ากันได้ดี: ทำงานได้กับ Arduino, ESP8266, ESP32, และ Raspberry Pi

PIR HC-SR501 motion sensor for arduino

รูปแบบสินค้า

รหัสสินค้า: PIR-HC-SR501+SSNF01116

65.00 ฿ 40.00 ฿ ไม่รวมภาษีมูลค่าเพิ่ม

  •  Ships in 2-4 weeks

    คำอธิบาย

    PIR Sensor HC-SR501 คืออะไร? วิธีใช้งานกับ Arduino

    HC-SR501 คือเซนเซอร์ตรวจจับการเคลื่อนไหว (Motion Sensor) ที่นิยมใช้กันอย่างแพร่หลาย ทำงานโดยใช้หลักการของ PIR (Passive Infrared) ซึ่งหมายถึงเป็นเซนเซอร์ที่คอย "รับ" หรือ "ดักจับ" รังสีอินฟราเรดที่แผ่ออกมาจากวัตถุที่มีความร้อน เช่น ร่างกายของมนุษย์หรือสัตว์ โดยตัวมันเองไม่ได้ปล่อยรังสีใดๆ ออกไป

    เมื่อมีคนหรือสัตว์เคลื่อนที่ผ่านหน้าเซนเซอร์ จะทำให้ปริมาณรังสีอินฟราเรดที่ตกกระทบมีการเปลี่ยนแปลงอย่างรวดเร็ว วงจรภายในจะตรวจจับการเปลี่ยนแปลงนี้และส่งสัญญาณลอจิก "HIGH" ออกมา เพื่อแจ้งให้ไมโครคอนโทรลเลอร์ทราบว่า "มีการเคลื่อนไหวเกิดขึ้น"

    สเปคของ HC-SR501

    แรงดันใช้งาน 4.5V – 20V DC (ใช้กับ 5V ของ Arduino ได้เลย)
    แรงดันลอจิกเอาต์พุต 3.3V (แต่เพียงพอสำหรับขา Digital ของ Arduino อ่านค่า HIGH ได้)
    กระแสที่ใช้ ~50 μA (ประหยัดพลังงานมาก เหมาะกับงานแบตเตอรี่)
    ระยะตรวจจับ ปรับได้ประมาณ 3 ถึง 7 เมตร (ปรับด้วย Potentiometer สีส้ม)
    มุมตรวจจับ ประมาณ 120 องศา (รูปกรวย)
    เวลาหน่วง (Delay Time) ปรับได้ประมาณ 0.3 วินาที ถึง 5 นาที (ปรับด้วย Potentiometer สีส้ม)
    โหมดการทำงาน ปรับได้ 2 โหมด ด้วย Jumper บนบอร์ด

    การปรับโหมดการทำงาน (สำคัญมาก)

    บนบอร์ดจะมี Jumper ให้เลือกโหมดได้ 2 แบบ:

    • Repeatable (H): หาก Jumper อยู่ตำแหน่ง H (ค่าเริ่มต้น) เซนเซอร์จะส่งสัญญาณ HIGH "ตลอดเวลา" ที่ยังคงตรวจจับการเคลื่อนไหวได้ และจะเริ่มนับเวลาหน่วงใหม่ทุกครั้งที่เจอการเคลื่อนไหวซ้ำ (เหมาะกับไฟอัตโนมัติ)
    • Non-Repeatable (L): หาก Jumper อยู่ตำแหน่ง L เซนเซอร์จะส่งสัญญาณ HIGH เพียง "ครั้งเดียว" ตามเวลาหน่วงที่ตั้งไว้ แม้จะยังมีการเคลื่อนไหวอยู่ก็ตาม จากนั้นจะส่ง LOW และรอสักครู่ก่อนจะเริ่มตรวจจับใหม่ (เหมาะกับระบบเตือนภัย)

    การใช้งานกับ Arduino

    ✅ การต่อสายกับ Arduino

    ขาบน HC-SR501 ต่อกับขาบน Arduino
    VCC 5V
    GND GND
    OUT ขา Digital ใดก็ได้ (เช่น D2)

    ✅ ตัวอย่างโค้ด Arduino (ตรวจจับการเคลื่อนไหว)

    โค้ดนี้จะอ่านค่าจาก PIR Sensor และเมื่อตรวจพบการเคลื่อนไหว จะสั่งให้ LED บนบอร์ด (ขา 13) ติดสว่าง

    
    // กำหนดขาที่เชื่อมต่อ
    const int pirPin = 2;   // ขาที่รับสัญญาณจาก OUT ของ PIR Sensor
    const int ledPin = 13;  // ขา LED Build-in บนบอร์ด Arduino
    
    void setup() {
      pinMode(pirPin, INPUT);     // กำหนดให้ขา pirPin เป็น Input
      pinMode(ledPin, OUTPUT);    // กำหนดให้ขา ledPin เป็น Output
      Serial.begin(9600);         // เริ่มการสื่อสารแบบ Serial
      Serial.println("PIR Motion Sensor Test");
    }
    
    void loop() {
      // อ่านค่าสถานะจาก PIR Sensor
      int motionState = digitalRead(pirPin);
    
      // ตรวจสอบสถานะ
      if (motionState == HIGH) { 
        digitalWrite(ledPin, HIGH); // เปิด LED
        Serial.println("ตรวจพบการเคลื่อนไหว!");
      } else {
        digitalWrite(ledPin, LOW);  // ปิด LED
        Serial.println("สถานะปกติ...");
      }
    
      // หน่วงเวลาเพื่อลดการแสดงผลที่เร็วเกินไป
      delay(500);
    }
    

    💡 การประยุกต์ใช้งาน

    โปรเจกต์ รายละเอียดการใช้งาน
    ระบบเตือนภัยบุกรุก ส่งเสียงเตือนหรือแจ้งเตือนผ่าน Line เมื่อมีคนเดินผ่านในบริเวณที่กำหนด
    ไฟทางเดิน/ห้องน้ำอัตโนมัติ เปิดไฟเมื่อมีคนเดินเข้ามาในพื้นที่ และปิดไฟเมื่อไม่พบการเคลื่อนไหวแล้ว
    ระบบบ้านอัจฉริยะ ใช้เป็นตัวกระตุ้น (Trigger) เพื่อสั่งงานอุปกรณ์อื่น เช่น เปิดแอร์, เปิดพัดลม เมื่อมีคนอยู่ในห้อง
    กล้องวงจรปิดอัจฉริยะ สั่งให้ ESP32-CAM หรือกล้องอื่นเริ่มบันทึกภาพเมื่อตรวจพบการเคลื่อนไหว
    ระบบประหยัดพลังงาน ใช้ปลุกไมโครคอนโทรลเลอร์ (เช่น ESP32) จากโหมด Deep Sleep เมื่อมีคนเข้ามาใกล้

    ⭐ ข้อดีของ HC-SR501

    • ใช้งานง่าย: มีเพียง 3 ขา และให้สัญญาณเป็น Digital ทำให้เขียนโค้ดไม่ซับซ้อน
    • ประหยัดพลังงานมาก: ใช้กระแสไฟน้อยมากในสถานะสแตนด์บาย เหมาะกับงานที่ใช้แบตเตอรี่
    • ปรับแต่งได้: สามารถปรับระยะการตรวจจับและเวลาหน่วงได้ตามความต้องการของโปรเจกต์
    • เข้ากันได้ดี: ทำงานได้กับ Arduino, ESP8266, ESP32, และ Raspberry Pi

    Recently viewed products

    © 2025 บริษัท โกลบอลโทรนิค อินเตอร์เทรด จํากัด, ขับเคลื่อนโดย Shopify

    • PayPal

    เข้าสู่ระบบ

    ลืมรหัสผ่านใช่ไหม?

    ยังไม่มีบัญชีใช่ไหม?
    สร้างบัญชี