前言

PIR 感測器主要用於偵測紅外線的變化,可用來判斷是否有物體的移動。在這篇文章中,我們將在 WFduino 與 Scratch 3 的環境下使用連接至 Arduino 的 PIR 感測器。

PIR 移動偵測器

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

開發環境建置

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

線路圖

Arduino 與 PIR

Arduino 與 PIR

  1. 我們需處理 PIR 的 +5V、OUT 與 GND 三支接腳,與 Arduino 腳位對應如下:
    PIR 接腳Arduino Uno 腳位杜邦線顏色
    +5V+5V紅色
    OUT7黃色
    GNDGND黑色
  2. PIR 輸出 (OUT) 接腳的電位平常維持在低電位,當偵測到紅外線變化時則變成高電位,並維持高電位一段時間後才回復至低電位。
  3. 如果找不到完全與範例同色的杜邦線也沒關係。但是無論如何請使用三種不同顏色的杜邦線加以連接,以方便區分各個接腳。
  4. 在此範例中省略使用麵包板以簡化線路圖。

範例程式

WFduino 控制 PIR (Scratch 3)

WFduino 控制 PIR (Scratch 3)

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