Arduino - เซ็นเซอร์ PIR
เซ็นเซอร์ PIR ช่วยให้คุณรับรู้การเคลื่อนไหว ใช้เพื่อตรวจจับว่ามนุษย์ย้ายเข้าหรือออกจากระยะของเซ็นเซอร์หรือไม่ มักพบในเครื่องใช้และอุปกรณ์ต่างๆที่ใช้ในบ้านหรือสำหรับธุรกิจ ซึ่งมักเรียกกันว่าเซ็นเซอร์ PIR, "Passive Infrared", "Pyroelectric" หรือ "IR motion"
ต่อไปนี้เป็นข้อดีของเซ็นเซอร์ PIR -
- ขนาดเล็ก
- ช่วงเลนส์กว้าง
- ง่ายต่อการเชื่อมต่อ
- Inexpensive
- Low-power
- ง่ายต่อการใช้
- อย่าใส่ออกไป

PIR ทำจากไพโรอิเล็กทริกเซนเซอร์กระป๋องโลหะทรงกลมที่มีคริสตัลสี่เหลี่ยมอยู่ตรงกลางซึ่งสามารถตรวจจับระดับของรังสีอินฟราเรดได้ ทุกอย่างปล่อยรังสีระดับต่ำและสิ่งที่ร้อนกว่าก็คือยิ่งมีการแผ่รังสีออกมามากขึ้น เซ็นเซอร์ในเครื่องตรวจจับการเคลื่อนไหวถูกแบ่งออกเป็นสองส่วน นี่คือการตรวจจับการเคลื่อนไหว (การเปลี่ยนแปลง) ไม่ใช่ระดับ IR เฉลี่ย ทั้งสองซีกเชื่อมต่อกันเพื่อให้ตัดกัน หากครึ่งหนึ่งเห็นรังสี IR มากกว่าหรือน้อยกว่าอีกด้านหนึ่งเอาต์พุตจะแกว่งสูงหรือต่ำ

PIR มีการตั้งค่าที่ปรับได้และมีส่วนหัวติดตั้งอยู่ในแผ่นกราวด์ / ขาออก / ไฟ 3 พิน

สำหรับโครงการหรือผลิตภัณฑ์พื้นฐานจำนวนมากที่ต้องตรวจจับเมื่อบุคคลออกไปหรือเข้ามาในพื้นที่เซ็นเซอร์ PIR นั้นยอดเยี่ยมมาก โปรดทราบว่า PIR ไม่ได้บอกจำนวนคนรอบข้างหรือความใกล้ชิดกับเซ็นเซอร์ เลนส์มักถูกจับจ้องไปที่การกวาดในระยะไกลและบางครั้งสัตว์เลี้ยงในบ้านก็ถูกกำหนดไว้
ส่วนประกอบที่จำเป็น
คุณจะต้องมีส่วนประกอบต่อไปนี้ -
- 1 ×เขียงหั่นขนม
- 1 × Arduino Uno R3
- 1 × PIR เซนเซอร์ (MQ3)
ขั้นตอน
ทำตามแผนภาพวงจรและทำการเชื่อมต่อดังแสดงในภาพด้านล่าง

ร่าง
เปิดซอฟต์แวร์ Arduino IDE บนคอมพิวเตอร์ของคุณ การเข้ารหัสในภาษา Arduino จะควบคุมวงจรของคุณ เปิดไฟล์ร่างใหม่โดยคลิกใหม่

รหัส Arduino
#define pirPin 2
int calibrationTime = 30;
long unsigned int lowIn;
long unsigned int pause = 5000;
boolean lockLow = true;
boolean takeLowTime;
int PIRValue = 0;
void setup() {
Serial.begin(9600);
pinMode(pirPin, INPUT);
}
void loop() {
PIRSensor();
}
void PIRSensor() {
if(digitalRead(pirPin) == HIGH) {
if(lockLow) {
PIRValue = 1;
lockLow = false;
Serial.println("Motion detected.");
delay(50);
}
takeLowTime = true;
}
if(digitalRead(pirPin) == LOW) {
if(takeLowTime){
lowIn = millis();takeLowTime = false;
}
if(!lockLow && millis() - lowIn > pause) {
PIRValue = 0;
lockLow = true;
Serial.println("Motion ended.");
delay(50);
}
}
}
รหัสที่ควรทราบ
เซ็นเซอร์ PIR มีสามขั้ว - V cc , OUT และ GND เชื่อมต่อเซ็นเซอร์ดังต่อไปนี้ -
- เชื่อมต่อ + V ccถึง + 5v บนบอร์ด Arduino
- เชื่อมต่อ OUT กับพินดิจิตอล 2 บนบอร์ด Arduino
- เชื่อมต่อ GND กับ GND บน Arduino
คุณสามารถปรับความไวของเซ็นเซอร์และเวลาหน่วงผ่านตัวต้านทานตัวแปรสองตัวที่ด้านล่างของแผงเซ็นเซอร์

เมื่อเซ็นเซอร์ตรวจพบการเคลื่อนไหว Arduino จะส่งข้อความผ่านพอร์ตอนุกรมเพื่อแจ้งว่าตรวจพบการเคลื่อนไหว การเคลื่อนไหวแบบสัมผัส PIR จะหน่วงเวลาเป็นระยะเวลาหนึ่งเพื่อตรวจสอบว่ามีการเคลื่อนไหวใหม่หรือไม่ หากตรวจไม่พบการเคลื่อนไหว Arduino จะส่งข้อความใหม่แจ้งว่าการเคลื่อนไหวสิ้นสุดลงแล้ว
ผลลัพธ์
คุณจะเห็นข้อความบนพอร์ตอนุกรมของคุณหากตรวจพบการเคลื่อนไหวและข้อความอื่นเมื่อการเคลื่อนไหวหยุดลง