arduino人体感应灯
作者:野牛程序员:2023-07-06 07:06:46Arduino阅读 2899
Arduino人体感应灯是一种基于Arduino开发板的项目,利用人体红外传感器(PIR传感器)检测到人体活动并控制灯光的项目。
下面是一个简单的Arduino人体感应灯的示例代码:
// 引入必要的库
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_TSL2561_U.h>
// 定义人体红外传感器连接的引脚
const int pirPin = 2;
// 定义LED灯连接的引脚
const int ledPin = 13;
// 创建一个Adafruit_TSL2561_U对象
Adafruit_TSL2561_Unified tsl = Adafruit_TSL2561_Unified(TSL2561_ADDR_FLOAT, 12345);
void setup()
{
// 初始化串口通信
Serial.begin(9600);
// 初始化人体红外传感器引脚
pinMode(pirPin, INPUT);
// 初始化LED灯引脚
pinMode(ledPin, OUTPUT);
// 初始化TSL2561传感器
if (!tsl.begin())
{
Serial.println("未找到TSL2561传感器,请检查连接!");
while (1);
}
// 设置传感器增益
tsl.setGain(TSL2561_GAIN_16X);
// 设置传感器整合时间
tsl.setIntegrationTime(TSL2561_INTEGRATIONTIME_13MS);
}
void loop()
{
// 读取人体红外传感器状态
int pirStatus = digitalRead(pirPin);
// 检测到人体活动时,打开LED灯
if (pirStatus == HIGH)
{
digitalWrite(ledPin, HIGH);
}
else
{
digitalWrite(ledPin, LOW);
}
// 读取环境光强度
sensors_event_t event;
tsl.getEvent(&event);
// 输出环境光强度到串口监视器
if (event.light)
{
Serial.print("环境光强度:");
Serial.print(event.light);
Serial.println(" lux");
}
delay(500); // 延迟一段时间
}在这个示例代码中,我们首先引入了所需的库,包括Wire库、Adafruit_Sensor库和Adafruit_TSL2561_U库(用于环境光强度传感器)。
然后,我们定义了人体红外传感器连接的引脚和LED灯连接的引脚。
在setup()函数中,我们初始化了串口通信、人体红外传感器引脚和LED灯引脚。然后,我们初始化TSL2561传感器,并设置传感器的增益和整合时间。
在loop()函数中,我们首先读取人体红外传感器的状态。如果检测到人体活动,我们打开LED灯,否则关闭LED灯。
接下来,我们读取环境光强度,并将其输出到串口监视器。
最后,我们在loop()函数中添加了延迟,以便在每次循环之间有一段时间的间隔。
请注意,这只是一个简单的示例代码,实际的项目可能需要根据具体需求进行更多的调整和扩展。此外,你可能需要根据你所使用的具体红外传感器和LED灯的规格和引脚连接进行适当的修改。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:arduino光控小夜灯
- 下一篇:arduino人体红外感应模块
