前言

之前我們介紹過 DiFi 實驗板上的紅外線碰觸開關,也介紹過利用紅外線發射器來控制電器。當時在介紹紅外線接收器時,我們提到自然界本身就存在著許多的紅外線,其中包含人體所散發出的紅外線。在這篇文章中,我們將介紹偵測紅外線變化的 PIR 感測器,可以用來判斷是否有物體的移動。開發環境依舊為 WFduino/Scratch 3.0 與 DiFi 實驗板。

PIR 移動偵測器

PIR 是英文 Passive Infrared 的縮寫,是一個被動式的紅外線感測器。有關 PIR 移動偵測器的進一步說明,請參考這篇文章

開發環境建置

如果你還沒有建置 WFduino + Scratch 3 的開發環境,請參考這篇文章

線路圖

DiFi V51 PIR 接線圖

DiFi V51 PIR 接線圖

  1. PIR 共有三支接腳,以上面圖片為例,由上至下分別為 VCC、輸出與 GND。
  2. 因為 PIR 輸出接腳的電壓為 3.3V,所以可以直接接到 DiFi 的 GPIO,而不需要經由分位器降壓。
  3. PIR 的 VCC 接腳連接至 DiFi 的 +4.6V。
  4. PIR 的 輸出接腳連接至 DiFi WFduino 編號 1 的腳位,板上印刷的編號為 5。
  5. PIR 的 GND 接腳連接至 DiFi 上的 GND。
  6. PIR 輸出接腳的電位平常維持在低電位,當偵測到紅外線變化時則變成高電位,並維持高電位一段時間後才回復至低電位。

程式範例

WFduino 控制 PIR (Scratch 3)

WFduino 控制 PIR (Scratch 3)

  1. 在程式一開始需要將 PIR 輸出連結的 GPIO 設定為輸入模式,在此範例我們使用的是編號 1 的腳位。
  2. 之後程式則不斷地檢查腳位的狀態。當變成高電位時表示 PIR 偵測到紅外線的變化,也就表示有人正在移動,此時程式大聲喊出 “不要動”。
  3. 因為 PIR 偵測到紅外線變化後會維持高電位一段時間,所以我們等待 10 秒後再重新檢查腳位狀態,免得重複說出不必要的訊息。
  4. 當程式執行後,我們先把手放到 PIR 的前方,之後則開始將手移動一段距離後停止,應該就可以聽到電腦說出 “不要動” 了。
  5. 雖然 PIR 使用上相當簡便,但是仍須注意偵測距離與角度的問題。
  6. 嚴格來說,因為 PIR 是偵測紅外線的變化,所以除了人的移動外,其他行為也可能影響 PIR 的偵測結果。例如火的明滅變化也有可能觸發 PIR。如果我們需要比較精確的判斷,可以搭配多種偵測器,甚至加上影像辨識的機制,就可以大幅降低錯誤判斷的可能性。
Facebook 留言
Print Friendly, PDF & Email
Summary
WFduino + Scratch 3 + DiFi 使用 PIR 移動偵測器
Article Name
WFduino + Scratch 3 + DiFi 使用 PIR 移動偵測器
Description
在這篇文章中,我們將介紹偵測紅外線變化的 PIR 感測器,可以用來判斷是否有物體的移動。開發環境依舊為 WFduino/Scratch 3.0 與 DiFi 實驗板。
Author
Publisher Name
Everlearn Studio
Publisher Logo