红外光敏小夜灯


头像
DOIT SUPER
原创
发布时间: 2026-08-01 09:41:45 | 阅读数 0收藏数 0评论数 0
封面
本项目以 Arduino Nano 为主控,结合 SR602 红外人体传感器、两脚光敏电阻打造节能智能小夜灯,仅夜间有人靠近时自动亮灯,白天人体感应失效,避免无效耗电。SR602 接 D2 引脚检测人体,上电需 60 秒预热方可稳定工作;两脚光敏电阻搭配 10kΩ 电阻组成分压电路接入 A0 口采集光照数值,光线充足时系统屏蔽人体感应信号,环境昏暗时开启人体侦测模式。主控 D5 引脚经 1kΩ 电阻驱动 S8050 三极管,隔离驱动 3.7V 规格 LED,规避 5V 引脚直连烧毁灯珠的问题。夜间红外捕捉人体信号后,三极管导通点亮 LED,持续照明 10 秒后自动熄灭。整体结构简洁、功耗低廉,
1

3D打印

附件3D打印文件格式为STP,可直接导入拓竹切片软件使用

STP
camp.stp
128.89KB
2

准备电子元器件

如图,准备以上电子元器件,注意,电池及充电模块已经焊接完毕

3

人体感应模块接入

  1. 将SR602人体感应模块的杜邦线去掉,更换为焊接方式,既能降低整体的高度,又节省内部空间
  2. 引脚接法SR602 人体红外传感器

VCC → 5V

GND → GND

OUT → D2

4

光敏电阻接入

  1. 因为光敏电阻体积较大,因此先固定
  2. 此处光敏电阻为2引脚,因此接线方法:

光敏电阻一端接 5V

光敏另一端 + 10k 电阻一端 → A0

10k 电阻另一端接 GND

5

接入电源开关、电源

  1. 提前测量好、决定还使用开关的哪两个引脚
  2. 将开关串联进去电源正极:即电源正极接nano的5V引脚(中间串联开关)、电源的负极接nano的GND
6

手电筒开关接入

为保证应急使用,因此接入直开开关,即打开开关,灯常亮(等直接连接电池的正负极(注意正极串联了开关))

7

接入3.7V灯

  1. 灯的正极,接D5引脚,负极接GND(触发为高电平)
  2. 整理好内部布局,使用热熔胶枪固定好(注意通电测试功能完好)
8

程序

/*

功能说明:

SR602人体红外 + 两脚光敏电阻

白天:有人也不亮灯

夜晚:检测到人,D5输出高电平,持续10秒;期间再次感应到人,计时重置

*/

#define PIR_PIN 2 // SR602信号输出

#define LDR_PIN A0 // 两脚光敏电阻分压采样

#define LIGHT_PIN 5 // 控制输出D5


unsigned long lightStartTime = 0;

const unsigned long LIGHT_DURATION = 10000UL; // 亮灯10秒

boolean lightOnFlag = false;


// 光线阈值【重点!上电打开串口监视器,自行校准】

// 数值>阈值=白天;数值<阈值=天黑

int LIGHT_THRESHOLD = 450;


void setup() {

pinMode(PIR_PIN, INPUT);

pinMode(LIGHT_PIN, OUTPUT);

digitalWrite(LIGHT_PIN, LOW);

Serial.begin(9600);

}


void loop() {

// 读取光线数值

int lightValue = analogRead(LDR_PIN);

// 读取人体信号

bool humanDetect = digitalRead(PIR_PIN);


unsigned long now = millis();


// 判断:天黑环境

if(lightValue < LIGHT_THRESHOLD)

{

// 检测到人,刷新计时

if(humanDetect == HIGH)

{

lightStartTime = now;

lightOnFlag = true;

}


// 判断是否还在10秒时长内

if(lightOnFlag && (now - lightStartTime < LIGHT_DURATION))

{

digitalWrite(LIGHT_PIN, HIGH);

}

else

{

digitalWrite(LIGHT_PIN, LOW);

lightOnFlag = false;

}

}

else

{

// 白天:强制关灯,清除计时

digitalWrite(LIGHT_PIN, LOW);

lightOnFlag = false;

}


// 串口调试,用来校准光敏阈值

Serial.print("光线值:");

Serial.print(lightValue);

Serial.print(" 人体检测:");

Serial.println(humanDetect?"有人":"无人");

delay(200);

}


INO
re.ino
1.64KB
9

使用效果


10

建模步骤-拉伸

拉伸基础外观尺寸

11

建模步骤-拉伸2

  1. 在【TOP】平面草绘如图尺寸,中间的圆孔为SR602人体传感器的半球直径
  2. 拉伸厚度为0.6mm(考虑透光)
12

建模步骤-做开关孔位

  1. 在【Front】平面拉伸开关的槽位,参数如图
  2. 从顶面拉伸切除材料,方便放入开关、走线
13

建模步骤-制作光敏孔位

根据测量光敏电阻尺寸,开好孔位

14

建模步骤-拉伸螺丝孔位

在顶面草绘尺寸,拉伸自攻丝的孔位

15

建模步骤-做TypeC孔位

  1. 先使用拉伸,拉伸处一个平面
  2. 在此平面上,拉伸切除TypeC槽位
16

建模步骤-拉伸后盖

  1. 参考主体外观,拉伸后盖
  2. 参考主体螺丝孔位,开孔后盖
  3. 边缘倒圆角,螺丝孔位倒角做出沉孔

导出文件格式为.STEP

建模完成

阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
头像
评论 评论
收藏 收藏
分享 分享
pdf下载 下载
pdf下载 举报