#include <Arduino.h>
#include <DHT.h>

// 定义引脚
#define DHTPIN 22     // DHT11 数据引脚连接到 22 号引脚
#define PIR 24        // HC-SR501 数据引脚连接到 24 号引脚
#define BUZZER 26     // 蜂鸣器引脚连接到 26 号引脚

// 定义DHT传感器类型
#define DHTTYPE DHT22

// 创建DHT对象
DHT dht(DHTPIN, DHTTYPE);

// 温度阈值
int temp_limit = 30;

void setup() 
{
  // 初始化串口
  Serial.begin(115200);
  
  // 初始化DHT传感器
  dht.begin();
  
  // 设置引脚模式
  pinMode(DHTPIN, INPUT);
  pinMode(PIR, INPUT);
  pinMode(BUZZER, OUTPUT);
  
  // 蜂鸣器初始化为关闭状态
  digitalWrite(BUZZER, LOW);
}


void loop() 
{
  // 读取DHT11传感器的温度
  int temperature = dht.readTemperature();
  
  // 读取PIR传感器的状态
  int pirState = digitalRead(PIR);
  
  // 打印温度值到串口监视器
  Serial.print("温度为: ");
  Serial.print(temperature);
  Serial.println(" *C");

  // 检查温度是否超过阈值 并且 PIR传感器是否检测到人体
  if (temperature > temp_limit && pirState == HIGH) {
    // 触发蜂鸣器
    digitalWrite(BUZZER, HIGH);
    Serial.println("蜂鸣器报警!");
  } else {
    // 关闭蜂鸣器
    digitalWrite(BUZZER, LOW);
  }

  // 延时1秒
  delay(1000);
}
$abcdeabcde151015202530fghijfghij