# 紅外線動作感測器(PIR Motion Sensor)
◎紅外線動作感測器(PIR Motion Sensor)或稱人體紅外線感測器,是一種可以偵測物體移動的電子裝置。
◎生活中很多東西都會發射紅外線,例如燈泡、蠟燭、中央空調等,其實人體也會發射紅外線,紅外線動作感測器的原理,便是利用人體發射出來的紅外線的變化,來感應物體的移動。
◎紅外線感測器有分主動式和被動式兩種。主動式的紅外線感測器,感應器本身會發射紅外線光束,當紅外線光束被物體擋住後,紅外線光束會反射,利用這個紅外線反射原理可以做很多應用,例如廁所的自動沖水小便斗或感應式水龍頭,它們用的就是主動式紅外線感測器。紅外線動作感測器 (PIR Motion Sensor) 是屬於被動式的紅外線裝置,感應器本身不會發射紅外線光束。
◎被動式紅外線感測器的縮寫(Passive Infrared Sensor) 是 PIR。
◎紅外線動作感測器一般用在防盜系統上,例如有人入侵屋內便響警報的紅外警報器,或是自動照明裝置,例如玄關、走廊、樓梯間或車庫門口不常有人走動,將紅外線感應器和燈具裝在這些地方,只要有人就自動開燈照明,人離開後就自動關燈省電。
◎紅外線動作感測器腳位表 一般來說,紅外線動作感測器只有三支接腳,這三支接腳的功能如下表: 腳位名稱 功能說明 GND (-) 接到接地 Power(+) 接到 +5V 電源 OUT 輸出訊號
◎在感測到物體移動時,紅外線動作感測器就會在 OUT 腳上輸出一個訊號,利用這個訊號就可以知道感測器附近是否有人。另外,大部份紅外線動作感測器都有一個旋轉鈕,可讓使用者調整訊號輸出的延遲時間,這個設計非常貼心,因為利用延遲時間我們可以延遲關燈的時間,避免燈具開關太過頻繁。
- 把 LED 接到 Arduino 板子上,LED 長腳 (陽極) 接到 pin13,短腳 (陰極) 接到 GND
- 把紅外線動作感測器 GND 腳位接到 GND,V+ 腳位接到 +5V,然後 OUT 腳位接到數位輸入(Digital pins) pin 2
電路(接線)圖:
程式範例:
const int PIRSensor = 2; // 紅外線動作感測器連接的腳位07
const int ledPin = 13; // LED 腳位
int sensorValue = 0; // 紅外線動作感測器訊號變數
void setup() {
pinMode(PIRSensor, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop(){
// 讀取 PIR Sensor 的狀態
sensorValue = digitalRead(PIRSensor);
// 判斷 PIR Sensor 的狀態
if (sensorValue == HIGH) {
digitalWrite(ledPin, HIGH); // 有人,開燈
Serial.println("有人,開燈");
}
else {
digitalWrite(ledPin, LOW); // 沒人,關燈
Serial.println(" ");
}
}
結果: