从游戏到现实:基于立创EDA与HLK-LD102雷达的OneShot同款LED大灯泡DIY全攻略
最近重温了游戏《OneShot》,主角Niko手里那个温暖又神奇的大灯泡让我念念不忘。作为一个喜欢动手的嵌入式爱好者,我决定把它从游戏里“搬”到现实中来。经过几个月的方案摸索、打板验证和反复调试,终于做出了一个让我自己都爱不释手的智能LED大灯泡。
这个灯泡可不只是个摆设,它集成了两种智能控制方式:一种是“魔法”般的非接触感应——手靠近灯球就能点亮;另一种是触摸灯尾进行无极调光,可以随心调节亮度。整个项目从电路设计到外壳组装,全部可以自己动手完成,非常适合想入门嵌入式硬件DIY的朋友。
下面,我就把自己从方案选型、电路设计、模块配置到组装调试的全过程经验,手把手分享给你。即使你是零基础,跟着步骤走,也能做出属于你自己的“Niko大灯泡”。
1. 项目方案与核心器件选型
在开始动手之前,咱们先搞清楚这个灯泡要实现什么功能,以及需要哪些核心的“器官”。
1.1 功能定义与方案选择
我希望这个灯泡具备以下三个核心功能:
- 非接触感应亮灯:手靠近或触摸灯球(上半部分),灯泡自动以最亮状态点亮。这需要用到微波雷达感应模块。
- 触摸无极调光:触摸灯尾的特定区域,可以开关灯泡,并且通过连续触摸来平滑地调节亮度(从暗到亮,再从亮到暗循环)。这需要专门的触摸调光芯片。
- 便携与充电:内置锂电池,通过Type-C接口充电,可以随意移动摆放。
基于这些需求,我确定了核心的硬件方案:
- 主控与电源:自己设计一块PCB主板,集成锂电池充电管理、供电切换和信号处理电路。
- 感应模块:选用海凌科HLK-LD102 10GHz微波雷达模块。它体积小、功耗低,并且可以通过电脑软件(上位机)灵活配置感应距离、灵敏度等参数,非常适合这种非接触感应的场景。
- 调光模块:选用RH6618A触摸调光芯片。相比常见的SGL8022W,它的PWM输出频率更高,调光过程完全没有闪烁感,非常“丝滑”。
- 光源:采用柔性LED灯丝。它比普通的LED灯带发光更均匀,直径更细,更容易弯曲塑造成灯泡里灯丝的造型。
1.2 材料清单准备
“工欲善其事,必先利其器”。下面是制作所需的主要材料清单,你可以按图索骥进行采购。
LED大灯泡DIY核心材料表
| 材料 | 数量 | 用途与说明 |
|---|---|---|
| 自定义PCB主板 | 1块 | 项目的“大脑”,集成了所有控制电路。 |
| HLK-LD102 10G雷达模块 | 1个 | 实现非接触感应的核心。 |
| 103030规格 1000mAh锂电池 | 1块 | 为整个灯泡供电,注意是3.7V聚合物电池。 |
| USB转TTL模块 | 1个 | 用于连接电脑,给雷达模块配置参数。 |
| 宽20mm铜箔胶带 | 1卷 | 贴在灯尾内壁,作为触摸感应的电极。 |
| 长300mm LED软灯丝 (2200K) | 2根 | 建议买2200K色温的,光线更温暖。注意:灯丝非常脆弱,不要用力拉扯! |
| 直径0.8mm不锈钢钢丝 | 1根 | 用来支撑和固定灯丝形状。 |
| 灯丝固定件 (FDM打印) | 1个 | 固定灯丝和雷达模块的结构件,建议用PLA或PETG材料打印。 |
| 灯尾外壳 (光固化打印) | 1个 | 需要后期喷漆上色,达到金属质感。 |
| 直径32mm卡簧 | 1个 | 配合卡簧钳使用,用于最终固定灯丝。 |
| 热熔胶 & 硅油 | 适量 | 组装固定和润滑绝缘用。 |
提示:原作者在淘宝店铺“核子Studio”提供了套件,如果觉得单独采购麻烦,可以直接购买套件。所有3D打印模型和PCB设计文件也可以在立创开源平台找到。
2. 电路设计原理解析
理解了功能,咱们再来看看电路是怎么把这些功能连接起来的。不用担心,我会用最直白的话讲清楚。
2.1 心脏:RH6618A无极调光电路
调光功能的核心是RH6618A这颗芯片。你可以把它理解为一个聪明的“灯光管理员”。
- 触摸感应:它的
TCH引脚连接到一个铜箔片(就是我们贴在灯尾的胶带)。当你的手指触摸铜箔时,就相当于给这个引脚一个信号,芯片就能检测到。 - PWM调光:芯片的
POUT引脚会输出一个PWM(脉冲宽度调制)信号。简单说,这个信号就是一系列高速开关的方波,通过改变“开”和“关”的时间比例,就能控制LED的平均亮度,实现无级调节。 - 模式配置:芯片有两个模式引脚
MOD1和MOD2,通过把它们接高电平(VCC)或低电平(GND),可以设置4种不同的调光模式。比如,是触摸开关,还是触摸调光,亮度是否记忆等。
在我的第三代设计里,配置如下:
MOD1引脚:悬空(相当于高电平)MOD2引脚:接地(低电平)
对照芯片手册,这个配置对应的是“不带亮度记忆的渐明渐暗无极调光”模式。也就是说,每次触摸调光,亮度都从最暗开始变化,不会记住上次关灯时的亮度。
// 这不是需要你写的代码,而是芯片的硬件连接逻辑: // MOD1 = 悬空 (HIGH) // MOD2 = 接地 (LOW) // 工作模式:无记忆渐明渐暗调光- 驱动LED:
POUT引脚输出的电流很小,不能直接驱动两条LED灯丝。所以我们需要一个“帮手”——一个NMOS管(图中Q1)。POUT信号控制这个MOS管的开关,MOS管再接通LED灯丝的电流回路。同时,雷达模块的输出信号也会连接到MOS管的栅极,从而实现雷达感应亮灯。
2.2 能量站:TP4056锂电池充电管理
我们用一块3.7V的锂电池供电,充电管理芯片选用经典的TP4056。
- 充电指示:芯片旁边有一个双色LED。红灯表示正在充电,绿灯表示电池已充满,非常直观。
- 充电电流设置:充电电流大小可以通过芯片
PROG引脚上的电阻(原理图中的R8)来调整。公式是:R PROG = 1200 / I_BAT。- 比如,我想用500mA电流充电,电阻值就是 1200 / 0.5 = 2400Ω,也就是2.4kΩ。
- 如果想用1A(1000mA)快充,电阻就是 1200 / 1 = 1200Ω,也就是1.2kΩ。
- 电路连接:
VCC接5V Type-C输入,BAT接锂电池正极,GND接公共地。
2.3 魔法之眼:HLK-LD102雷达模块配置
这是实现“隔空点亮”魔法的关键。很多朋友问这个模块要不要写程序,答案是:不需要写代码,但需要用上位机软件进行配置。
重要:模块的所有资料,包括用户手册和配置软件,都可以在海凌科官网下载。搜索“HLK-LD102”就能找到。
模块引脚定义(看清丝印):
- V:电源正极 (VCC)
- G:电源负极 (GND)
- O:信号输出 (OUT)
- RB1:模块的接收端 (RX)
- RB0:模块的发送端 (TX)
配置步骤:
- 硬件连接:用USB转TTL模块,将电脑和雷达模块连接起来。连接关系是:TXD(电脑) -> RB1(模块RX),RXD(电脑) -> RB0(模块TX), GND对接,并给模块供5V电。
- 软件配置:打开下载好的上位机软件,选择正确的串口号,点击连接。
- 参数修改:连接成功后,就可以修改参数了。根据我的实测经验,推荐以下配置:
- 控制模式:设置为3。这个模式的意思是,触发后灯光逐渐变亮,再次触发后逐渐熄灭。效果非常自然。
- 封锁时间:设置为2000(单位:毫秒)。意思是触发一次后,2秒内不再响应新的触发。这个很重要,可以防止因为手部微小晃动导致的反复开关,也就是“防抖”。
- 阈值:设置为500。这个值越小,模块越灵敏。500是一个比较适中的值,手靠近约5-10cm就能稳定触发。
- 距离:设置为255(最大值)。让模块在其最大能力范围内感知。
- 写入参数:修改好后,点击“写入”按钮,将参数保存到雷达模块里。之后它就会按照这个逻辑工作了。
配置好后,雷达模块的OUT引脚在触发时会输出一个高电平信号,这个信号直接送到我们前面提到的MOS管栅极,就能点亮LED了。
3. 手把手制作与组装流程
电路原理懂了,参数也配好了,接下来就是最有趣的动手环节。跟着我的步骤,耐心一点,你一定能成功。
3.1 灯丝组件的制作
这是最需要细心的一步,灯丝很娇贵,操作要轻柔。
- 准备材料:取出两根LED灯丝、一根钢丝、漆包线、热缩管。切记:灯丝带孔的那一端是正极!焊接前最好用3V电源(两节干电池)测试一下,确认每根灯丝都能亮,并分清正负极。
- 并联灯丝:我们的目标是让两根灯丝同时亮,所以采用并联接法。将两根灯丝的正极(带孔端)焊在一起,负极焊在一起。千万不要接成串联,否则电压不够可能不亮。
- 穿管与塑形:
- 先将一根粗的透明热缩管(直径2.5mm)套在并联好的灯丝组外面。
- 将不锈钢钢丝穿入灯丝中间,帮助定型和增加强度。
- 在灯丝两端涂上一些硅油,起到润滑和绝缘的作用。
- 关键技巧:只加热热缩管的两端,让它收缩固定住灯丝和钢丝即可。千万不要整体加热,过热会导致LED灯珠损坏。
3.2 雷达模块安装与初步测试
- 修剪模块:HLK-LD102模块对于我们的灯座来说有点长。可以小心地用剪钳将模块两端空白的PCB板剪掉一部分,注意不要剪到有线路和元件的区域。
- 焊接排线:将一根5pin的ZH1.5mm排线焊接到模块的引脚上。对照之前的引脚定义,确保焊对。
- 固定到支架:将雷达模块放入打印好的灯丝固定件(支架)的指定位置,用热熔胶牢牢固定。等胶冷却固化。
- 连接与测试:
- 将做好的灯丝组件穿过支架中心孔。
- 把灯丝末端的钢丝用钳子弯一个小钩,这样能增加和支架的接触面积,打胶更牢固。
- 在钢丝和支架的接触点打上热熔胶固定。
- 最后,将灯丝的正负极引线(漆包线)焊接到主板的对应焊盘上。
- 此时可以先接上电池,测试一下触摸调光功能是否正常。用手触摸主板上的触摸焊盘,看灯丝能否亮起和调光。
3.3 总装与最终调试
胜利在望!最后一步是把所有部件组装成一个完整的灯泡。
- 固定灯丝:将卡簧放入支架的卡槽,用卡簧钳将其扣紧,使灯丝组件被牢牢锁在支架上。在卡簧周围再补一些热熔胶加固。
- 塑形:小心地用手将灯丝弯曲成你喜欢的螺旋状或波浪形。这个过程一定要慢,要有耐心,尽量减少反复弯折的次数,这是灯丝最容易损坏的时候。
- 装入灯罩:将造型好的灯丝组件,轻轻地、沿着一个方向旋转着塞入定制的PET灯罩内。可以用手指从外部微微调整,使造型更美观。
- 处理灯尾:
- 在光固化打印的灯尾外壳内壁,贴上铜箔胶带,这就是我们的触摸电极。
- 将一根导线的一端焊在主板的触摸焊盘上,另一端用导电胶或焊接的方式与铜箔连接好。
- 最终总装:
- 将电池放入灯尾外壳。
- 把主板背面打上热熔胶,趁热按进灯尾外壳的对应位置固定。
- 将雷达模块排线、灯丝引线、电池线等所有线缆理顺,用胶带捆扎在一起。
- 关键技巧:在拧紧灯尾和灯罩之前,先将灯尾反向旋转一圈,然后再正向拧入。这样可以避免内部的线缆在拧紧过程中被过度扭转而扯断。
- 如果拧到一半感觉非常吃力,可能是电池卡住了,不要用蛮力,拆开重新调整一下电池位置。
4. 设计注意事项与避坑指南
这些都是我在多次迭代和收到网友反馈后总结的“血泪经验”,能帮你省下不少时间和物料。
PCB布局要点:
- 电容要靠近IC:原理图中每个芯片旁边的滤波电容,在画PCB时一定要尽可能靠近该芯片的电源引脚放置,这样才能起到最好的滤波效果。
- 给调光芯片“留空间”:RH6618A这颗触摸芯片对噪声比较敏感。在PCB布局时,应尽量避免在芯片底部大面积铺铜,特别是它的触摸感应引脚(TCH)相关的走线,要与其他信号线(尤其是时钟、高频线)保持一定距离,否则可能会引起误触发。
组装心法:
- 耐心是美德:整个制作过程,尤其是灯丝塑形和内部走线,非常需要耐心。急躁很容易导致灯丝断裂或线缆短路。
- 先测试,后封胶:在打热熔胶固定各个部件之前,最好先连接好所有线路进行功能测试(感应、调光、充电),确认一切正常再固定。
- 注意绝缘:灯丝引脚、导线焊点等裸露部分,在装入狭窄的灯罩前,务必用热缩管或绝缘胶带处理好,防止短路。
好了,到这里,你的专属智能LED大灯泡就应该能成功点亮了。当你在黑暗中用手轻轻靠近它,或者触摸它的尾巴来调节一抹暖光时,那种从游戏走进现实的创造快乐,就是DIY最大的魅力。如果在制作过程中遇到任何问题,或者有更好的改进想法,欢迎一起交流探讨。祝你制作顺利!