如何创建一个动态的LED灯光秀

  发布人:amy2025 时间:2025-08-12

在LED亮度控制的基础上,我们将使用PWM,平滑过渡和淡出来创建一个动态灯光秀,使其在视觉上引人入胜!

在我们之前的LED亮度控制项目的基础上,我们现在将进一步创建一个动态的LED灯光秀。使用PWM和亮度的定时变化,我们将创建平滑的过渡,淡出和效果,使LED在视觉上引人入胜。让我们让LED焕发生机吧!

我们开始吧

•如果你还没有完成LED亮度教程,我们强烈建议你在继续之前先复习一下,建立一个坚实的基础。

•设置环境-如果您还没有在Arduino®上添加水星板,现在是这样做的好时机。

•插入USB电缆水星板和连接它您的笔记本电脑。

•请参阅下面的代码

•当Arduino终端显示“Connecting…”时,长按FLASH按钮启动上传过程。

这里到底发生了什么?

速成班:Arduino®环境中的For-loop和delay()

for循环是Arduino中用于多次执行代码块的基本控制结构。

delay(ms)函数将程序暂停一段指定时间(以毫秒为单位)。

回到项目上来…

我们将实现的LED例程遵循以下顺序:LED OFF→LED ON→LED OFF→LED ON→Slow Fade Out。这种图案将创造一个动态的效果,逐渐过渡到一个平滑的衰减为一个视觉上吸引人的LED秀。

缓慢淡出

循环开始时亮度设置为250,在之前的状态下,LED是开的。只要亮度大于等于0,循环就会继续。在每次迭代中,亮度降低1(从250→249→248…添加2毫秒的延迟以创建平滑的衰落效果,而不是瞬间变化。

***声明***

以上提到的一切大体上都是正确的;然而,在使用ESP-12F模块的水星板上,ESP-12F模块上的默认内置LED以反向配置连接。这意味着当GPIO 2 (D7)设置为HIGH时,LED关闭,当GPIO 2设置为LOW时,LED打开。

因此,PWM的行为也被反转。当PWM值设置为0时,LED以全亮度发光,当PWM值设置为255时,LED完全关闭。否则,概念理解保持不变。

为了解释这种倒置的LED行为,我们需要在代码中做一个小的调整,如下所示:

这里,“亮度”表示用户输入所需的LED亮度。


关键词: USB LED PWM ESP-12F

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关电路