HC-SR501 เป็นโมดูลเซ็นเซอร์ความเคลื่อนไหวอินฟราเรดแบบพาสซีฟ (PIR) ยอดนิยมที่ตรวจจับการเคลื่อนไหวโดยการวัดการเปลี่ยนแปลงรังสีอินฟราเรดในสภาพแวดล้อม มักใช้ในการเปิดใช้งานการเคลื่อนไหวระบบรักษาความปลอดภัยและโครงการ IoT บทช่วยสอนนี้จะแนะนำคุณผ่านการตั้งค่าและใช้ HC-SR501 กับ Arduino
สิ่งที่คุณต้องการ
- HC-SR501 โมดูลเซ็นเซอร์เคลื่อนไหว PIR
- คณะกรรมการ Arduino (เช่น Uno, Mega, Nano)
- เครื่องหั่นขนมปังและสายจัมเปอร์
- คอมพิวเตอร์ที่ติดตั้ง Arduino IDE
ขั้นตอนที่ 1: ทำความเข้าใจกับเซ็นเซอร์ HC-SR501
โมดูล HC-SR501 มีความไวที่ปรับได้และการตั้งค่าเวลาหน่วงเวลาทำให้มันมีความหลากหลายสำหรับแอปพลิเคชันการตรวจจับการเคลื่อนไหวที่หลากหลาย มันทำงานกับพลังงาน 5V และส่งสัญญาณสูงเมื่อตรวจพบการเคลื่อนไหว
HC-SR501 Pinout
| เข็มหมุด | การทำงาน | 
|---|---|
| VCC | แหล่งจ่ายไฟ (5V) | 
| ออก | สัญญาณเอาต์พุตดิจิตอล | 
| gnd | พื้น | 
การตั้งค่าที่ปรับได้
- ความไว: ปรับช่วงการตรวจจับ (สูงสุด 7 เมตร)
- เวลาหน่วง: ปรับระยะเวลาของสัญญาณสูงหลังจากตรวจพบการเคลื่อนไหว (ประมาณ 5 วินาทีถึง 5 นาที)
ขั้นตอนที่ 2: การเดินสาย HC-SR501 ไปยัง Arduino
นี่คือวิธีเชื่อมต่อ HC-SR501 กับ Arduino Uno:
| HC-SR501 PIN | พิน Arduino | 
|---|---|
| VCC | 5V | 
| ออก | พิน 2 | 
| gnd | gnd | 
ขั้นตอนที่ 3: อัปโหลดรหัส
นี่คือตัวอย่างร่างเพื่อตรวจสอบการตรวจจับการเคลื่อนไหวและแสดงสถานะบนจอภาพอนุกรม:
const int pirPin = 2; // Connect HC-SR501 OUT to pin 2
void setup() {
  pinMode(pirPin, INPUT);
  Serial.begin(9600);
  Serial.println("HC-SR501 PIR Motion Sensor Test");
}
void loop() {
  int motionStatus = digitalRead(pirPin); // Read the sensor output
  if (motionStatus == HIGH) {
    Serial.println("Motion detected!");
  } else {
    Serial.println("No motion detected.");
  }
  delay(500); // Update every 500ms
}
ขั้นตอนที่ 4: ทดสอบการตั้งค่า
- เชื่อมต่อ Arduino กับคอมพิวเตอร์ของคุณผ่าน USB
- เปิด Arduino IDE และเลือกที่ถูกต้อง กระดาน และ ท่าเรือ ภายใต้ เครื่องมือ เมนู.
- อัปโหลดรหัสโดยคลิก อัพโหลด.
- เปิดมอนิเตอร์อนุกรม (เครื่องมือ > จอภาพอนุกรม) และตั้งค่าอัตราการรับส่งข้อมูลเป็น 9600.
- ย้ายภายในช่วงของเซ็นเซอร์และสังเกตสถานะการเคลื่อนไหวที่พิมพ์บนจอภาพอนุกรม
ตัวเลือก: การควบคุม LED ด้วยการเคลื่อนไหว
คุณสามารถแก้ไขรหัสเพื่อเปิด LED เมื่อตรวจพบการเคลื่อนไหว:
เดินสายไฟ LED
| พิน LED | พิน Arduino | 
|---|---|
| ขั้วบวก (+) | PIN 13 | 
| แคโทด (-) | gnd | 
รหัสดัดแปลง
const int pirPin = 2; // Connect HC-SR501 OUT to pin 2
const int ledPin = 13; // Connect LED to pin 13
void setup() {
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
  Serial.println("HC-SR501 PIR Motion Sensor Test");
}
void loop() {
  int motionStatus = digitalRead(pirPin); // Read the sensor output
  if (motionStatus == HIGH) {
    digitalWrite(ledPin, HIGH); // Turn on LED
    Serial.println("Motion detected!");
  } else {
    digitalWrite(ledPin, LOW); // Turn off LED
    Serial.println("No motion detected.");
  }
  delay(500); // Update every 500ms
}
แอปพลิเคชันของ HC-SR501
- แสงที่เปิดใช้งานการเคลื่อนไหว
- สัญญาณเตือนผู้บุกรุก
- ระบบอัตโนมัติในบ้านอัจฉริยะ
- อุปกรณ์ IoT ที่ขับเคลื่อนด้วยความใกล้ชิด
การแก้ไขปัญหา
- ไม่พบการเคลื่อนไหว: ตรวจสอบให้แน่ใจว่าเซ็นเซอร์ใช้พลังงานอย่างถูกต้องและมีการปรับความไวอย่างเหมาะสม
- ทริกเกอร์เท็จ: ลดเสียงรบกวนด้านสิ่งแวดล้อม (เช่นแหล่งความร้อน) และหลีกเลี่ยงการได้รับแสงแดดโดยตรง
- การอ่านที่ไม่แน่นอน: ตรวจสอบการต่อสายดินที่เหมาะสมและแหล่งจ่ายไฟที่มั่นคง
บทสรุป
คุณสามารถเชื่อมต่อเซ็นเซอร์การเคลื่อนไหว HC-SR501 PIR กับ Arduino ได้สำเร็จ เซ็นเซอร์อเนกประสงค์นี้เหมาะสำหรับการตรวจจับการเคลื่อนไหวในโครงการต่าง ๆ ทดลองกับคุณสมบัติเพิ่มเติมเช่นการปรับความไวหรือการรวมเข้ากับส่วนประกอบอื่น ๆ เพื่อสร้างระบบที่ใช้การเคลื่อนไหวขั้นสูง!
 
            
 
      
 
      
 
      
 
      
 
      
 
       
         
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
   
   
   
   
   
   
   
   
   
   
   
   
  