0

我目前有一个阳极RGB 连接到我的 arduino 上的 11、10 和 9 个 PWM 引脚。但是我想在我的项目中再添加 3 个 LED,但我不想占用每一个 PWM 引脚。有没有办法让我在使用最少数量的引脚的同时连接所有 4 个 LED?请记住,我确实想将所有 12 个电阻器用于 4 个 LED。哦,如果有帮助的话,所有的 LED 都会做同样的事情(它们都是红色的,都变成蓝色,等等)。

这是我的电路板现在的样子:

在此处输入图像描述

如果有人可以帮助我,那就太棒了!!!!感谢帮助!

PS 我附上了 .fzz 文件,这样如果你们中的任何人想编辑原理图,这将非常容易。点击这里。

4

3 回答 3

1

如果所有操作总是相同的,只需将它们并联,这意味着您只需将第二个 LED 放入现有 LED 下方的面包板中。

如果 4 个 LED 的功耗太大,则必须使用晶体管作为放大器。我想给你发一张示意图,但我没有软件可以画出这样的。然而,使用晶体管放大 arduino 输出是很常见的事情......

希望我能帮上忙!

于 2013-04-05T09:02:12.730 回答
1

无论您是在同一条 PWM 线路上串联还是并联连接 RGB LED,您的主要问题都将是从每条 PWM 线路中汲取的电流。Arduino 线路通常支持来自每个 GPIO 引脚的高达 40mA(最大 200mA/芯片)。如果您想要最大亮度,LED 通常允许每个通道高达 20mA。这意味着如果您想要每个 LED 的最大亮度,您真的不应该在每个 GPIO 引脚上放置两个以上的通道。这个计算告诉你,唯一合理的结果是使用晶体管实际为 LED 供电,并使用你的 Arduino 来控制晶体管。这是如何做到这一点的一个描述,但我相信你可以找到更多。

就 LED 接线而言,您实际上有两种选择:

我更喜欢并行配置:它更容易调试,也更容易确保所有 LED 的正确电流限制。还有 LED 正向电压的问题:大多数 LED 需要 1.8V-3V 的正向电压才能导通。如果您只有 5v 可以使用,那么您最多只能串联两个 LED,然后您无法确保每个 LED 上的正向电压正确。如果您尝试将三个串联起来,您可能会得到其中一些比其他更暗的结果,或者整个东西根本不亮。

于 2013-04-05T17:59:58.947 回答
0

根据 LED 上的计时粒度,您可以执行以下操作:

Arduino => 移位寄存器 => 晶体管 => 电阻器 => LED 引脚。

查看 Arduino 的 bitshift out 库。这将使您只使用几个引脚:时钟、信号和锁存器。

您可以菊花链串行输入、并行输出寄存器,以增加您可以通过这种方式控制的 LED 数量。然后会发生这样的事情:您发送一个位流,代表您想要打开/关闭哪些位,然后切换锁存器以更新值。通过这种方式,您可以 PWN 驱动大量三色 LED,而不会烧毁 IO 引脚。

请注意,时机变得至关重要。正如其他人所建议的,您可以获得专用的 RGB 驱动器 IC,但如果您想使用容易找到的部件,锁存移位寄存器是一个不错的选择。

如果你搜索,有很多关于移位寄存器上的 PWM 以及库的很好的教程。

于 2013-04-05T22:22:33.523 回答