用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秒后熄灭灯。