實驗說明:
米羅在本篇帶各位實作ESP32結合HC-SR501感測是否有人在附近移動。HC-SR501紅外線人體感測器屬於PIR(Passive Infrared Sensor,被動式紅外線感測器)不會主動發出紅外線。被動式紅外線感測器是一種能檢測人或動物移動所發射的紅外線。HC-SR501可應用在房間無人時會自動停機的空調、飲水機或是警報器等,尤其這個感測器拿來做為防盜等用途是非常適合的。
材料:
- ESP32-E DevKit
- USB 傳輸線
- HC-SR501 人體紅外線感測器
- 有源蜂鳴器
- 麵包板
- 麵包板跳線
▼ 購買IoT物聯網學習教材:
程式:
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); //有源蜂鳴器無聲
}
}
程式說明:
HC-SR501訊號線只會回傳0(LOW)或1(HIGH),代表有沒有偵測到物體在移動,當偵測到人或動物移動在附近移動時,蜂鳴器則會發出聲響。將程式碼下載到ESP32後,就輕鬆簡單的實作出警報裝置。