什么是最有效的LED定时方式

时间:2015-10-08 18:02:50

标签: timer arduino led

我需要创建一个包含大约50个LED的电路板。 LED需要单独打开/关闭,并且一起打开(计时器基于几天假设每个星期一所有50个LED打开,一周中每天10个LED打开)。

在我的研究中,我发现了LM555定时器,但这将导致50个不同定时器的巨大电路

控制这些LED的最有效方法是什么

1 个答案:

答案 0 :(得分:0)

我的第一个回答是非常愚蠢的(我很抱歉)并且我不知道为什么我之前没有想过关于惊人的"移位寄存器"。

你的Arduino没有那么多针可以点亮你拥有的每一个LED。但是使用移位寄存器是可能的。从8位移位寄存器中,您可以使用Arduino板上的2-3个PIN点亮8个LED(1个用于时钟,1个用于数据,1个用于锁存)。 因此,要点亮50个PIN,您只需要7个this components(例如)。

如何使用它?互联网上有很多教程,通常sparkFun tutorial是我最喜欢的。

下图:来自Arduino网站的图片。它解释了如何连接16个LED。 connect 16 leds with 2 shift registers

无论如何,从软件方面来说,你必须知道ShiftOut的功能。 之后,您必须使用time功能。

首先初始化你的时间变量,你可以在我上面发布的链接中看到。 之后,在你的循环中:

  • previousMonth != month
  • 时,将您的Datapin连接到50个LED
  • daySum == 10时将HIGH dataPin连接到10个LED(因此,当previousDay != day时,您必须使用daySum++增加daySum。