[Tutorial] การใช้งาน HC-SR501 Pyroelectric IR Motion Sensor
ผู้แต่ง:น.ส.ดรุณจรีย์ เขมนันทิภาคย์ 65201280008
HC-SR501 เป็นโมดูลเซ็นเซอร์ตรวจจับความเคลื่อนไหวที่ทำงานแบบ Passive โดยใช้หลักการ Pyroelectric จะทำการตรวจจับรังสีอินฟาเรด ซึ่งรังสีอินฟาเรดนี้จะเกิดจากการแผ่ความร้อนจากตัวของสิ่งมีชีวิต เมื่อมีสิ่งมีชีวิตผ่านหน้าเซ็นเซอร์ตัวนี้จะถูกจับรังสีอินฟาเรดได้ และถูกส่งไปยังวงจรขยายสัญญาณให้มีความเข้มพอที่จะส่งออกไป
คำอธิบาย:
ขนาด: 3.2ซม.x 2.4ซม.x 1.8ซม.(ประมาณ)
เซ็นเซอร์อินฟราเรดพร้อมแผงวงจรควบคุม สามารถปรับความไวและเวลาในการถือครองได้
ช่วงแรงดันใช้งาน: DC 4.5V- 20V
ท่อระบายน้ำปัจจุบัน: <60uA
แรงดันไฟฟ้าขาออก: สัญญาณระดับสูง/ต่ำ: เอาต์พุต TTL 3.3V
ระยะการตรวจจับ: 3–7M (สามารถปรับได้)
ช่วงการตรวจจับ: <140° เวลาหน่วง: 5-200S (สามารถปรับได้, ค่าเริ่มต้น 5s +-3%)
เวลาปิดล้อม: 2.5 S (ค่าเริ่มต้น)
ทริกเกอร์: L: ทริกเกอร์ที่ไม่สามารถทำซ้ำได้ H: ทริกเกอร์ซ้ำ (ค่าเริ่มต้น)
อุณหภูมิในการทำงาน:-20-+80°C
วิธีการทริกเกอร์: ทริกเกอร์ L ที่ไม่สามารถทำซ้ำได้ / ทริกเกอร์ที่ทำซ้ำได้ H
คุณสมบัติ:
1. การเหนี่ยวนำอัตโนมัติ: เมื่อมีคนเข้าสู่ช่วงการเหนี่ยวนำ เข้าสู่ระดับสูง ผู้คนที่ออกจากช่วงเซ็นเซอร์จะล่าช้าโดยอัตโนมัติจากระดับสูง เอาท์พุทต่ำ
2. การควบคุมแสง (อุปกรณ์เสริม): โมดูลที่สงวนไว้สำหรับตำแหน่งสามารถตั้งค่าเป็นการควบคุมแสงแสงจ้าในระหว่างวันหรือไม่เหนี่ยวนำ การควบคุมแบบไวแสงเป็นทางเลือก โรงงานไม่ได้ติดตั้งตัวต้านทานแบบไวแสง หากจำเป็น โปรดซื้อตัวต้านทานไวแสงแยกต่างหากเพื่อติดตั้ง
3. สองโหมดทริกเกอร์: L ไม่สามารถทำซ้ำได้ H สามารถทำซ้ำได้ สามารถเลือกจัมเปอร์ได้ ค่าเริ่มต้นคือ H
A. โหมดทริกเกอร์ที่ไม่สามารถทำซ้ำได้: เอาต์พุตการเหนี่ยวนำสูง, เวลาหน่วงเวลาสิ้นสุดลง, เอาต์พุตจะเปลี่ยนจากสูงไปต่ำโดยอัตโนมัติ
B. โหมดทริกเกอร์ซ้ำ: นั่นคือหลังจากตรวจจับเอาต์พุตสูงในช่วงเวลาล่าช้าหากร่างกายมนุษย์อยู่ในช่วงการตรวจจับกิจกรรมเอาต์พุตจะยังคงสูงจนกระทั่งความล่าช้าหลังจากที่บุคคลจะออกจากระดับสูง ระดับจะเปลี่ยนไป ถึงระดับต่ำ (โมดูลการตรวจจับจะหน่วงเวลาหน่วงโดยอัตโนมัติหลังจากทุกกิจกรรมของร่างกายมนุษย์ และใช้เวลาของกิจกรรมสุดท้ายเป็นจุดเริ่มต้นของเวลาหน่วง)
4. เวลาบล็อกการเหนี่ยวนำ (การตั้งค่าเริ่มต้น: 3-4 วินาที): หลังจากเอาต์พุตการตรวจจับแต่ละครั้ง (ระดับสูงไปต่ำ) โมดูลการตรวจจับสามารถตามด้วยเวลาในการบล็อก ในระหว่างที่ตรวจพบ อุปกรณ์จะไม่รับสัญญาณความรู้สึกใด ๆ . สามารถใช้ฟังก์ชันนี้เพื่อให้ได้ช่วงเวลาระหว่างเวลาเอาท์พุตการตรวจจับและเวลาบล็อค สามารถใช้กับผลิตภัณฑ์ตรวจจับช่วงเวลาได้ ในเวลาเดียวกัน ฟังก์ชั่นนี้สามารถระงับการรบกวนทุกชนิดในกระบวนการเปลี่ยนโหลดได้อย่างมีประสิทธิภาพ
5. ช่วงแรงดันไฟฟ้าที่กว้าง: แรงดันไฟฟ้าเริ่มต้น DC4.5V ถึง 20V
6. ไมโครพาวเวอร์: กระแสไฟนิ่ง 65 ไมโครแอมป์ โดยเฉพาะอย่างยิ่งสำหรับผลิตภัณฑ์เครื่องใช้ไฟฟ้าที่ใช้พลังงานจากแบตเตอรี่แห้ง
7. สัญญาณเอาต์พุตระดับสูง: สามารถใช้กับวงจรประเภทต่างๆได้อย่างง่ายดายเพื่อให้เกิดการเทียบท่า
การปรับแต่งโมดูล
การปรับ Time Delay เป็นการปรับระยะเวลาการหน่วงของสัญญาณ Output เช่น หากมีคนเดินผ่านแล้วเราได้ทำการบิดไว้ต่ำสุด สัญญาณ Output จะค้างอยู่ 3 วินาที เป็นต้น ซึ่งสามารถปรับตั้งได้ตั้งแต่ 3 วินาที ถึง 5 นาที เราสามารถปรับค่าตรงนี้ได้โดยการปรับตัวต้านทานทางด้านซ้ายมือ(เมื่อหันด้านตัวต้านทานเข้าหาตัว) บิดทวนเข็มนาฬิกาจะเป็นการลดค่า(บิดสุดคือหน่วงเวลา 3 วินาที) บิดตามเข็มนาฬิกาจะเป็นการเพิ่มค่า(บิดสุดคือหน่วงเวลา 5 นาที)
การใช้งาน HC-SR501
เนื่องจากตัวโมดูลนั้นมี Output เป็น 3.3V TTL จึงสามารถต่อตรงได้เลย เช่นการต่อกับหลอด LED โดยตรง เมื่อมีสิ่งมีชีวิตผ่าน โมดูลจะส่ง Output เป็น HIGH ซึ่งก็จะไปขับหลอด LED หรืออุปกรณ์ของเราโดยตรงทันที
การใช้งาน HC-SR501 กับ Arduino
สำหรับการต่อกับ Arduino ก็ใช้ง่ายๆโดยใช้ digitalRead อ่านค่าสัญญาณที่มาจากตัวโมดูลเซ็นเซอร์เท่านั้นเอง
โดยเขียนโค้ดได้ง่ายๆดังนี้
// กำหนดขาที่จะใช้งาน
int ledPin = 13;
int pirPin = 2;
int value = 0;
void setup() {
// กำหนดขา ledPin เป็น Output และ pirPin เป็น Input ต่อกับโมดูล
pinMode(ledPin, OUTPUT);
pinMode(pirPin, INPUT);
// กำหนดให้ LED ดับในตอนเริ่มต้น
digitalWrite(ledPin, LOW);
}
void loop() {
// digitalRead สถานะจากขาโมดูล
value = digitalRead(pirPin);
// ให้ LED มีสถานะเดียวกับ value (โมดูลตรวจจับได้ value อ่านได้ HIGH LED ก็จะติดสว่างตามด้วย)
digitalWrite(ledPin, pirValue);
}