床底感应 LED 灯:静音智能夜间照明方案
项目简介
半夜起夜时是否曾因黑暗绊倒物品,吵醒全家?这款安装在床底的感应夜灯能提供柔和的低亮度照明,既能照亮前行道路避开散落的积木等障碍物,又不会因过强光线让你彻底清醒。除了感应动作自动点亮,还可编程设定喜欢的颜色和持续时间,为卧室增添酷炫氛围。本教程配合 T3ch Flicks 视频指导,使用基础套件即可在几小时内轻松完成安装。
所需组件与物料
- 电源模块(5V 6A)×1
- WS2812B 可编程 LED 灯带 ×1
- 走线夹 ×1 包
- PIR 人体红外传感器 ×3
- 船型开关 ×1
- AC 电源插头 ×1
- 导线 若干
- Arduino Nano R3 ×1
所需工具
- 电烙铁
- 锤子
- 3D 打印机(用于打印传感器外壳和控制盒)
软件与在线服务
- Arduino IDE
制作步骤
步骤 1:测量床体尺寸
将床侧放以便操作底部。选定控制盒安装位置(建议床头较高处),测量床的周长、长、宽并记录。确定三个传感器的安装位置,分别朝向床的三个非靠墙侧面,位置靠近床边但隐蔽。测量各传感器到控制盒的距离。
步骤 2:裁剪导线与灯带
按床周长裁剪 LED 灯带。准备 12 根导线(每个传感器 3 根,灯带 3 根),建议使用不同颜色区分:红色供电、黑色接地、其他颜色作信号线。按实测长度裁剪。
步骤 3:为传感器焊接导线
将三色导线穿过 3D 打印外壳盖板。传感器有三个引脚:GND、VCC、S(信号)。按引脚定义焊接对应导线,套上热缩管绝缘。重复三个传感器。将传感器探头卡入外壳主体,合盖,导线从后孔引出。
步骤 4:为 LED 灯带焊接导线
灯带同样有电源、地、信号三个接口(信号为输入)。焊接三色导线备用,稍后接入 Arduino。
步骤 5:安装电源开关
在 3D 打印控制盒上安装船型开关。处理 AC 电源线:剥开外皮露出三芯(火线红、零线蓝、地线),剪留 2cm 接开关下两脚,另外剪 8cm 火线零线接开关上两脚通往电源模块。将开关压入盒体孔位。
步骤 6:连接电源模块
将开关引出的火线、零线分别拧紧在电源模块标记 L、N 的接线柱上。
步骤 7:连接 Arduino 供电
从电源模块 5V 和 GND 输出端分别引线(约 8cm),接至 Arduino 的 VIN 和 GND 引脚。
步骤 8:连接 LED 灯带
灯带电源线、地线分别接入电源模块 5V 和 GND(与 Arduino 并联),信号线焊接至 Arduino D9 引脚。
步骤 9:连接三个传感器
9 根传感器导线穿入盒体。三根电源线并联接 Arduino 5V,三根地线并联接 GND,三根信号线分别接 Arduino D10、D11、D12。
步骤 10:上传程序
下载 motion_sensing_lights.ino,用 Arduino IDE 烧录。程序逻辑:持续检测三路传感器,任一触发则启动定时器,灯带渐亮、保持 30 秒、渐灭。
步骤 11:安装到床底
合上控制盒,仅灯带和电源线在外。用强力双面胶固定控制盒、传感器(朝外贴于床底三侧)。灯带沿床周长粘贴,因自带胶不牢,需用走线夹钉牢。插电开关,复位床体。
步骤 12:调试与效果展示
测试感应效果。如需调节灵敏度,可用螺丝刀伸入外壳顶部小孔拧动传感器电位器。
进阶拓展
将 Arduino 替换为 ESP8266 模块,接入 Home Assistant 平台,即可通过手机 App 或 Alexa 语音控制灯带颜色、亮度、场景模式等。
不想动手?
市面已有成品可直接购买,但 DIY 的乐趣与定制性才是核心价值所在。
核心代码
/* T3chFlicks - Motion Sensing Under Bed Lighting */
#include <FastLED.h>
#define LED_DATA_PIN 9
#define NUM_LEDS 250
CRGB leds[NUM_LEDS];
int onTime = 30*1000;
int motion_sensor_left = 10;
int motion_sensor_right = 11;
int motion_sensor_front = 12;
int fadeTimeDiff = 50;
void setup() {
FastLED.addLeds<WS2811, LED_DATA_PIN, BRG>(leds, NUM_LEDS);
pinMode(motion_sensor_left, INPUT);
pinMode(motion_sensor_right, INPUT);
pinMode(motion_sensor_front, INPUT);
}
void loop() {
if (digitalRead(motion_sensor_left) == 1 ||
digitalRead(motion_sensor_right) == 1 ||
digitalRead(motion_sensor_front) == 1) {
fadeIn();
delay(onTime);
fadeOut();
}
}
void fadeIn() {
for (int led = 0; led < NUM_LEDS; led++) {
leds[led] = CRGB(150, 60, 15);
}
for (int b = 0; b < 255; b += 2) {
FastLED.setBrightness(b);
FastLED.show();
delay(fadeTimeDiff);
}
}
void fadeOut() {
for (int led = 0; led < NUM_LEDS; led++) {
leds[led] = CRGB(150, 60, 15);
}
for (int b = 255; b > 0; b -= 2) {
FastLED.setBrightness(b);
FastLED.show();
delay(fadeTimeDiff);
}
for (int led = 0; led < NUM_LEDS; led++) {
leds[led] = CRGB::Black;
}
FastLED.show();
}
原理图
电路原理图展示了电源、开关、Arduino、三路传感器与 LED 灯带的完整连接关系。
制造工艺
- 王冠饰物(Tiara)的艺术与工艺:历史、材质与现代设计
- 床单全指南:历史、材质与现代制造
- 节日灯饰的演变与工艺:从古老传统到现代工程
- 刺铁丝:历史、结构与现代用途解析
- 集成电路 (IC):微观世界里的算力引擎与制造极限
- 树莓派 PIR 运动传感器控制 LED 实战指南
- 城市环境自动驾驶车辆实时运动规划:缩比原型研究
- 用 Leap Motion 控制的激光坦克——Arduino、树莓派、RGB LED
- MotionSense:基于 Arduino 与 ESP8266 的智能入侵检测系统
- Arduino MKR IoT 套件打造智能密码盒:Blynk 远程设密、舵机开锁
- 自制自主啤酒运输坦克:Walabot + Arduino + 树莓派 + Alexa语音控制
- MOSMusic 套件:MOSFET + Arduino 打造音乐同步灯光控制系统