我需要创建一个包含大约50个LED的电路板。 LED需要单独打开/关闭,并且一起打开(计时器基于几天假设每个星期一所有50个LED打开,一周中每天10个LED打开)。
在我的研究中,我发现了LM555定时器,但这将导致50个不同定时器的巨大电路
控制这些LED的最有效方法是什么
答案 0 :(得分:0)
我的第一个回答是非常愚蠢的(我很抱歉)并且我不知道为什么我之前没有想过关于惊人的"移位寄存器"。
你的Arduino没有那么多针可以点亮你拥有的每一个LED。但是使用移位寄存器是可能的。从8位移位寄存器中,您可以使用Arduino板上的2-3个PIN点亮8个LED(1个用于时钟,1个用于数据,1个用于锁存)。 因此,要点亮50个PIN,您只需要7个this components(例如)。
如何使用它?互联网上有很多教程,通常sparkFun tutorial是我最喜欢的。
下图:来自Arduino网站的图片。它解释了如何连接16个LED。
无论如何,从软件方面来说,你必须知道ShiftOut的功能。 之后,您必须使用time功能。
首先初始化你的时间变量,你可以在我上面发布的链接中看到。 之后,在你的循环中:
previousMonth != month
。daySum == 10
时将HIGH dataPin连接到10个LED(因此,当previousDay != day
时,您必须使用daySum++
增加daySum。