0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Adafruit LED矩阵的制作

454398 来源:网络整理 作者:网络整理 2019-11-27 15:52 次阅读

概述

有什么比单个LED更好的了?许多LED!制作小型显示器的一种有趣方法是使用8x8矩阵或4位7段显示器。像这样的矩阵是“多路复用的”-因此,要控制64个LED,您需要16个引脚。这有很多引脚,并且有诸如MAX7219之类的驱动器芯片可以为您控制矩阵,但是要设置很多布线,它们占用大量空间。在Adafruit,我们感到您的痛苦!毕竟,如果您能控制大量矩阵而无需大量布线,那岂不是很棒吗?这就是这些可爱的LED矩阵背包的来源。

我们有相当多种口味!

可爱的Mini 8x8

经典1.2英寸8x8(圆形和方形)点)

4位数字0.56“ 7段

4位数字1.2” 7段

4位0.54“ 14段字母数字

双色8x8

双色条状图

Adafruit LED矩阵的制作

矩阵使用驱动程序芯片为您完成所有繁重的工作:它们具有内置时钟,因此可以多路复用显示。他们使用恒流驱动器来获得超亮,一致的色彩(上面的图像是在最暗的设置下拍摄的,以避免相机超载!),1/16步长的显示屏调光,所有这些都通过简单的I2C界面实现。背包带有地址选择跳线,因此您可以在一条I2C总线上最多连接四个迷你8x8或八个7段(或一个组合,例如四个迷你8x8和四个7段等)。

产品套件带有经过全面测试和组装的LED背包,4针接头和您选择的矩阵。将矩阵连接到背包需要一些焊接,但是非常容易,只需大约5分钟。

当然,以经典的Adafruit方式,我们还提供了详细的教程,向您展示如何焊接,接线和控制显示器。我们甚至为背包编写了一个非常不错的库,因此您可以在半小时内开始运行,在矩阵上显示图像或在7段显示数字。如果您一直在关注矩阵显示,但是由于复杂性而犹豫不决,那么他就是您一直在寻找的解决方案!

1.2英寸8x8矩阵

此版本的LED背包适用于1.2英寸8x8矩阵。它们的尺寸仅为1.2“ x1.2”,因此使用大量的芯片来控制它是一种耻辱。该背包通过将I2C恒定电流矩阵控制器整齐地放置在PCB的背面来解决了使用16针或一堆芯片的烦恼。控制器芯片负责所有工作,在后台绘制了所有64个LED。您要做的就是使用2针I2C接口向其中写入数据。有两个地址选择引脚,因此您可以在一个2引脚I2C总线(以及您喜欢的任何其他I2C芯片或传感器)上选择8个地址之一来控制多达8个地址。驱动器芯片可以以1/16级的步长从1/16亮度到全亮度调暗整个显示器。它不能使单个LED变暗,只能使整个显示亮度降低。

这些说明适用于仅1.2“矩阵!如果您有Bi-Color或0.8”正方形矩阵,请遵循页面左侧的链接。

从Adafruit购买一包时,它带有经过全面测试和组装的背包以及8x8的背包矩阵以我们提供的一种颜色(例如红色,黄色或绿色)。您需要将矩阵焊接到背包上,但这很容易。

注意!必须正确安装矩阵!

首先在LED矩阵的侧面寻找文本行

注意!必须正确安装MATRIX!

用填充点找到背包的一角。确保矩阵一侧的文本与填充点位于同一侧。

注意!必须正确安装矩阵!

将矩阵滑入背包并翻转。仔细检查文本是否与来自Adafruit 文本

所有16个引脚中的焊料

然后将矩阵引线短接

现在您可以将其连接到微控制器了。我们假设您要使用4pin标头。当然,您也可以直接焊锡丝。将长针脚向下的4针插头插入面包板。

Place

焊接四个插针

就是这样!现在您已经可以运行固件了!

Mini 8x8 Matrix Software

我们编写了一个基本库来帮助您使用迷你8x8矩阵背包。该库是为Arduino编写的,并且仅使用I2C引脚即可与任何Arduino一起使用。该代码具有很高的可移植性,可以轻松地适应任何具有I2C功能的微型计算机。

与矩阵的接线非常简单

连接 CLK 到I2C时钟-在Arduino UNO上是模拟#5,在Leonardo上是数字#3,在Mega上是其数字#21

将 DAT 连接到I2C数据-在Arduino UNO将模拟#4,在莱昂纳多上的数字#2,在大型Mega上的数字#20

连接 GND 到公共接地

Connect VCC + 供电-5V最好,但3V似乎也适用于3V微控制器。

接下来,下载 Adafruit LED背包库和Arduino库管理器中的 Adafruit GFX 库。

打开Arduino库管理器:

搜索 Adafruit LED背包库并安装

搜索 Adafruit GFX 库并安装它

您现在应该可以选择文件-》示例-》 Adafruit_LEDBackpack-》 matrix88 示例草图。照常将其上传到Arduino。您应该看到一个基本的测试程序,该程序会经历许多不同的绘图例程

我们还在以下位置提供了有关Arduino库安装的出色教程:

http://learn .adafruit.com/adafruit-all-about-arduino-libraries-install-use

一旦您对矩阵有效感到满意,就可以编写自己的草图。 8x8矩阵支持Adafruit GFX库的所有功能-绘制像素,线条,矩形,圆形,三角形,圆角矩形和小位图。有关更多详细信息,请查看GFX页面,该页面将详细介绍所有GFX例程。

所有绘图例程仅更改Arduino保留的显示内存。在绘制以通过I2C将内存“保存”到矩阵中之后,别忘了调用 writeDisplay()。

还有一些小例程专用于矩阵:

setBrightness( brighness )-将使您更改整个显示器的整体亮度。 0是最不亮的,15是最亮的,是您启动时由显示屏初始化的内容。您可以随时调用此函数来更改-entire- display

blinkRate( rate )的亮度-您可以闪烁整个显示。 0不闪烁。 1、2或3用于显示器闪烁。您可以随时调用此功能以更改-entire-display的闪烁速率

0.8英寸8x8矩阵

此版本的LED背包是为这些非常可爱的微型8x8矩阵而设计的。它们的尺寸仅为0.8“ x0.8”,因此很遗憾使用大量的芯片来控制它。这款背包通过将I2C恒流矩阵控制器整齐地放在PCB的背面来解决了使用16针或一堆芯片的烦恼。在后台绘制所有64个LED。您所要做的就是使用2针I2C接口向其中写入数据。有两个地址选择引脚,因此您可以从4个地址中选择一个以在一个地址中最多控制4个2针I2C总线(以及您喜欢的任何其他I2C芯片或传感器)。驱动器芯片可将整个显示屏从1/16亮度“调暗”到全亮度(以1/16的步长)。它不能使单个LED变暗,

这些指令适用于0.8“矩阵o天哪!如果您使用的是Bi-Color或1.2“方阵,请遵循页面左侧的链接。

此显示器上图形命令的默认方向将像素(0,0)置于标题位于左侧,而Adafruit徽标位于右侧,则位于左上角。要使用上面显示的矩阵(标题在顶部,徽标在底部),请在发出图形命令之前调用 matrix.setRotation(3)。

从Adafruit购买一包时,它带有经过全面测试和组装的背包以及一个8x8矩阵,其中我们提供的颜色(例如红色,黄色或绿色)。您需要将矩阵焊接到背包上,但这很容易。

从包装中取出部件,并将LED矩阵放在丝印侧上。对称,只要它能向前放置,就可以在任何方向上工作。请勿将矩阵焊接在背包背面的芯片上-这样就无法工作!

将背包翻过来,使其平放在矩阵上。

全部焊接16针。

固定长针。

现在您可以将其连接到微控制器了。我们假设您要使用4pin标头。当然,您也可以直接焊锡丝。将长针脚向下的4针插头插入面包板。

将焊接后的背包放在页眉顶部。

焊接他们!

就是这样!现在就可以运行固件了!

Mini 8x8 Matrix软件

我们编写了一个基本库来帮助您使用Mini 8x8 Matrix背包。该库是为Arduino编写的,并且仅使用I2C引脚即可与任何Arduino一起使用。该代码具有很高的可移植性,可以轻松地适应任何具有I2C功能的微型计算机。

与矩阵的接线非常简单

连接 CLK 到I2C时钟-在Arduino UNO上是模拟#5,在Leonardo上是数字#3,在Mega上是其数字#21

将 DAT 连接到I2C数据-在Arduino UNO将模拟#4,在莱昂纳多上的数字#2,在大型Mega上的数字#20

连接 GND 到公共接地

Connect VCC + 供电-5V最好,但3V似乎也适用于3V微控制器。

接下来,下载 Adafruit LED背包库和Arduino库管理器中的 Adafruit GFX 库。

打开Arduino库管理器:

搜索 Adafruit LED背包库,然后安装它

搜索 Adafruit GFX 库并安装它

重新启动后,您应该可以选择 File-》 Examples-》 Adafruit_LEDBackpack-》 matrix88 示例草图。照常将其上传到Arduino。您应该看到一个基本的测试程序,该程序会经历许多不同的绘制例程

我们还提供了有关Arduino库安装的出色教程,网址为:

http://learn .adafruit.com/adafruit-all-about-arduino-libraries-install-use

一旦您对矩阵有效感到满意,就可以编写自己的草图。 8x8矩阵支持Adafruit GFX库的所有功能-绘制像素,线条,矩形,圆形,三角形,圆角矩形和小位图。有关更多详细信息,请查看GFX页面,该页面将详细介绍所有GFX例程。

所有绘图例程仅更改Arduino保留的显示内存。在绘制以通过I2C将内存“保存”到矩阵中之后,别忘了调用 writeDisplay()。

还有一些小例程专用于矩阵:

setBrightness( brighness )-可让您更改整个显示器的整体亮度。 0表示最不亮,15表示最亮,并且是您启动时由显示屏初始化的内容。

blinkRate( rate )-您可以整个闪烁显示。 0不闪烁。 1、2或3用于显示闪烁。

0.54“字母数字

此版本的LED背包设计用于两个双14段“字母数字”显示器。这些14段显示器通常需要18个引脚(每个4个字符,共14个段),该背包通过将I2C恒定电流矩阵控制器整齐地放在PCB背面来解决使用18个引脚或一堆芯片的烦恼控制器芯片负责所有工作,在后台绘制所有LED。您要做的就是使用2-pinI2C接口向其中写入数据。

有三个地址选择引脚,因此您可以从8个地址中选择一个在单个2针I2C总线(以及您喜欢的任何其他I2C芯片或传感器)上最多可以控制8个这样的驱动程序,驱动芯片可以在整个显示屏中从1/16亮度“调暗”到第16步全亮度。

附件悬挂背包

何时您从Adafruit购买了一包,它带有经过充分测试和组装的背包,以及两个双14段显示器,采用我们提供的一种颜色(例如红色,黄色,蓝色或绿色)显示。您需要将矩阵焊接到背包上,但这很容易。

从包装中取出零件,并将LED矩阵放在丝印侧。 请勿将显示屏朝下放置,否则将无法正常工作!!检查下面的图像,确保“小数点”点在底部,与丝网印刷相匹配。

将背包翻过来因此它正好位于矩阵上。

焊接所有图钉!

剪辑长针。

检查您的工作,请确保每个引脚都焊接良好,并且没有冷焊点或引脚短路

附加页眉

准备标题栏:必要时将其剪切成一定长度。如果将其插入面包板,则焊接会更容易-长针向下

添加背包:将背包板放在插销上,以使短插销穿过分断垫

焊接所有5个引脚!

就是这样!现在您可以在Arduino上运行固件了!

下载Arduino库

我们编写了一个基本库来帮助您使用字母数字背包。该库是为Arduino编写的,并且仅使用I2C引脚即可与任何Arduino一起使用。该代码具有很高的可移植性,可以轻松地适应任何具有I2C功能的微型计算机。

从Arduino库管理器下载我们的Adafruit LED背包库和Adafruit GFX库开始。

打开Arduino库管理器:

搜索 Adafruit LED背包库并安装

搜索 Adafruit GFX 库并安装

我们还提供了有关Arduino库安装的出色教程,网址为:

http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use

接线!下一步,我们将其连接到Arduino。我们将使用Arduino。

将 CLK 连接到I2C时钟-在Arduino UNO上模拟#5,在Leonardo是数字3,在Mega数字#21

将 DAT 连接到I2C数据-在Arduino UNO上模拟#4,在Leonardo上数字2,在Mega上数字# 20

将 GND 连接到公共接地端

将 VCC + 连接到电源-最好5V,但仅此而已,就可以使用3V已经(变暗了)

将 Vi2c 连接到微控制器的逻辑电平(3-5V)-如果您使用的是Arduino,则几乎可以肯定是5V。如果它是3V Arduino(例如Due),请将其连接到3V

Vi2c 和 Vcc 都必须连接3至5VDC! Vcc用于LED驱动器电源,Vi2c是用于设置与芯片通信的逻辑电平。

演示重新启动Arduino IDE,并加载 File-》 Adafruit_LEDBackpack-》 quadalphanum demo

上载到Arduino,并以9600波特速度打开串行控制台。您将看到每个数字都点亮所有段,然后显示屏将滚动显示“字体表”,显示它知道如何显示的每个字符。最后,您会得到通知,开始在串行控制台中键入内容。键入一条消息并按回车键,您会看到它滚动到显示屏上!

库参考对于Quad显示,我们有一个特殊的对象,它可以处理ascii数据以便于打印。

您可以使用

创建对象:下载:文件

复制代码

Adafruit_AlphaNum4 alpha4 = Adafruit_AlphaNum4(); Adafruit_AlphaNum4 alpha4 = Adafruit_AlphaNum4();

没有参数或引脚,因为背包使用固定的I2C引脚。

默认情况下,地址为0x70,但是您可以通过开始

下载:文件

复制代码

alpha4.begin(0x70); // pass in the address alpha4.begin(0x70); // pass in the address

下一步,可以打开/打开片段通过写入所需的“原始”位图来关闭每个数字,例如所有LED第3位数字是

下载:文件

复制代码

alpha4.writeDigitRaw(3, 0x0); alpha4.writeDigitRaw(3, 0x0);

数字#0上的所有段均为

下载:文件

复制代码

alpha4.writeDigitRaw(0, 0x3FFF); alpha4.writeDigitRaw(0, 0x3FFF);

这是分段图:

16您为原始图像传递的位数具有此映射:

0 DP NMLKJH G2 G1 FEDCBA

不使用第一位,可以将其设置为0或1

要仅打开 A 段,请使用0x0001

仅打开 G1 段,请使用0x0040

ASCII数据如果您只是想打印“文本”,可以使用我们的字体表,只需输入ASCII字符即可!

例如,将数字#0设置为 A 调用:

下载:文件

复制代码

alpha4.writeDigitAscii(0, ‘A’) alpha4.writeDigitAscii(0, ‘A’)

写入数据别忘了“写”使用

将数据显示到显示器上:文件

复制代码

alpha4.writeDisplay(); alpha4.writeDisplay();

这实际上是将数据“设置”到LED上的内容!

0.56英寸7段背包

此版本的LED背包专为这些大型明亮的7段显示屏而设计。这些7段显示屏通常需要13针(5个“字符”)和总共8个细分市场)该背包通过将I2C恒流矩阵控制器整齐地放置在PCB背面来解决了使用13引脚或一堆芯片的烦恼,该控制器芯片负责处理所有事情,绘制所有LED您需要做的就是使用2针I2C接口向其中写入数据。共有三个地址选择引脚,因此您可以从8个地址中选择一个以在单个2针I2C上控制多达8个地址总线(以及您喜欢的任何其他I2C芯片或传感器)。驱动器芯片可以将整个显示屏从1/16亮度“调暗”到全亮度(以1/16步调)。它不能使单个LED变暗,而只能使整个显示屏变暗

当您购买它来自Adafruit,带有经过全面测试和组装的背包,以及7段显示器,采用我们提供的一种颜色(例如红色,黄色,蓝色或绿色)。您需要将矩阵焊接到背包上,但这很容易。

从包装中取出部件,并将LED矩阵放在丝网印刷的一面。 请勿将显示屏上下颠倒放置,否则将无法正常工作!!检查下面的图像,确保“小数点”点在底部,与丝网印刷相匹配。

将背包翻过来,使其平放在矩阵上。

焊接所有14个引脚。

剪掉长针。

现在您可以将其连接到微控制器了。我们假设您要使用4pin标头。当然,您也可以直接焊锡丝。将长针脚向下的4针插头插入面包板。

将焊接后的背包放在页眉和焊料的顶部!

就是这样!现在就可以运行固件了!

七段式背包固件

我们编写了一个基本库来帮助您处理七段式背包。该库是为Arduino编写的,并且仅使用I2C引脚即可与任何Arduino一起使用。该代码具有很高的可移植性,可以轻松地适应任何具有I2C功能的微型计算机。

与矩阵的接线非常简单

连接 CLK I2C时钟-在Arduino UNO上模拟#5,在Leonardo上是数字#3,在Mega上是数字#21

将 DAT 连接到I2C数据-在Arduino UNO就是模拟#4,在Leonardo是数字#2,在Mega是数字#20

将 GND 连接到公共接地

连接 VCC + 供电-5V最好,但3V似乎也适用于3V微控制器。

接下来,下载 Adafruit LED背包库和Arduino库管理器中的 Adafruit GFX 库。

打开Arduino库管理器:

搜索 Adafruit LED背包库并安装

搜索 Adafruit GFX 库并安装它

重新启动后,您应该可以选择文件》示例》 Adafruit_LEDBackpack》 sevenseg 示例草图。照常将其上传到Arduino。您应该会看到一个通过一系列不同例程的基本测试程序。

我们还提供了有关Arduino库安装的出色教程,网址为:

http://learn .adafruit.com/adafruit-all-about-arduino-libraries-install-use

一旦您对矩阵起作用感到满意,就可以编写自己的草图。

有几种绘制方法到显示器。最简单的方法就是调用 print-,就像使用 Serial

print( variable , HEX)-,它将打印十六进制数,从0000到FFFF

print(变量 , DEC)或打印(变量)--这将打印十进制整数,从0000到9999

如果需要更多控制,可以调用 writeDigitNum( location , number )-这会将数字(0-9)写入一个位置。位置#0一直在左侧,位置#2是冒号,因此您可能要跳过它,位置#4一直在右侧。如果需要小数点,请调用 writeDigitNum( location , number ,true),它将绘制小数点。要绘制结肠,请使用 drawColon( true 或 false )

如果您想要更多控制权,则可以调用 writeDigitRaw( location , bitmask )来绘制原始的8位掩码(如

所有绘图例程仅更改Arduino保留的显示内存。在绘制以通过I2C将内存“保存”到矩阵中之后,别忘了调用 writeDisplay()。

还有一些小例程专用于背包:

setBrightness( brightness )-可让您更改整个显示屏的整体亮度。 0表示最不亮,15表示最亮,并且是您启动时由显示屏初始化的内容。

blinkRate( rate )-您可以整个闪烁显示。 0不闪烁。 1、2或3用于显示闪烁。

1.2英寸7段背包

这些背包驱动着庞大的1.2英寸7段模块。每个分段带有2个LED,这些LED显示屏华丽而令人印象深刻。 7段显示器通常需要16个引脚来驱动。该背包在PCB背面使用I2C恒流矩阵控制器,因此只需要2个引脚即可驱动!

控制器芯片负责在后台多路复用所有LED。您要做的就是使用2-pinI2C接口向其中写入数据。有三个地址选择引脚,因此您可以在一个2引脚I2C总线(以及您喜欢的任何其他I2C芯片或传感器)上选择8个地址之一来控制多达8个地址。驱动芯片可以以1/16的步长将整个显示屏从1/16的亮度“调暗”到全亮度。它不能使单个LED变暗,只能一次显示整个LED。

从Adafruit购买包装时,它带有经过全面测试和组装的背包,以及7段显示器,采用我们提供的一种颜色(例如红色,黄色,蓝色或绿色)。您需要将矩阵焊接到背包上,但这很容易。

从包装中取出零件,并将LED矩阵放在丝印的一面。 请勿将显示屏朝下放置,否则将无法正常工作!!检查下面的图片,以确保“小数点”点与丝网印刷的点位于同一位置。

将背包翻过来,使其平放在矩阵上并准备焊接。

然后焊接每个引脚。每端有8个,总共16个。

这完成了基本的组装。要在面包板上使用,您还需要在板的边缘安装一个5针接头。

将长引脚固定在靠近电路板的位置。

在必要时将标题条剪切成一定长度,然后

然后焊接所有5个引脚。

现在您已经准备好将其连接到微控制器。所需的连接为:

“ D” -I2C数据引脚(SDA)

“ C” -I2C时钟引脚(SCL)

“ +” -5v。 (不会在3.3v上运行!)

“-” -GND

“ IO” -I2C总线电压。

由于此显示器的尺寸,每个分段有2个串联的LED。因此,显示器需要5v电压才能运行。它不能在3.3v上运行。

要与3.3v处理器一起使用,请将IO引脚连接到3.3v。这样可以将I2C总线信号保持在处理器的安全水平。

使用Arduino UNO等5v处理器,此引脚可以连接到5v或3.3v。 (如果总线上还有其他3.3v设备,请使用3.3v)

Arduino接线-R3和更高版本 连接:

D-》 SDA

C-》 SCL

+-》 5v

--》 GND

IO-》跳线+表示5v。

Arduino Due和其他3.3v处理器 连接:

D-》 SDA

C-》 SCL

+-》 5v

--》 GND

IO-》 3.3v

Arduino “经典”接线 连接:

D-》 Mega

C-》 Analog-5或Digital 21用于Mega

+-》的Digital-5或Digital 21 5v

--》 GND

IO-》跳至+以获得5v。

好,现在就固件!

七段式背包固件

我们的7段式背包库可轻松对这些显示器进行编程。该库是为Arduino编写的,并且仅使用I2C引脚即可与任何Arduino一起使用。该代码具有很高的可移植性,可以轻松地适应任何具有I2C功能的微型计算机。

下载 Adafruit LED背包库和 Adafruit Arduino库管理器中的GFX 库。

打开Arduino库管理器:

搜索 Adafruit LED背包库并安装

搜索 Adafruit GFX 库并安装

我们还提供了有关Arduino库安装的出色教程,网址为:

http://learn.adafruit.com/adafruit-all-about- arduino-libraries-install-use

您现在应该能够选择 File》 Examples》 Adafruit_LEDBackpack》 sevenseg 示例草图。照常将其上传到Arduino。您应该看到一个“ sevenseg”示例草图,它将演示库和显示的各种功能。

一旦您对矩阵有效感到满意,就可以编写自己的草图。

有几种方法您可以绘制到显示。最简单的方法就是调用 print-,就像使用 Serial

print( variable , HEX)-,它将打印十六进制数,从0000到FFFF

print(变量 , DEC)或打印(变量)--这将打印十进制整数,从0000到9999

如果需要更多控制,可以调用 writeDigitNum( location , number )-这会将数字(0-9)写入一个位置。位置#0一直在左边,位置#2是冒号,所以您可能要跳过它,位置#4一直在右边。

控制冒号和小数点,请使用writeDigitRaw(location,bitmap)函数。 (请注意,中心冒号的两个点在显示器内部都连接在一起,因此无法单独寻址。)为该位置指定2,然后按如下所示映射位:

0x02-中心冒号(两个点)

0x04-左冒号-下点

0x08-左冒号-上点

0x10-小数点

如果需要小数点,请调用 writeDigitNum( location , number ,true),它将绘制小数点。要绘制结肠,请使用 drawColon( true 或 false )

如果要完全控制所有位数的段,可以调用 writeDigitRaw( location , bitmask )绘制原始图像8位掩码(存储在uint8_t中)到任意位置。

所有绘图例程仅更改Arduino保留的显示内存。在绘制以通过I2C将内存“保存”到矩阵中之后,别忘了调用 writeDisplay()。

还有一些小例程专用于背包:

setBrightness( brighness )-将让您更改整个显示屏的整体亮度。 0表示最不亮,15表示最亮,并且是您启动时由显示屏初始化的内容。

blinkRate( rate )-您可以整个闪烁显示。 0不闪烁。 1、2或3用于显示闪烁。

双色8x8矩阵

此版本的LED背包专为这些明亮多彩的正方形像素8x8矩阵而设计。它们内部有64个红色和64个绿色LED,总共有128个LED以8x16矩阵形式控制。该背包通过将I2C恒定电流矩阵控制器整齐地放在机箱背面来解决了使用24引脚或一堆芯片的烦恼。控制器芯片负责所有事务,在后台绘制所有128个LED。您要做的就是使用2针I2C接口向其中写入数据。有三个地址选择引脚,因此您可以从一个2引脚I2C总线(以及您喜欢的任何其他I2C芯片或传感器)中选择8个地址之一来控制多达8个地址。驱动器芯片可以以1/16级的步长从1/16亮度到全亮度调暗整个显示器。它不能使单个LED变暗,而只能使整个显示亮度降低。

请特别注意放置矩阵的说明。必须将其正确定向才能工作,将其焊接到背包后几乎不可能将其移除!

从Adafruit购买一包时,它带有经过全面测试和组装的背包以及8x8矩阵。您需要将矩阵焊接到背包上,但这很容易。

从包装中取出部件,并将LED矩阵放在丝网印刷的侧面。

矩阵必须以正确的方向焊接,否则将无法正常工作!检查矩阵上有印刷的一面。然后寻找PCB的正面,该正面的角上有一个圆而不是一个正方形,并按照左图所示将它们对齐。

请勿将矩阵焊接在芯片背面的芯片上背包-这样就无法使用!

将背包翻过来,使其平放在矩阵上。

焊接所有24个引脚。

夹紧长针脚

现在您可以将其连接到微控制器了。我们假设您要使用4pin标头。当然,您也可以直接焊锡丝。将长针脚向下的4针插头插入面包板。

将焊接后的背包放在页眉顶部。

焊接他们!

双色8x8 LED背包固件

我们编写了一个基本库来帮助您与bi-color8x8矩阵背包配合使用。该库是为Arduino编写的,并且仅使用I2C引脚即可与任何Arduino一起使用。该代码具有很高的可移植性,可以轻松地适应任何具有I2C功能的微型计算机。

与矩阵的接线非常简单

连接 CLK 到I2C时钟-在Arduino UNO上是模拟#5,在Leonardo上是数字#3,在Mega上是其数字#21

将 DAT 连接到I2C数据-在Arduino UNO将模拟#4,在莱昂纳多上的数字#2,在大型Mega上的数字#20

连接 GND 到公共接地

Connect VCC + 供电-5V最好,但3V似乎也适用于3V微控制器。

接下来,下载 Adafruit LED背包库和Arduino库管理器中的 Adafruit GFX 库。

打开Arduino库管理器:

搜索 Adafruit LED背包库并安装

搜索 Adafruit GFX 库并安装它

重新启动后,您应该可以选择文件-》示例- 》 Adafruit_LEDBackpack-》 bicolor88 示例草图。照常将其上传到Arduino。您应该看到一个基本的测试程序,该程序会经历许多不同的绘制例程。

我们还提供了有关Arduino库安装的出色教程,网址为:

http://Learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use

一旦您对矩阵有效感到满意,就可以编写自己的草图。 8x8矩阵支持Adafruit GFX库的所有功能-绘制像素,线条,矩形,圆形,三角形,圆角矩形和小位图。有关更多详细信息,请查看GFX页面,该页面将详细介绍所有GFX例程。

所有绘图例程仅更改Arduino保留的显示内存。在绘制以通过I2C将内存“保存”到矩阵中之后,别忘了调用 writeDisplay()。

还有一些小例程专用于矩阵:

setBrightness( brightness )-将让您更改整个显示器的整体亮度。 0表示最不亮,15表示最亮,并且是您启动时由显示屏初始化的内容。

blinkRate( rate )-您可以整个闪烁显示。 0不闪烁。 1、2或3用于显示闪烁。

示意图

双色24条形图

此版本的LED背包专为这些明亮多彩的双色条形图模块而设计。每个模块内部有12个红色和12个绿色LED,总共有24个LED以1x12矩阵形式控制。我们在每个背包上放置了两个模块,以获得24 bar长的条形图(总共48个LED)。

此背包通过将I2C恒定电流矩阵控制器整齐地放置在PCB背面来解决使用大量引脚或一堆芯片的烦恼。该控制器芯片负责所有工作,在背景中绘制所有48个LED。您要做的就是使用2针I2C接口向其中写入数据。有三个地址选择引脚,因此您可以从一个2引脚I2C总线(以及您喜欢的任何其他I2C芯片或传感器)中选择8个地址之一来控制多达8个地址。驱动器芯片可以以1/16级的步长从1/16亮度到全亮度调暗整个显示器。它不能使单个LED变暗,而只能使整个显示亮度降低。

附加条形图模块

请特别注意放置条形图的说明。它们必须正确定向才能正常工作,并且几乎不可能将它们焊接到背包后再将它们取出!

从包装中取出部件,并将LED条形图放在包装盒上的轮廓上

必须按正确的方向焊接条形图,否则它将无法正常工作!检查条形图上有印刷的一面。然后在PCB上寻找标记有“此面的文字”的轮廓!

请勿将矩阵焊接到PCB的背面,这也不起作用!

为使两个条形图保持良好的对齐状态,您可以在条形图模块上使用一些遮罩或透明胶带,将它们粘贴成一条直线。在焊接过程中会有一点作用,因此,如果您不这样做,则这两个模块可能并不完美。

此显示器上图形命令的默认方向是,当标题位于左侧时,像素(0,0)置于左上方,而Adafruit徽标位于右侧。要使用上面显示的矩阵(标题在顶部,徽标在底部),请在发出图形命令之前调用 matrix.setRotation(3)。

翻转PCB并将模块的相对角针弯曲出来,以便将模块固定在紧靠PCB的位置。现在是时候做最后一次检查,以确保您以正确的方式定向了模块!

将所有模块引脚焊接进去!

好的工作!

焊接后,将每个引脚固定。它们很短,而且针脚比平时要粗,所以要在垃圾箱内/里面这样做,以免针脚飞走,它也就成了您或您的宠物。

所有内容都应整齐并修剪,您已完成!

在面包板上的焊接

这是可选步骤-仅当您计划在面包板上使用条形图时,才需要执行此步骤。您可能希望直接将导线焊接到焊盘上,以便将条形图安装在其他位置。无论如何,如果不适合您,请跳过此步骤!

断开一个公头,长4针。将长端插入无焊面包板。

将PCB放在顶部。您可能需要对其进行相当长的支持。

也可以焊接这4个引脚,因为您现在很擅长此操作,这应该很容易。

双色条形图LED背包接线和固件我们编写了一个基本库来帮助您使用双色条形图背包。该库是为Arduino编写的,可与任何Arduino一起使用,因为它仅使用I2C引脚。该代码具有很高的可移植性,可以轻松地适应任何具有I2C功能的微型计算机。

接线图非常简单

将 SCL 连接到I2C时钟-在Arduino UNO上模拟5号,在Leonardo上数字3号,在Mega上数字21号

将 SDA 连接到I2C数据-在Arduino UNO上多数民众赞成在模拟#4,在莱昂纳多的数字#2,在大型Mega的数字#20

将 GND 连接到公共地面

连接 VCC 供电-5V最好,但3V似乎也适用于3V微控制器。

接下来,下载 Adafruit LED背包库和 Adafruit GFX

打开Arduino库管理器:

搜索 Adafruit LED背包库并安装它

搜索 Adafruit GFX 库并安装

重新启动后,您应该可以选择文件-》示例-》 Adafruit_LEDBackpack-》 bargraph24 》示例草图。照常将其上传到Arduino。您应该会看到一个基本的测试程序,该程序可以测试所有具有不同颜色的LED。

我们还提供了有关Arduino库安装的出色教程,网址为:

http://learn .adafruit.com/adafruit-all-about-arduino-libraries-install-use

使用库界面非常容易。首先使用

Adafruit_24bargraph bar = Adafruit_24bargraph();

您可以随意命名,而不仅仅是 bar

然后用

bar.begin(0x70);//输入地址

您可以使用0x70到0x77之间的任何地址进行初始化,只需确保匹配焊接跳线!

最后,使用

bar.setBar( lednumber , ledcolor );

其中 lednumber 为0到23。 ledcolor 可以为 LED_RED,LED_YELLOW,LED_GREEN 或 LED_OFF

绘图例程仅更改Arduino保留的显示内存。绘制以通过I2C将内存“保存”到矩阵中后,不要忘记调用 bar.writeDisplay()。

还有一些特殊的小例程

setBrightness( brightness )-矩阵,您可以更改整个显示器的整体亮度。 0是最不明亮的,15是最明亮的,是您启动时由显示器初始化的内容

blinkRate( rate )-您可以使整个显示器闪烁。 0不闪烁。 1、2或3用于显示闪烁。

连接多个背包

有关I2C背包的最酷的部分是,您可以使用相同的2个引脚连接多个背包。这为各种多显示器项目打开了可能性。

对于表明这是实践的项目,请查看此页面上的多个LED背包动画设置

连接要将另一个背包连接到您的项目,只需将其与第一个背包并联,如下图所示。

配置地址对于您添加的每个背包,您需要配置一个不同的I2C地址。您可以以相同的方式继续添加背包,直到地址用完为止。有关如何配置背包上地址的信息,请参见下一页。

更改I2C地址

这些LED背包上的HT16K33驱动器芯片的默认I2C地址为 0x70 。由于I2C总线上的每个设备都必须具有唯一的地址,因此避免冲突很重要,否则电子设备会收到很多奇怪的响应!

幸运的是,HT16K33具有2或3个地址调整引脚,因此可以更改地址!迷你的0.8英寸8x8矩阵背包有2个地址调整销。1.2英寸8x8,双色8x8,双色条形图和4 x 7段背包有3个地址调整销。

这意味着您可以将背包设置为以下地址:

Mini 0.8“ 8x8: 0x70、0x71、0x72、0x73

1.2英寸小8x8: 0x70、0x71、0x72、0x73、0x74、0x75、0x76、0x77

4 x 7段: 0x70、0x71 ,0x72、0x73、0x74、0x75、0x76、0x77

双色1.2“ 8x8: 0x70、0x71、0x72、0x73、0x74、0x75、0x76、0x77

双色24条形图: 0x70、0x71、0x72、0x73、0x74、0x75、0x76、0x77

您可以混合匹配矩阵,只要每个人都有一个唯一的地址!

更改地址您可以很容易地更改背包的地址,从背面看,可以找到两个或三个 A0,A1或A2 跳线,每个跳线都用于对地址进行硬编码。用焊料将跳线短路,设置地址。 A0 设置最低位,值为 1 , A1 设置中间位, 2 和 A2 的值设置高位的值为 4 。最终地址为 0x70 + A2 + A1 + A0 。例如,如果 A2 短路而 A0 短路,则地址为 0x70 + 4 +1 = 0x75。如果仅A1短路,地址为 0x70 + 2 = 0x72

A2 不会出现在迷你0.8“ 8x8矩阵上,因此您不能将地址设置为大于0x73

在1.2英寸8x8背包中,A1和A2的标签互换了!抱歉!

更改代码中的地址

在您调整背包上的地址后,我还想在代码中调整地址!

对于我们编写的Arduino库,它很简单。例如,假设您要拥有两个七个七段矩阵。一个设置为地址0x70,另一个设置为0x71。在示例中找到此代码

下载:文件

复制代码

Adafruit_7segment matrix = Adafruit_7segment();

void setup() {

Serial.begin(9600);

Serial.println(“7 Segment Backpack Test”);

matrix.begin(0x70);

} Adafruit_7segment matrix = Adafruit_7segment();

void setup() {

Serial.begin(9600);

Serial.println(“7 Segment Backpack Test”);

matrix.begin(0x70);

}

并将其更改为:

下载:文件

复制代码

Adafruit_7segment matrix1 = Adafruit_7segment();

Adafruit_7segment matrix2 = Adafruit_7segment();

void setup() {

Serial.begin(9600);

Serial.println(“Double 7 Segment Backpack Test”);

matrix1.begin(0x70);

matrix2.begin(0x71);

}

Adafruit_7segment matrix1 = Adafruit_7segment();

Adafruit_7segment matrix2 = Adafruit_7segment();

void setup() {

Serial.begin(9600);

Serial.println(“Double 7 Segment Backpack Test”);

matrix1.begin(0x70);

matrix2.begin(0x71);

}

即实例化两个矩阵对象。然后使用 begin(0x70)调用另一个,使用 begin(0x71)调用另一个。每个都可以单独使用。如果需要更多矩阵,只需在顶部实例化更多对象,并使用唯一的i2c地址分别实例化 begin()。

常见问题解答

我想将这些模块与其他非Arduino一起使用,如何移植代码?

最好的启动和运行方法是阅读HT16K33驱动程序数据表,该数据表位于http://learn.adafruit.com/adafruit-led-backpack/downloads-背包都使用该芯片来完成所有的LED驱动。您可以将此文档与Arduino库代码交叉引用,以使其适合您的平台。任何具有I2C主机支持的微控制器都应该能够驱动背包,但我们目前仅提供Arduino示例代码

我想将这些背包与Python/Linux(例如Raspberry Pi)

您真幸运!我们在这里有一个完整的教程,涵盖了在带有Python代码的Pi上使用7段和8x8矩阵的方法-》 http://learn.adafruit.com/matrix-7-segment-led-backpack-with-the-raspberry- pi

将Adafruit Motor Shield/Servo Shield(基于PCA9685)与Adafruit LED Matrix/7Seg背包一起使用时,我遇到了奇怪的问题

我们不确定为什么会发生这种情况,但是即使地址不同,也会发生地址冲突!将背包的地址设置为0x71或默认0x70以外的其他值,以使问题消失

背包当前消耗多少?

这取决于您一次点亮了多少个LED!

但粗略估计是20个每段毫安。请注意,每行对段进行多路复用,因此

8x8单矩阵(8行)= 8 x 20mA =最大160mA

7段背包(7段+ 1点)= 8 x 20mA = 160 mA

字母数字(14段)= 14 x 20mA = 280mA

双色8x8和8x16矩阵(16行)= 8 x 16 = 320mA

但是,这又是 maximum ,并且假定所有数字和所有段均亮起!您的平均使用量可能是该金额的1/10至1/2

下载

软件

您需要安装以下库才能使用任何LED背包。

打开Arduino库管理器:

搜索 Adafruit LED背包 库并安装

搜索 Adafruit GFX 库并安装

我们还在以下位置提供了有关Arduino库安装的精彩教程:

http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use

文件

在Adafruit中整理对象Fritzing库

EagleC GitHub中所有背包的AD PCB文件

所有背包均使用HT16K33芯片专门用于LED驱动-迷你8x8使用24引脚版本,其他使用28引脚版本

HT16K33 8x16 LED背包分组讨论

示意图和装配图

8x8 0.8“ LED背包

8x8 1.2英寸LED背包

8x8 1.2英寸双色LED背包

i》

16x8 1.2“ LED背包

Quad 0.56“ 7段

Quad 0.54“ 14段字母数字

Quad 1.2“ 7段

双色24条形图

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22422

    浏览量

    645793
收藏 人收藏

    评论

    相关推荐

    使用Arduino Nano制作一个4×4×4 LED立方体

    在这个项目中,我们将使用 Arduino Nano 制作一个很酷的 4×4×4 LED立方体。LED 立方体,也称为 LED矩阵,可以照亮您
    的头像 发表于 02-11 12:07 1211次阅读
    使用Arduino Nano<b class='flag-5'>制作</b>一个4×4×4 <b class='flag-5'>LED</b>立方体

    矩阵led扫描频率怎么调

    矩阵LED扫描频率是指LED矩阵在单位时间内刷新显示的次数。LED矩阵是由多个发光二极管(
    的头像 发表于 01-02 17:30 473次阅读

    制作RGB HexMatrix物联网时钟

    HexMatrix是具有许多三角形像素的LED矩阵。六个像素组合成一个六边形。FastLED库的矩阵上可以显示许多不同的动画。我还设计了0到9的数字,并为矩阵中的每个数字使用了10个段
    发表于 09-25 06:58

    如何使用W78E516驱动LED矩阵滚动显示

    应用程序: 此代码使用 W78E516 驱动 LED矩阵滚动显示 。 硬件: W78E516 通常我们想要在 LED矩阵屏幕上显示文本的段落, 但此文本内容太过难以在
    发表于 08-23 07:40

    LED虚拟制作在电影制作中的重要作用

    随着科技的进步,电影制作技术也在不断提升,其中一个具有革命性的技术改变就是LED虚拟制作的使用。LED虚拟制作的使用已经在革新电影
    的头像 发表于 08-01 17:43 298次阅读

    RGB LED矩阵面板开源项目

    电子发烧友网站提供《RGB LED矩阵面板开源项目.zip》资料免费下载
    发表于 07-12 11:43 0次下载
    RGB <b class='flag-5'>LED</b><b class='flag-5'>矩阵</b>面板开源项目

    使用Adafruit NeoPixel环的模型灯塔

    电子发烧友网站提供《使用Adafruit NeoPixel环的模型灯塔.zip》资料免费下载
    发表于 07-06 14:24 0次下载
    使用<b class='flag-5'>Adafruit</b> NeoPixel环的模型灯塔

    使用Adafruit IO的无线警铃

    电子发烧友网站提供《使用Adafruit IO的无线警铃.zip》资料免费下载
    发表于 07-05 14:44 0次下载
    使用<b class='flag-5'>Adafruit</b> IO的无线警铃

    LED矩阵PCB开源分享

    电子发烧友网站提供《LED矩阵PCB开源分享.zip》资料免费下载
    发表于 07-04 14:23 1次下载
    <b class='flag-5'>LED</b><b class='flag-5'>矩阵</b>PCB开源分享

    使用Arduino控制MAX7219 Led矩阵

    电子发烧友网站提供《使用Arduino控制MAX7219 Led矩阵.zip》资料免费下载
    发表于 06-28 09:45 2次下载
    使用Arduino控制MAX7219 <b class='flag-5'>Led</b><b class='flag-5'>矩阵</b>

    WisBlock从PNG文件创建LED矩阵显示屏方法

    WisBlock 生态系统提供了一个名为 RAK14012 的 16x16 LED RGB 矩阵显示模块,它适合 WisBlock 底板的 IO 插槽。这款 LED RGB 矩阵基于流
    发表于 06-21 14:49 0次下载
    WisBlock从PNG文件创建<b class='flag-5'>LED</b><b class='flag-5'>矩阵</b>显示屏方法

    蓝牙控制的LED矩阵开源分享

    电子发烧友网站提供《蓝牙控制的LED矩阵开源分享.zip》资料免费下载
    发表于 06-16 15:53 0次下载
    蓝牙控制的<b class='flag-5'>LED</b><b class='flag-5'>矩阵</b>开源分享

    自制RGB LED矩阵屏蔽

    电子发烧友网站提供《自制RGB LED矩阵屏蔽.zip》资料免费下载
    发表于 06-16 15:48 0次下载
    自制RGB <b class='flag-5'>LED</b><b class='flag-5'>矩阵</b>屏蔽

    使用Arduino Uno控制LED矩阵

    电子发烧友网站提供《使用Arduino Uno控制LED矩阵.zip》资料免费下载
    发表于 06-13 16:12 1次下载
    使用Arduino Uno控制<b class='flag-5'>LED</b><b class='flag-5'>矩阵</b>

    如何通过nodemcu连接LED矩阵来驱动?

    你好! 我梦想通过 nodemcu 连接 LED 矩阵来驱动。 代码:全选TCCR2A = 0; TCCR2B = 0; TCNT2= 0; TCCR2B |= (1 <<
    发表于 05-23 08:22