电子说
步骤1:
我以前制作的教程该项目中的8x8 LED矩阵可在此处找到。 LED矩阵有一些常见的配置:
a)公共行阳极
b)公共行阴极
因为我使用了矩阵,我将在这里主要讨论它,您可以将相同的逻辑扩展到“公共行阳极”布置。在“公共行阴极”布置中,LED的阴极(或负极端子,即LED上的短腿)成行连接在一起,而阳极(或正极端子,即LED上的长腿)成列连接在一起。 。要寻址特定的LED,请拉低LED阴极位于阴极的行,并拉高LED阳极位于阳极的列。
注意:制作上面链接中所示的LED矩阵时,在向LED施加任何电压之前,请确保将阳极柱与1k欧姆电阻器连接。
步骤2:步骤2:连接按钮和移位寄存器
按钮和移位寄存器的接线如上所示。我想指出的是,威廉希尔官方网站 图中的移位寄存器未显示芯片的接地引脚(IC的引脚8)和Vcc引脚或电源引脚(IC的引脚16)。接地引脚连接到Arduino板的GND引脚,而Vcc连接到Arduino板的5V引脚。每个移位寄存器的Vcc引脚也连接到接地的0.1uF电容器。
注意:每个移位寄存器的输出均列为QA至QH(忽略QH *)。它们按照最低有效位(LSB)(对于QA)到最高有效位(MSB)(对于QH)列出,即QA将控制第0行或第0列等。
第3步:第3步:上传代码
用于控制LED矩阵的代码附在本教程中。我试图注释掉尽可能多的代码,因此很清楚程序是如何工作的。该程序的主要基础是一个矩阵,该矩阵可跟踪应打开或关闭哪些LED。为了使各种LED正确显示而不意外打开不需要的二极管,请使用一种称为多路复用的概念。复用实质上是点亮特定行中的各个LED,而点亮其他行中的所有其他LED,然后对其余行进行相同的操作。诀窍在于,如果LED在各行中循环的速度足够快,您的眼睛就可以看出单个行一次被点亮。如果您想探索更多可以用LED欺骗眼睛的方法,则可能需要研究视觉持久性的概念(可在Google或Instructables上轻松搜索)。
阳极柱和通过称为“ UpdateShiftRegisters”的用户定义函数来更新阴极行。该功能首先将锁存器引脚转为低电平,该引脚控制是否将新的字节(8位)发送至输出,将其设为低电平,以便在将新位写入芯片时无法更改输出。然后,使用名为“ ShiftOut”的内置Arduino函数(专门处理将数据发送到移位寄存器),程序将写入(阴极)哪一行(低)和(阳极)哪一行(高)。最后,将锁存引脚拉高,以更新输出(LED)。
全部0条评论
快来发表一下你的评论吧 !