Timer 什么是时间LED的最有效方式;s

Timer 什么是时间LED的最有效方式;s,timer,arduino,led,Timer,Arduino,Led,我需要创建一个包含大约50个LED的板。LED需要单独和一起打开/关闭(计时器基于天数,假设每个星期一所有50个LED打开,并且每周的每一天10个LED打开) 在我的研究中,我发现了LM555定时器,但这将导致一个由50个不同定时器组成的巨大电路 控制这些LED的最有效的方法是什么?我的第一个答案真的很愚蠢(对此我很抱歉),我不知道为什么我以前没有想到这些神奇的“移位寄存器” 你的Arduino没有那么多针来点亮你所有的LED灯。但是使用移位寄存器这是可能的。从一个8位移位寄存器,您只需使用Ar

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

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


控制这些LED的最有效的方法是什么?我的第一个答案真的很愚蠢(对此我很抱歉),我不知道为什么我以前没有想到这些神奇的“移位寄存器”

你的Arduino没有那么多针来点亮你所有的LED灯。但是使用移位寄存器这是可能的。从一个8位移位寄存器,您只需使用Arduino板上的2-3引脚即可点亮8个LED(1个用于时钟,1个用于数据,1个用于闩锁)。 所以要点亮50个引脚,你只需要7个(例如)

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

下图:来自Arduino网站的图片。它解释了如何连接16个LED。

不管怎样,从软件方面来说,你必须知道的是功能。 之后,您必须使用函数

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

  • 上个月!=月份
  • daySum==10
    时,将高数据引脚连接到10个LED(因此,当
    前一天!=day
    时,必须使用
    daySum++
    增加daySum)

我认为您只需将2个部件(10个LED和40个LED)并联,然后从arduino中输出2个串行信号,发送2个信号。在arduino程序上创建一个具有两种状态的算法。11和10(二进制)11=50个LED亮起,10个LED亮起,如果您熟悉逻辑门,这些将对您有所帮助。当信息有助于我编辑我的答案时发送给我。第一个不好。这一个将真正帮助你解决你的问题。再次抱歉!