一、 實驗說明:打造智慧居家人體感應防盜警報系統!
在智慧家庭與物聯網(IoT)安防應用中,動態偵測與即時警報是非常關鍵的核心功能。傳統的防盜警報器往往體積龐大且設定複雜;若能透過微控制器結合動態感測器,便能輕鬆打造反應迅速且成本低廉的智慧防護網。
本實驗米羅將帶大家使用 ESP32 開發板 搭配 HC-SR501 人體紅外線感測模組 (PIR) 與 有源蜂鳴器。當 HC-SR501 偵測到周遭有物體或人體移動時,會傳送數位訊號給 ESP32,ESP32 將立即驅動蜂鳴器發出警報聲響,達到即時防盜聲光警示效果!
二、 實驗材料準備清單
本篇實作 ESP32 人體感應防盜警報專案所需的硬體元件如下:
ESP32 t 開發板
麵包板 (Breadboard)
HC-SR501 人體紅外線感測器 (PIR)
有源蜂鳴器 (Active Buzzer)
麵包板跳線
USB 傳輸線
🛒 一次備齊創客工具!
歡迎直接購買米羅科技的 ESP32 物聯網應用學習套件,免去東奔西跑湊零件的煩惱。內含 RGB LED 模組、各類感測器及基礎電子元件,是學校課堂教學與個人專案開發的最佳首選!
三、 核心知識:HC-SR501 感測器與蜂鳴器工作原理
1. HC-SR501 人體紅外線感測器簡介
HC-SR501 屬於 PIR(Passive Infrared Sensor,被動式紅外線感測器),本身不會主動發射紅外線,而是透過內建的熱釋電元件,捕捉人體或動物移動時所產生的紅外線熱能變化。其感應距離與延遲時間可透過模組上的可變電阻進行微調。
2. 有源蜂鳴器與無源蜂鳴器差異
本實驗使用的是有源蜂鳴器(Active Buzzer):
有源蜂鳴器:內部自帶震盪源,只要給予高電位(HIGH / 3.3V-5V)訊號就會自動發出固定頻率的蜂鳴聲,控制簡單。
無源蜂鳴器:內部無震盪源,需要透過微控制器輸出 PWM 方波訊號才能發聲。
3. ESP32 與各模組接線對照表
| 元件名稱 | 元件針腳 / 標記 | 連接至 ESP32 腳位 | 腳位功能說明 |
| 有源蜂鳴器 | VCC / 正極 (+) | GPIO 16 | 數位輸出腳,給予高電位發聲 |
| 有源蜂鳴器 | GND / 負極 (-) | GND | 電源接地端 |
| HC-SR501 | VCC | 5V / VIN | 電源輸入(建議 5V 供電以維持穩定) |
| HC-SR501 | OUT (訊號腳) | GPIO 17 | 數位輸入腳,讀取移動偵測訊號 (HIGH/LOW) |
⚠️ 提示:HC-SR501 訊號腳僅會回傳 1 (HIGH) 或 0 (LOW),代表是否有偵測到物體在移動
四、 實作實驗程式碼:動態感應與蜂鳴器警報觸發
請將以下程式碼複製到 Arduino IDE 中並上傳至 ESP32 開發板:
1. 範例程式碼
int buzzPin=16; // 有源蜂鳴器正極 連接到ESP32 GPIO16
int inPin=17; //HC-SR501人體紅外線感測器OUT信號腳 連接到ESP32 GPIO17
int val;
void setup()
{
pinMode(buzzPin,OUTPUT); //設置buzzPin對應的腳GPIO16為輸出
pinMode(inPin,INPUT); //設置inPin對應的腳GPIO17為輸入
}
void loop()
{
val=digitalRead(inPin); //人體紅外線感測器讀出數位值
if(val==HIGH) // 如果有人在移動
{
digitalWrite(buzzPin,HIGH); //有源蜂鳴器發出聲響
}
else
{
digitalWrite(buzzPin,LOW); //有源蜂鳴器無聲
}
}
2. 燒錄與操作測試
點擊 Arduino IDE 的 「上傳 (Upload)」 按鈕將程式碼上傳至 ESP32。
通電後,HC-SR501 需要預熱約 30~60 秒 進行初始化校準。
預熱完成後,將手在 HC-SR501 感測器前揮動,蜂鳴器會立即響起,且序列埠監控視窗會顯示「【警告】偵測到人體移動!觸發警報!」。
五、 初學者常見卡關問題與排錯指南(Troubleshooting)
1. 通電後,HC-SR501 會一直亂響或持續輸出 HIGH?
預熱特性:HC-SR501 通電初期需要約 30 秒至 1 分鐘 的預熱校準時間,預熱期間感測器會隨機輸出 HIGH 訊號屬於正常現象。請靜置片刻再開始測試。
環境干擾:請確保感測器前沒有熱源(如發熱電器、陽光直射)或大範圍氣流流動。
2. 如何調整 HC-SR501 的感應距離與延遲時間?
在 HC-SR501 模組背面有兩個可變電阻旋鈕:
感應距離調整(Sensitivity):順時針旋轉可增加感應距離(最遠約 3~7 公尺)。
延遲時間調整(Delay Time):順時針旋轉可延長偵測到目標後保持 HIGH 訊號的時間(約 0.5 秒 ~ 5 分鐘)。
3. 蜂鳴器聲音非常小聲或完全不響?
正負極接錯:有源蜂鳴器通常有分正負極(長腳或印有
+號者為正極),請確認正極連接至 ESP32 GPIO16、負極連接至 GND。供電不足:請確認 ESP32 透過 USB 傳輸線供電是否正常。
六、 結語與下一篇教學
恭喜你!成功掌握了使用 HC-SR501 人體紅外線感測器搭配蜂鳴器實作智慧防盜警報器的技巧。這種動態偵測觸發聲光警報的應用,是物聯網智慧家庭防盜、自動開關燈等情境非常經典的範例!
👈 上一篇回顧: 【ESP32教學】第十五篇:MQ-2氣體感測器與ISD1820語音錄放音模組異味與煙霧語音警報器實作
👉 下一篇預告: 【ESP32】第十七篇:LM386聲音感測器模組實作動感聲控節奏燈

