W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
PIR傳感器可以讓你感知運動。它們用于檢測人是否進入或離開傳感器的范圍。通常出現(xiàn)在家庭或企業(yè)使用的電器和小工具中。它們通常被稱為PIR,“被動紅外”,“熱電”或“IR運動”傳感器。
以下是PIR傳感器的優(yōu)點:
PIR由熱電傳感器制成,圓形金屬罐中央有一個矩形晶體,可以檢測紅外輻射的水平。所有東西都發(fā)射出低水平的輻射,而東西越熱發(fā)射的輻射就越多。運動檢測器中的傳感器分成兩半。這是為了檢測運動(變化)而不是平均IR水平。兩個半部分相互連接,以便彼此抵消。如果一半看到比另一半更多或更少的紅外輻射,則輸出將擺動高或低。
PIR具有可調(diào)設置,并在3引腳ground/out/power板上安裝了一個接頭。
對于許多需要在人們離開或進入該區(qū)域進行檢測的基礎項目或產(chǎn)品,PIR傳感器是非常有用的。請注意,PIR不會告訴你周圍的人數(shù)或與傳感器的距離。鏡頭通常固定在有一定距離的掃描范圍內(nèi),有時候它們會被房子里的寵物帶走。
你將需要以下組件:
按照電路圖進行連接,如下圖所示。
在計算機上打開Arduino IDE軟件。使用Arduino語言進行編碼控制你的電路。通過單擊“New”打開一個新的草圖文件。
#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傳感器有三個端子:Vcc,OUT和GND。按如下所示連接傳感器:
您可以通過位于傳感器板底部的兩個可變電阻器來調(diào)節(jié)傳感器靈敏度和延遲時間。
一旦傳感器檢測到任何運動,Arduino將通過串口發(fā)送一條消息,表示檢測到運動。PIR感測運動將延遲一定時間以檢查是否存有新的運動。如果沒有檢測到運動,Arduino將發(fā)送一條新消息,說明運動已經(jīng)結束。
如果檢測到運動,你將在串口上看到一條消息,并在運動停止時看到另一條消息。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: