1.概述
当我们利用单片机驱动一个8*8点阵时,我们总共需要用到16个数字口,这样就极大的浪费单片机IO口资源。为此,我们特别设计了这个模块,利用HT16K33芯片驱动1个8*8点阵,只需要利用单片机的I2C通信端口控制点阵,大大的节约了单片机资源。
模块兼容各种单片机控制板,如arduino系列单片机。使用时,我们可以在单片机上堆叠一个传感器扩展板。模块和自带导线连接,然后连接在传感器扩展板上。
同时,模块自带2个直径为4.8mm的定位孔,方便你将模块固定在其他设备。
2.规格参数
工作电压:DC 5V
电流:200MA
最大功率:1W
工作温度:-10摄氏度 到 +50摄氏度
尺寸:47.6MM *23.8MM
接口:间距为2.54mm 4pin
定位孔大小:直径为4.8mm
通讯方式:I2C通讯
I2C通信地址: 0X70
点阵屏显示颜色:红色
3.原理
如原理图所示,我们如果想要点亮第一行第一列的那个LED灯,只需要把C1置高电平,R1置电平它就亮了,如果我们想让第一行led全部点亮,那么我们让R1为低电平,C1~C8全部为高电平就可以了,原理非常简单。但是这样的话我们总共需要用到16个IO口,这样就极大的浪费单片机资源。为此,我们特别设计了这个模块,利用HT16K33芯片驱动1个8*8点阵,只需要利用单片机的I2C通信端口控制点阵,大大的节约了单片机资源。
有些模块上自带3个拨码开关,可以让你随意拨动开关,这是用来设置I2C通信地址的。设置方法如下表格。我们的这个模块中,模块已经固定了通信地址,A0,A1,A2全部接地,即地址为0x70.
A0(1) |
A1(2) |
A2(3) |
A0(1) |
A1(2) |
A2(3) |
A0(1) |
A1(2) |
A2(3) |
|
0(OFF) |
0(OFF) |
0(OFF) |
1(ON) |
0(OFF) |
0(OFF) |
0(OFF) |
1(ON) |
0(OFF) |
|
OX70 |
OX71 |
OX72 |
|||||||
A0(1) |
A1(2) |
A2(3) |
A0(1) |
A1(2) |
A2(3) |
A0(1) |
A1(2) |
A2(3) |
|
1(ON) |
1(ON) |
0(OFF) |
0(OFF) |
0(OFF) |
1(ON) |
1(ON) |
0(OFF) |
1(ON) |
|
OX73 |
OX74 |
OX75 |
|||||||
A0(1) |
A1(2) |
A2(3) |
A0(1) |
A1(2) |
A2(3) |
||||
0(OFF) |
1(ON) |
1(ON) |
1(ON) |
1(ON) |
1(ON) |
||||
OX76 |
OX77 |
4.接线图
5.测试代码
#include <Matrix.h>//点阵的库
Matrix myMatrix(SDA, SCL);
uint8_t LEDArray[8];
const uint8_t LedArray1[8] PROGMEM = {0x00, 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x66, 0x00};//心形图案
void setup() {
myMatrix.begin(0x70);//iic地址
myMatrix.clear();//清除显示
myMatrix.setBrightness(5);//亮度5,范围0~15
}
void loop() {
memcpy_P(&LEDArray, &LedArray1, 8);
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 8; j++)
{
if ((LEDArray[i] & 0x01))
myMatrix.drawPixel(j, i, 1);
else
myMatrix.drawPixel(j, i, 0);
LEDArray[i] = LEDArray[i] >> 1;
}
}
myMatrix.write(); //显示
}
6.代码说明
(1)首先我们需要先导入库文件
(2)我们代码中的图案是一个字节数据类型的数组构成,我们在下面的表格上表示出来。
我们将{0x00, 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x66, 0x00}转化为二进制,填入下面的8*8表格就清晰了。其中1表示亮,0表示灭,我们可以看到是一个心形。
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
7.测试结果
烧录好测试代码,按照接线图连接好线;上电后,点阵显示一个心形图案。

8.资料下载
Arduino IDE/Mixly/Scratch/pyhon编程使用资料下载链接
链接:https://pan.baidu.com/s/1tx4UDqjdy-RRFH29DuHvGQ
提取码:keye