在这个项目中,我们将设计一个8x8 LED矩阵显示器,为此,我们将一个8x8 LED矩阵模块与Arduino Uno接口。一个8x8 LED矩阵包含64个LED(发光二极管),它们以矩阵形式排列,因此命名为LED矩阵。
这些矩阵可以通过将64个LED进行电路连接来制作,但是该过程非常耗时。现在,它们正以紧凑的形式提供,如下图所示。这些紧凑的模块具有不同的尺寸和多种颜色。模块的成本与64个LED的成本相同,因此对于业余爱好者来说,这是最简单的工作。
裸露的LED矩阵具有16个引脚输出,其中8个公共正端,另外8个公共负端。为了将此矩阵直接连接到UNO,我们需要在UNO上保留16个引脚。由于UNO上的输出引脚为低电平,因此我们无法保留16个PINS。因此,我们需要将此矩阵连接到驱动器芯片。该驱动器芯片与矩阵一起作为一组,如下图所示。
该模块将与Arduino接口以显示字母,从而显示矩阵。首先,为了将LED矩阵与Arduino接口,我们需要下载一个专门为LED MATRIX设计的库。该库将在以下位置提供:https://github.com/shaai/Arduino_LED_matrix_sketch/archive/master.zip
下载Zip文件后,将内容提取到ARDUINO文件夹。(转到安装了ARDUINO NIGHTLY软件的本地磁盘,打开文件夹,搜索名为“ library”的文件夹,解压缩该文件夹中zip文件的内容,重新启动程序,您现在将可以使用矩阵界面的功能)
所需组件
硬件: Arduino Uno,电源(5v),100 uF电容器(跨电源连接)
软体: Arduino Nightly
电路图和说明
下表显示了Arduino Uno与LED矩阵模块之间的连接。
PIN2 ------------------ LOAD或CHIPSELECT LED模块
LED模块的PIN3 ------------------ CLOCK
PIN4 ------ LED模组的数据输入
LED模块+ 5V ------------------ VCC
LED模块的GND ------------------ GND
下图显示了8 * 8 LED矩阵显示器的电路图。
现在,为了使用通过安装新库而调用的特殊功能,我们需要在程序中建立一些命令,下面将进行说明。
#include“ LedControlMS.h” #定义NBR_MTX 1 LedControl lc = LedControl(4,3,2,NBR_MTX); lc.writeString(0,“ CIRCUITDIGEST”); lc.clearAll(); |
首先,我们需要调用头文件以将LED矩阵与Arduino Uno接口。即“ #include“ LedControlMS.h””,此头文件调用库的特殊功能。
这些模块具有一个功能,我们可以串联连接许多模块,并将它们编程为一个显示器。当我们需要一个可以同时显示多个字符的显示单元时,此功能会派上用场。因此,我们需要告诉控制器我们要连接多少个显示器。
在该模块中,主要有三个引脚。从UNO到模块的数据流通过这三个引脚进行。引脚为DATAIN(数据接收引脚),CLOCK(时钟引脚)和CHIPSELECT(命令接收引脚)。
现在我们需要告诉UNO我们将这些引脚连接到哪里。这是通过命令“ LedControl lc = LedControl(4,3,2,NBR_MTX)”完成的;”。“ lc.writeString(0,“ CIRCUITDIGEST”);”,此命令用于告诉UNO哪些字符将显示在LED矩阵上。在上面的屏幕上显示“ CIRCUITDIGEST”,每个字符一次。
我们需要在发送任何其他数据之前清除显示芯片的内存,这是通过命令“ lc.clearAll();”完成的。
通过这种方式,我们可以轻松地将8x8 LED矩阵连接到Arduino Uno。