用Arduino设计一个人体感应灯

用Arduino设计一个人体感应灯装置,当探测到人体温度物体移动时,能够点亮用于模拟照明灯的13号引脚LED小灯,当探测不到移动后延迟五秒熄灭小灯
问1传感器和Arduino应如何连接
2Arduino程序代码

以下回答参考GPT并且由妙妙大帅整理:
传感器和Arduino连接方法:
首先需要一个人体红外传感器(PIR传感器),这个传感器有三个引脚:VCC、GND和OUT。其中VCC连接到Arduino的5V电源引脚,GND连接到Arduino的GND引脚,OUT连接到Arduino的数字引脚2(也可以选择其他数字引脚)。

Arduino程序代码:

// 定义人体红外传感器OUT引脚连接的数字引脚号
int pirPin = 2;

// 定义控制LED小灯的数字引脚号
int ledPin = 13;

// 定义变量用于记录灯的状态
boolean lightOn = false;

void setup() {
  // 设置数字引脚2连接的引脚模式为输入
  pinMode(pirPin, INPUT);
  // 设置数字引脚13连接的引脚模式为输出
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // 读取人体红外传感器的状态
  int pirState = digitalRead(pirPin);

  // 如果探测到人体温度物体移动,则点亮LED小灯
  if (pirState == HIGH) {
    // 如果灯还没有点亮,则点亮灯
    if (!lightOn) {
      digitalWrite(ledPin, HIGH);
      lightOn = true;
    }
  }
  // 如果没有探测到移动,则熄灭LED小灯
  else {
    // 如果灯还没有熄灭,则延迟5秒后熄灭灯
    if (lightOn) {
      delay(5000);
      digitalWrite(ledPin, LOW);
      lightOn = false;
    }
  }
}


上述代码首先定义了传感器OUT引脚连接的数字引脚号和控制LED小灯的数字引脚号,然后在setup函数中设置了引脚的模式,数字引脚2为输入,数字引脚13为输出。在loop函数中,先读取传感器的状态,如果探测到人体温度物体移动,且灯还没有点亮,则点亮灯;如果没有探测到移动,且灯还没有熄灭,则延迟5秒后熄灭灯。