arduino人体红外感应灯和蜂鸣器结合代码
时间: 2024-09-14 08:06:13 浏览: 112
Arduino人体红外感应灯和蜂鸣器结合的基本原理是利用Arduino的IR传感器检测到人体红外信号,当有人靠近时,触发继电器控制灯的开关,并通过蜂鸣器发出提示音。以下是简单的示例代码:
```cpp
#include <IRremote.h> // 引入红外遥控库
// 定义红外接收头连接的端口
const int irPin = 2;
IRrecv irrecv(irPin); // 创建IR接收对象
decode_results results;
void setup() {
Serial.begin(9600);
pinMode(BUILTIN_LED, OUTPUT); // 灯的控制(假设BUILTIN_LED为LED13)
attachInterrupt(digitalPinToInterrupt(LED_BUILTIN), turnOffLight, FALLING); // 灯自动关闭
irrecv.enableIRIn(); // 开始接收红外信号
}
void loop() {
if (irrecv.decode(&results)) { // 检测到红外信号
Serial.println("Received IR signal"); // 打印日志
if (results.addresses[0] == addr) { // 验证是否是我们想要的人体红外码
digitalWrite(LED13, HIGH); // 点亮灯
tone(BEACON_PIN, 800, 500); // 蜂鸣器发出提示音
}
irrecv.resume(); // 继续接收
} else {
irrecv.resume(); // 如果没有接收到,继续监听
}
}
void turnOffLight() { // 当人体离开,灯自动关闭
digitalWrite(LED13, LOW);
}
```
在这个例子中,`addr`应该替换为你配置好的人体红外信号地址,`BEACON_PIN`代表蜂鸣器的引脚。请注意,实际应用中可能需要配合外部红外发射模块进行人体红外识别。
阅读全文