Grove - LED矩阵驱动器 (HT16K33)
LED矩阵成本低,通常用于显示简单的数字和图像。Grove - LED矩阵驱动器是一款基于I2C的产品,您可以使用我们准备的易于使用的库来控制LED矩阵,也可以创建自己的库来满足您的需求。8*8 LED矩阵可以轻松地从驱动板上组装和拆卸,因此可以根据需要方便地更换不同颜色的LED矩阵显示。
版本
产品版本 | 变更 | 发布日期 |
---|---|---|
Grove - LED矩阵驱动器 (HT16K33) | 初始版本 | 2018年9月 |
特性
- 集成RC振荡器
- 读/写地址自动递增
- 最大支持8 x 8图案
- I2C总线接口
规格
项目 | 参数 |
---|---|
供电电压 | 3.3V / 5V |
LED矩阵点数 | 8 * 8 |
工作温度 | -40~85℃ |
存储温度 | -50~125℃ |
接口 | I2C |
I2C地址 | 0x70 (默认) 0x71~0x77 (可配置) |
尺寸 | 长: 40mm 宽: 40mm 高: 17mm |
重量 | 8.8g |
包装尺寸 | 长: 140mm 宽: 90mm 高: 18mm |
总重量 | 15g |
此Grove模块有8个可能的I2C地址,从0x70到0x77。默认的I2C地址是0x77。您可以通过按照下表中的指示进行焊接来更改I2C地址。
I2C地址 | 连接方式 |
---|---|
0x70 | 断开: A0 A1 A2 |
0x71 | 断开: A1 A2, 连接: A0 |
0x72 | 断开: A0 A2, 连接: A1 |
0x73 | 断开: A2, 连接: A1 A0 |
0x74 | 断开: A0 A1, 连接: A2 |
0x75 | 断开: A1, 连接: A0 A2 |
0x76 | 断开: A0, 连接: A1 A2 |
0x77 | 连接: A0 A1 A2 |
例如,如果我想将地址更改为 0x73,我需要连接焊盘 A1、A0 并断开焊盘 A2。然后我将获得地址 0b01110011,即 0x73。
典型应用
- 工业控制指示器
- 数字时钟、温度计、计数器、多用表
- 组合套件
- 视频录像机套件
- 仪器读数
- 其他消费类应用
- LED 显示屏
硬件概述
引脚图
支持的平台
Arduino | Raspberry Pi |
---|---|
入门指南
使用 Arduino
所需材料
Seeeduino V4.2 | 基础扩展板 | Grove-LED 矩阵驱动器 | 矩阵 LED - 红色 |
---|---|---|---|
立即购买 | 立即购买 | 立即购买 | 立即购买 |
-
步骤 1. 将红色方形矩阵 LED 连接到 Grove-LED 矩阵驱动器。
-
步骤 2. 将 Grove-LED 矩阵驱动器连接到 Grove-基础扩展板的 I2C 接口。
-
步骤 3. 将 Grove-基础扩展板插入 Seeeduino。
-
步骤 4. 使用 USB 数据线将 Seeeduino 连接到电脑。
软件
如果这是您第一次使用 Arduino,我们强烈建议您在开始之前查看 Arduino 入门指南。
-
步骤 1. 从 Github 下载 Grove_LED_Matrix_Driver_HT16K33 库。
-
步骤 2. 参考 如何安装库 为 Arduino 安装库。
-
步骤 3. 重启 Arduino IDE。打开示例程序,可以通过以下三种方式之一打开:
- 直接在 Arduino IDE 中通过路径打开:文件 --> 示例 --> Grove - LED 矩阵驱动器(HT16K33 with 8*8 LED Matrix) --> display_bars。
- 在您的电脑中打开它,点击 basic_demo.ino 文件,该文件位于 XXXX\Arduino\libraries\Grove_LED_Matrix_Driver_HT16K33\examples\display_bars\display_bars.ino 文件夹中,XXXX 是您安装 Arduino IDE 的位置。
- 或者,您可以直接点击图标
在代码块右上角,将以下代码复制到 Arduino IDE 的新草图中。
#include <Wire.h>
#include "Grove_LED_Matrix_Driver_HT16K33.h"
#include "SoftI2C.h"
#include "I2Cdev.h"
Default_IIC_Adapter hard_ware_iic;
Matrix_8x8 matrix;
void setup() {
hard_ware_iic.begin();
matrix.init(&hard_ware_iic,0x70);
matrix.setBrightness(0);
matrix.setBlinkRate(BLINK_OFF);
}
void loop() {
for (int i = 0; i < 33; i++) {
// writeBar 的输入范围是 [0-32]
matrix.writeBar(i);
matrix.display();
delay(150);
}
}
库文件可能会更新。此代码可能不适用于更新后的库文件,因此我们建议您使用前两种方法。
如果一切顺利,您将能够在 LED 矩阵上看到各种条形显示。
如果您想运行其他示例,可以采用类似的步骤,并看到不同的显示效果。
DIY
您是否愿意让 LED 矩阵显示表情符号?现在轮到您设计自己的图案了。请准备好上述列出的硬件和软件要求。
-
步骤 1. 使用在线 LED Matrix Editor 编辑并为 8*8 LED 矩阵创建动画。
-
步骤 2. 在右上角选择 LED 的颜色。在我的案例中,我选择了“红色”,因为我使用的是红色 LED 矩阵。
-
步骤 3. 通过点击空白点来创建自己的设计。
-
步骤 4. 根据您的设计复制生成的十六进制文件。有两种方法可以做到:
- 在左下角的十六进制框中复制十六进制值。
- 在 Arduino/C 代码部分复制相应的代码。
- 步骤 5. 在与其他 LED 矩阵示例相同的文件夹下创建新的 '.ino' 文件,并复制以下代码。
#include "Grove_LED_Matrix_Driver_HT16K33.h"
#include <Wire.h>
#include "SoftI2C.h"
#include "I2Cdev.h"
// 在这里放置您自己的设计十六进制组。
const uint64_t Emoji[] = {
0x3c4299a581a5423c,
0x3c4281bd81a5423c,
0x3c42a59981a5423c,
};
Default_IIC_Adapter hard_ware_iic;
Matrix_8x8 matrix;
void setup() {
Wire.begin();
matrix.init(&hard_ware_iic, 0x70);
matrix.setBrightness(0);
matrix.setBlinkRate(BLINK_OFF);
/*************************************************************
* 描述
* 设置矩阵的闪烁频率
* 参数
* blink_type: BLINK_OFF, BLINK_2HZ, BLINK_1HZ
* 返回值
* 无。
*************************************************************/
}
void loop() {
for (int i = 0; i < 3; i++) {
matrix.writeOnePicture(Emoji[i]);
/*************************************************************
* 描述
* 将图片写入显示缓冲区。
* 调用 display() 显示缓冲区内容。
* 参数
* pic: 一个 uint64_t 类型的 8x8 矩阵图片,您可以在
* https://xantorohara.github.io/led-matrix-editor/# 创建。
* 返回值
* 无。
*************************************************************/
matrix.display();
/*************************************************************
* 描述
* 清除显示缓冲区。
* 调用 display() 后,8x8 矩阵将显示为空。
* 参数
* 无。
* 返回值
* 无。
*************************************************************/
delay(500);
}
}
- 步骤 6. 将您的项目上传到您的 Seeeduino。
如果一切顺利,您的 LED 矩阵将显示如下。
原理图在线查看器
资源
-
[PDF] HT16K33 数据手册
技术支持与产品讨论
感谢您选择我们的产品!我们为您提供多种支持渠道,确保您使用我们的产品时能够获得顺畅的体验。我们提供多种沟通方式,以满足不同的偏好和需求。