×

使用PWM或脉冲宽度调制管理LED亮度和RGB LED颜色

消耗积分:0 | 格式:zip | 大小:0.09 MB | 2023-07-12

分享资料个

描述

这个项目基本上是一个关于使用 PWM 或脉冲宽度调制管理 LED 亮度和 RGB LED 颜色的教程。

在第一节中,我们将介绍 PWM 的基础知识以及它如何与 Arduinos 一起使用。在第 ll 节中,我们将讨论单色 LED 的平滑调光,这需要线性变化 PWM 以外的东西,在第 lll 节中,我们将着眼于创建颜色,以及管理 RGB LED 产生的彩虹色。

为了让这个项目更有趣,我使用了“假霓虹灯”——来自 Adafruit 的边缘照明 LED 灯条,特别是没有 Neopixel 功能的 1 米 RGB 版本。但实际上,要尝试我们在这里讨论的所有内容,您真正需要的只是任何普通阳极 RGB LED。

第 l 部分 - PWM 基础知识

脉冲宽度调制是在高输出和低输出之间快速切换数字输出引脚的过程。输出处于高电平状态的时间百分比称为占空比。

pYYBAGPXXWqACkDtAABauUAzcos030.jpg
 

如果我们使用 PWM 为 LED 供电,则占空比平均反映了我们为其提供的最大功率的百分比。如果我们打开和关闭电源的频率足够高,LED 的输出将平均显示为其最大输出乘以占空比。为了让人眼看到 LED 持续亮起而不是闪烁,PWM 频率需要至少为 100 Hz。

所有 Arduinos 都有几个能够进行 PWM 的数字输出引脚。它们以 490 或 980 Hz 的频率运行。对于我们在这个项目中使用的 Nano,具有 PWM 功能的数字引脚是 3、5、6、9、10 和 11。在我们所有的示例中,我们都使用引脚 3(蓝色 LED)、引脚 5(红色 LED)和引脚 6(绿色 LED)。

使用 DigitalWrite(DutyCycle) 指令为 Arduino 指定 PWM 输出。占空比使用 0 到 255 之间的 8 位值指定,其中 0 是 0% 占空比,255 是 100% 占空比。

第 ll 部分 - 调光 LED

LED 的能量输出及其发出的光的流明大致与 PWM 占空比成正比。

pYYBAGPXXW2AQ0x8AAA6XJrXTGc458.png
 

poYBAGPXXXCAI9R5AABGxL4uV3I603.jpg
 

上图显示了我们的猫在蓝色背景下的白色轮廓。

类似霓虹灯的边缘发光 LED 灯条是普通阳极,旨在由 12 伏特供电。Adafruit 正确地指出它们仅需 9 伏就足够亮了。该条带内置电流限制,使用串联和并联配置的 LED 组合。

要使用 PWM 控制它,我们需要我们的 PWM 信号来驱动 NPN 晶体管的基极,因为整个条带吸收的电流比我们的 Arduino 数字引脚可以吸收的电流多得多。我使用了 2N2222 晶体管,但几乎任何 NPN 晶体管都应该可以工作。

为了将这些条带的亮度降低到我可以拍摄的程度,我不得不在晶体管的基极输入端使用 500K 欧姆电位器,将晶体管变成恒流源,除了作为 PWM 的开关。使用这种恒定电流方法,您可以在下面看到条带的实际外观。

poYBAGPXXXSAQbq1AACsa6phbOE836.jpg
 

然而,除非你打算尝试拍摄这些条带,否则你可以用任何 100-1K 欧姆电阻器替换 500K 欧姆电位器,这将提供足够的基极驱动使我们的晶体管处于饱和模式(即当 PWM 为高时完全打开)。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !