本项目的目标包括:
-
创建一个可以通过WiFi从智能手机控制的RGB LED控制器。
-
具有多种效果模式,如呼吸、变色等。
-
能够将LED的闪烁与附近音乐源的音乐同步。
所需资源
-
Particle Dev IDE云版本ParticleBuild也可以工作,但我发现使用桌面版本更容易。
-
Blynk App
-
LED-Controller-Source.zip-包括KiCad原理图/布局、gerber文件、源代码和外壳STL文件。
物料清单
数量
|
标号
|
型号
|
值
|
6
|
C1, C2, C5, C6, C7, C8
|
445-173583-1-ND
|
1u
|
5
|
C3, C9, C10, C11, C12
|
490-8809-ND
|
0.1u
|
1
|
C4
|
478-1883-ND
|
0.33u
|
1
|
J1
|
CP-050AH-ND
|
套管 - 电源连接器
|
1
|
J2
|
S5479-ND
|
4 位置 接头 连接器
|
1
|
MK1
|
102-1721-ND
|
麦克风
|
3
|
Q1, Q2, Q3
|
FDP8880FS-ND
|
NMOS
|
1
|
R1
|
2.2KH-ND
|
2.2k
|
3
|
R2, R3, R4
|
10KH-ND
|
10k
|
1
|
R5
|
1.0MH-ND
|
1M
|
2
|
R6, R7
|
1KH-ND
|
1k
|
1
|
R8
|
680QBK-ND
|
680
|
1
|
RV1
|
PDB12-H4301-105BF-ND
|
1M
|
1
|
U1
|
296-1857-5-ND
|
TLC555
|
1
|
U2
|
MCP601-I/P-ND
|
MCP601P
|
1
|
U3
|
1878-1000-ND
|
光子模块
|
1
|
U4
|
MC78M05CTGOS-ND1
|
MC78M05CDT
|
3
|
U5, U6, U7
|
MCP1407-E/AT-ND
|
MCP1407
|
1
|
1647-1035-2-ND
|
RGB LED 灯带
|
|
1
|
102-3665-ND
|
12V 60W 电源
|
|
2
|
S6100-ND
|
1 2 位置 0.1" 母形插口
|
|
4
|
1772-1337-ND
|
#4-40六角支座3/16"
|
|
4
|
36-9901-ND
|
Phillips#4-40机械螺钉
|
表1. 物料清单
如下图1所示,电路有3个主要部分和4个辅助部分。每个部分总结如下。
-
上排包含电源电路。
12V通过电源连接器接入,并通过线性调节器U4,然后输出到LED连接器。
-
在麦克风部分:
-
麦克风MK1用于拾取背景音乐,光子可以使用它来同步LED。
-
-
R6和C12产生具有2400Hz频率截止的低通滤波器。由于光子将使LED与音乐的“脉冲”同步,因此只需要低频(100-1 kHz)。
-
运算放大器U2以取决于R5和电位计RV1的增益放大信号。基本增益设置为1000,但可以通过将电位计设置为其最大值来增加到2000。根据需要调整R5的值以增加或降低灵敏度。
-
运算放大器反馈路径中的电容C2确保信号中只有AC分量被放大,而DC分量不受影响。
-
在左下角,处于稳定模式的555定时器产生4.8 kHz的方波,用于建立光子ADC的采样率。
-
光子接收放大的音频信号和来自555定时器的触发器以设置采样率。它还为LED生成PWM信号。
- 来自光子的PWM信号被传递到MOSFET驱动器U5、U6和U7。这些驱动器允许输出MOSFET(Q1、Q2、Q3)的栅极以更高的电压驱动,从而降低Rdson,同时也在LED的12V信号和光子之间提供额外的隔离屏障。
图1.电路示意图
下图2显示了PCB布局。所有部件都是通孔,以便于手动组装,但使用表面安装部件可以大大减小尺寸。
图2. PCB布局
Blynk设置
该项目的Blynk远程程序使用7个小部件,对于一个免费用户,要求获得所有可得的积分。布局如图3所示。
图3.Blynk远程应用程序
小部件配置如下所示。为所有小部件启用了发布时发送,以最大限度地减少数据使用。每个设置都分配了自己的虚拟引脚,当更改设置时,将调用光子上的用户定义函数。
-
颜色调制菜单(V0)
彩虹-不断地在彩色光谱中循环。
-
亮度调制菜单(V1)
呼吸-逐渐消失。
音频同步-与音乐节拍同步。
-
亮度滑块(V2)
范围:0→ 100%
默认值:25%
-
亮度速度滑块(V3)
范围:80→ 5毫秒
默认值:30毫秒
-
声音阈值滑块(V4)
范围:0→ 2048
默认值:1500
-
颜色速度滑块(V5)
范围:80→ 5毫秒
默认值:30毫秒
-
zeRGBa颜色选择器(V6)
范围:0→ 每种颜色255
软件
光子的完整应用程序代码以及用于生成滤波器系数头文件的Octave/MMatlab脚本如下所示。总结如下:
-
应用程序代码通过使用SYSTEM_THREAD(ENABLED)与后台粒子任务并行运行。这允许setup()运行,直到需要WiFi连接而不被阻止为止。
-
RGB控制器程序的主循环只需调用Blynk.run()来获取应用程序的更新。所有其他处理都在亮度和颜色计时器的回调函数中执行。
-
BLYNK_WRITE()宏定义了当从BLYNK应用程序中的小部件检测到更改时要采取的操作,如图3所示。
-
update_leds()在每次调用一个计时器回调函数时修改PWM占空比。
-
get_sample()以~4800 Hz的速率调用。当选择音频模式时,此功能将读取ADC,并使用以下八倍频脚本创建的100阶FIR带通滤波器对输入进行滤波。
-
使用具有20位小数精度的定点算法执行计算。fixed_mult()用于执行乘法运算,并包含获得正确结果所需的额外类型转换和移位。
附件
一个简单的盒子被3D打印以容纳PCB。板和支座的安装孔的尺寸对于M3或#4-40螺钉来说是宽松的。STL文件可以在下面下载。
总结
该项目允许用户设置相对简单的无线LED照明系统。通过WiFi使用Blynk应用程序控制LED。颜色和亮度可以通过应用程序进行调整,还可以选择一些特殊模式。该系统还包括一个麦克风,以创建音频同步效果。这些功能应该为任何想要创建自己的WiFi控制LED系统的人打下坚实的基础。
更多无线网络的技术信息,请查看以下内容: 最后,如果你喜欢这篇文章,快分享给更多的小伙伴吧!切记点个赞哦!
提示点击菜单设计支持:工程师锦囊,获取更多工程师小贴士
秘技知识学不停 专属福利享不停
就等您加入!
点此登记
赚积分、换好礼
立即到「会员权益」查看您的礼遇! 如有任何问题,欢迎联系得捷电子DigiKey的客服团队中国(人民币)客服
400-920-1199服务支持 > 联系客服 > 微信客服service.sh@digikey.com QQ在线实时咨询:4009201199
中国(美金)/ 香港客服
400-882-4440
852-3104-0500china.support@digikey.com
点击下方“阅读原文”查看更多
让我知道你在看哟
原文标题:不用网关!直接用WiFi来盘LED
文章出处:【微信公众号:得捷电子DigiKey】欢迎添加关注!文章转载请注明出处。
-
得捷电子
+关注
关注
1文章
255浏览量
8432
原文标题:不用网关!直接用WiFi来盘LED
文章出处:【微信号:得捷电子DigiKey,微信公众号:得捷电子DigiKey】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论