2017年9月10日 星期日

【專題】Arduino篇:1-12 Arduino 實作「人體紅外線感測器」—異想天開

上篇介紹到了溫濕度感測器,可以感測環境中的溫度跟濕度,算是一個非常實用的模組喔。
今天要來跟大家介紹的是人體紅外線感測器,顧名思義它是用來感測人體的。
感測人體的感測器,大致上可以分成兩種,一種是主動式的,算是比較常見的。
例如小便斗上面的感測器,感測到人會自動沖水;另一種就是被動式的,感測器本身不會發射紅外線,我們這次所要講的人體紅外線感測器就屬於被動式的。


它的感測距離最遠可到大約6公尺,角度可達到110左右。
那當你翻到背面時,你可以看到他有兩個旋鈕。


分別是SxTxSx是指說敏感度(Sensitivity) Tx是指說延遲時間(Time Delay),在這裡光瞳建議大家,先把延遲時間(Delay)先逆時針調到最底,調成最低值,敏感度(Sensitivity)的部分順時針轉到底,調成最高值,這樣在測試時比較容易看到效果。
等程式正常運作後,確認都沒問題後,再自己試著調到自己想要的程度。

實作材料:
Arduino uno 一片
USB傳輸線 一條
人體紅外線感測器 一顆

電路圖:

照上面打好後,接著打上程式。
————————————————————————
int sensor = 2;        //定義sensor接脚為2
int val = 0;           //定義變量儲存傳感器的返回值

void setup()
{
   Serial.begin(9600);    //設置傳輸鮑率為9600,這裡要跟軟體設置相一致
   pinMode(sensor, INPUT);        //設定sensor接脚為輸入狀態
}

void loop()
{
   val = digitalRead(sensor);    //讀傳感器信息
   if( val== HIGH)
     //如果檢測到人移動
   {
       Serial.println("有人經過");
   }
     //如果沒有檢測到人移動
   else
   {
    Serial.println("無人或人靜止不動"); 
   }
}
————————————————————————
當有人體經過時,感應器就會產生反應,如果沒有人經過或是人已經在所偵測到的範圍裡靜止一段時間,感測器則不會產生反應。
這也算是一個蠻實用的感測器,通常用於門口感測是否有人進出,來判斷是否有小偷進入家門。
多去嘗試,多去練習吧!



沒有留言:

張貼留言