在Arduino上使用最少数量的PWM引脚的同时连接多个RGB LED?


10

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

这是我的董事会现在的样子:

在此处输入图片说明

我有三个NTE123AP晶体管可用于该项目。

PS我附加了.fzz文件,因此,如果您想编辑原理图图像,这将非常容易。实际上,由于我是新手,这样做会更好,而且更容易理解!:)


单独控制或全部具有相同的颜色(全红色,亮度相同,或者基本上是12个单独的LED?)前者可以仅用晶体管来完成,而后者则需要移位寄存器或i2c / spi扩展器或led驱动器ic。
路人2013年

基本上我想要4个RGB LED,它们都将做相同的事情。例如,我想使声音与灯光同步。因此,当音轨1播放时,所有4个LED都将发出红色光,而当音轨2播放时,它们将全部变为紫色,如果音轨3且它们将发出蓝色,等等。希望有帮助!我提到了12个电阻,因为类似于我发布的图片,我希望每个led引脚都使用一个电阻,因为我不想牺牲亮度。希望有帮助!
VAlexander

Answers:


13

很简单。仅使用npn晶体管。每个颜色通道重复一次。

在此处输入图片说明

您的晶体管可以连续吸收高达600mA的电流。每个LED 20mA,每个通道4mA,只有80mA。这绰绰有余。

但是请确保您的电源可以支持。80 * 3,仅LED就是240mA,不包括Arduino的其余部分,晶体管基极以及您使用的其他任何器件。

OP还提供了答案的弗里兹图: 在此处输入图片说明


@CloudyDays 3个频道(一个红色,一个绿色,一个蓝色)。4个LED。抱歉,我不使用fritzing,而是简单地,Battery Plus是VCC,Arduino_PWM_PIN是您使用的同一电池,Battery-是Gnd。
路人2013年

1
@CloudyDays在这种情况下,是的,vcc是5v。而且该设置基本上是正确的。首先,确保晶体管与晶体管的基极/发射极/集电极引脚匹配,而不是全部使用相同的引脚。而且,所有四个LED都断开了一个电阻器(每种颜色)。它可能有效,但这不是最佳选择。但通常是正确的。就煎炸而言,我仍然认为它是一个好工具,就像其他工具一样,只是不要自己使用它。
路人

@Passerby谢谢您,以便澄清一下,是否最好在4个LED中总共使用3个电阻,否则我应该使用12个(在这种情况下)。另外,我只需要1个晶体管还是全部3个晶体管?
VAlexander

1
@CloudyDays虽然3个电阻起作用,但效果不佳。12是优选的。您需要所有三个晶体管,每个颜色/通道一个。否则,红色,蓝色和绿色通道将全部相同,因此您将像单个LED(白色)那样控制它们。
路人2013年

1
@CloudyDays可行。只需确保收集器/中间引脚也已连接(目前,没有任何连接)。对于晶体管,书写的平坦部分通常是“前”。如果像以前一样将它连接到ecb,则可以将PWM接地,而没有负载。可能炸毁了arduino端口。将它连接到CBE(例如,集电极接地)上,不是很确定。
路人2013年

9

这些图/图像可能更直观地观察发生了什么:

带晶体管的普通阳极RGB

带晶体管的普通阴极RGB

边注

@Passerby:您在哪里发布了该示意图?


欢迎来到EE.SE。感谢您发布原理图。通常,发给其他用户的问题以评论而不是答案的形式发布。无需太多代表即可获得评论权限。
尼克·阿列克谢耶夫

抱歉,目前还不确定它如何工作..但这就是我的图像,这就是为什么我要求不能在10个代表点之前发布图像。
小声说
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.