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為輸入
Serial.begin(115200); // 初始化序列埠,波特率設為115200
}
void loop()
{
val = digitalRead(inPin); // 人體紅外線感測器讀出數位值
if (val == HIGH) // 如果有人在移動
{
digitalWrite(buzzPin, HIGH); // 有源蜂鳴器發出聲響
Serial.println("Motion detected: HIGH"); // 在序列埠顯示感測值為HIGH
}
else
{
digitalWrite(buzzPin, LOW); // 有源蜂鳴器無聲
Serial.println("Motion detected: LOW"); // 在序列埠顯示感測值為LOW
}
delay(100); // 延遲100毫秒,避免不必要的頻繁檢測
}