快速解答

將 HC-SR501 的 VCC 接至 5V,GND 接 GND,OUT 接數位腳位,然後遮住透鏡並等待 30-60 秒預熱,再信任讀數。先將兩個可變電阻大致轉到中間位置,上傳一個簡單的 digitalRead 草稿碼,然後在觀察序列埠監控視窗的同時調整靈敏度和延遲。

HC-SR501 腳位的實際功能

模組有三個腳位:VCC、OUT 和 GND。OUT 是數位訊號,偵測到動作時會變為 HIGH,因此任何 Arduino 數位輸入都可以使用。型錄列出的輸出電壓為 3.3V,這是模組在 OUT 上呈現的邏輯準位。如果您打算將訊號饋入僅支援 5V 邏輯輸入的裝置或 3.3V 的開發板,這點很重要:3.3V 的 HIGH 通常可被 3.3V 的 MCU(例如 ESP32 或 Raspberry Pi)正確讀取,但經典的 5V Arduino Uno 會將高於約 3V 的電壓視為 HIGH,因此也能運作。如果不確定,請在觸發時用三用電表量測 OUT,而不是憑猜測。

HC-SR501 還有兩個可變電阻和一個跳線。一個電阻設定靈敏度(偵測範圍),另一個設定延遲(動作停止後 OUT 維持 HIGH 的時間)。跳線可選擇重複觸發或不可重複觸發模式。模組在通電後需要預熱時間;在此期間 OUT 可能維持 HIGH 或切換狀態,因此在穩定之前不要判斷感測器狀態。

電源供應與接線選擇,避免雜訊干擾

HC-SR501 在穩定的 5V 電源下運作最佳。從 Arduino 的 5V 腳位供電對單一模組來說沒問題,但如果您加入繼電器、馬達或長導線,請使用獨立穩壓的 5V 電源並共地。電源不穩或雜訊過多是最常見的隨機觸發原因之一。

保持訊號線短,並遠離馬達或市電配線。如果必須使用長導線,請將 OUT 和 GND 絞在一起,或使用遮蔽線。若是永久性安裝,請焊接連接或使用螺絲端子,避免鬆動的跳線移動。

驗證動作偵測的簡易 Arduino 草稿碼

從最簡單的測試開始:讀取數位腳位並列印其狀態。將 OUT 接至腳位 2,然後上傳一個將腳位 2 設為 INPUT 並以 9600 鮑率將 digitalRead(2) 列印到序列埠監控視窗的草稿碼。在透鏡前揮手並觀察數值變化。這可以在加入任何邏輯之前確認接線正確。

原始讀數正常後,加入簡短的防彈跳或狀態變更檢查,避免單一動作事件灌爆序列輸出。例如,只在讀數從 LOW 變為 HIGH 時列印。這樣更容易觀察延遲電阻的行為。

調整靈敏度和延遲,避免誤觸發

先將兩個可變電阻完全逆時針轉到底,然後慢慢調高靈敏度,直到感測器涵蓋您需要的範圍。靈敏度不是越高越好:它也會偵測到熱源、氣流和寵物。延遲電阻控制最後一次動作後 OUT 維持 HIGH 的時間;事件計數時設短,照明或警報保持時間則設長。

一次只調整一項,並等待模組穩定。如果輸出持續維持 HIGH,請降低靈敏度,並確認透鏡沒有朝向窗戶、暖氣或移動的窗簾。如果從未觸發,請確認跳線模式以及預熱時間是否已過。

HC-SR501 Arduino 逐步設定

  1. 步驟 1:確認腳位定義並設定跳線: 透鏡朝向您時,腳位通常由左至右為 VCC、OUT、GND,但請以電路板上的標記為準。將跳線設為不可重複觸發模式(H)以進行簡單的開/關偵測,或設為重複觸發模式(L)以在動作持續時讓 OUT 維持 HIGH。 檢查點:如果標記不清楚,請在連接電源前先用三用電表測試。
  2. 步驟 2:連接電源和訊號: 將 VCC 接至 5V,GND 接 GND,OUT 接 Arduino 數位腳位 2。保持訊號線短,並遠離馬達或市電配線。如果使用外部電源,請將其接地與 Arduino 接地連接。 常見錯誤:使用獨立 5V 電源時忘記共地。
  3. 步驟 3:等待預熱: 為模組供電,並在模組前方靜止等待 30-60 秒。輸出在此期間可能切換狀態,這是正常現象。在模組穩定之前不要調整可變電阻。 檢查點:如果兩分鐘後 OUT 仍不穩定,請檢查電源穩定性和接線。
  4. 步驟 4:上傳簡易讀取草稿碼: 將腳位 2 設為 INPUT,並以 9600 鮑率將 digitalRead(2) 列印到序列埠監控視窗。揮手並確認數值變化。加入狀態變更檢查,只列印狀態轉換。 常見錯誤:使用 INPUT_PULLUP,這會與模組輸出衝突;除非您的特定模組有要求,否則請使用一般 INPUT。
  5. 步驟 5:調整靈敏度和延遲: 先將兩個可變電阻完全逆時針轉到底。調高靈敏度直到感測器可靠地涵蓋目標區域,然後停止。將延遲設為符合專案需求的最短保持時間。 檢查點:如果誤觸發持續發生,請降低靈敏度,並移除視野中的熱源或移動氣流來源。
  6. 步驟 6:在實際位置測試最終行為: 將感測器安裝在您要使用的高度和角度,然後在偵測區域內走動數次。確認 OUT 在預期時變為 HIGH,並在延遲後降為 LOW。 下一步:如果需要更乾淨的事件計數,請在程式碼中加入防彈跳或保持計時器。

產品資訊

  • HC-SR501 動作感測器模組 偵測器 PIR 可調式: HC-SR501 動作感測器模組 偵測器 PIR 可調式,輸出電壓 3.3V。3.3V 邏輯 HIGH 與 3.3V 開發板相容,且大多數 5V Arduino 輸入仍會將其讀為 HIGH,因此在典型設定中,您可以在任一平台上使用而無需位準轉換器。
  • DC-DC 升降壓轉換器 4-35V 至 1.25-25V LM2596S XL6019E1 3A: DC-DC 升降壓轉換器 4-35V 至 1.25-25V LM2596S XL6019E1 3A,輸出可調。當您的專案使用電池或較高電壓軌供電,且需要乾淨、可調的 5V 電源給 PIR 模組,而不是從雜訊較多的 Arduino 電源軌取電時,此產品非常實用。