ESP32, IOT物聯網

【ESP32】第十六篇:HC-SR501人體紅外線感測器(PIR)搭配蜂鳴器 實作智慧防盜警報器

一、 實驗說明:打造智慧居家人體感應防盜警報系統!

在智慧家庭與物聯網(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-SR501VCC5V / VIN電源輸入(建議 5V 供電以維持穩定)
HC-SR501OUT (訊號腳)GPIO 17數位輸入腳,讀取移動偵測訊號 (HIGH/LOW)

⚠️ 提示:HC-SR501 訊號腳僅會回傳 1 (HIGH) 或 0 (LOW),代表是否有偵測到物體在移動

HC-SR501 人體紅外線感測器 PIR

 

四、 實作實驗程式碼:動態感應與蜂鳴器警報觸發

請將以下程式碼複製到 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. 燒錄與操作測試

  1. 點擊 Arduino IDE 的 「上傳 (Upload)」 按鈕將程式碼上傳至 ESP32。

  2. 通電後,HC-SR501 需要預熱約 30~60 秒 進行初始化校準。

  3. 預熱完成後,將手在 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聲音感測器模組實作動感聲控節奏燈

▼【ESP32教學】教學總索引頁面

相關文章