Grove - RGB LED矩阵带驱动器
8x8 RGB LED矩阵非常适合简单的图像显示,64个像素LED和每个像素255种颜色意味着几乎无限的可能性。然而,矩阵复杂的布线令人望而却步。现在我们为您提供Grove - RGB LED矩阵带驱动器,让所有复杂多变的布线和焊接都成为过去,只需一个Grove连接器即可轻松控制RGB 8x8 LED矩阵。令人惊叹?试试吧,您一定会爱上它。
版本
产品版本 | 变更 | 发布日期 |
---|---|---|
Grove - RGB LED Stick (10 WS2813 Mini) | 初始版本 | 2018年12月 |
特性
- 8x8像素,RGB 255种颜色
- 内置MCU
- ±1%(典型值) LED电流通道间精度
- 支持显示自定义图像
规格
项目 | 值 |
---|---|
工作电压 | 3.3V / 5V |
工作温度 | -40℃ ~ +85℃ |
接口 | I2C |
I2C地址 | 0x65 |
尺寸 | 长: 40mm 宽: 40mm 高: 21mm |
重量 | 17.3g |
包装尺寸 | 长: 120mm 宽: 100mm 高: 33mm |
毛重 | 28g |
典型应用
- 简单图像显示
- 玩具
硬件概览
引脚定义
Grove 接口
我们使用I2C接口来控制LED矩阵:
GND: 将此模块连接到系统GND
VCC: 您可以为此模块使用5V电压
SDA: I2C串行数据
SCL: I2C串行时钟
DC-DC模块
我们使用MP-2155为MCU和LED驱动芯片提供稳定的3.3V电压。
固件下载接口
连接到SDA和SCL引脚,在下载固件时作为UART使用。
LED驱动器
MY9221 是一个12通道(R/G/B x 4)的恒流APDM(自适应脉冲密度调制)LED驱动器。由于此模块是8x8矩阵,因此我们需要**RGB** X8输出通道,因此我们使用了两个MY9221。
8x8 LED矩阵
我们使用64个KTR-3528RGB LED组成一个8x8矩阵LED。
我们使用V信号进行列选择,RGB信号进行行选择。
我们通过D命名LED,D1 - D64。R1/G1/B1 - R8/G8/B8由两个MY9221驱动,V1 - V8由74HC183PW芯片控制。如果所有LED都关闭,V1 - V9应默认拉低,所有RGB通道线都将被拉高。
例如:
D8 位于第一行第八列。如果我们想让 D8 显示绿色(Green-255),需要将 V8 拉高,同时将 R1 和 B1 拉高,将 G1 接地。这样只有绿色 LED 会亮起,你会看到 D8 变成纯绿色。
支持的平台
Arduino | Raspberry Pi |
---|---|
上述提到的支持平台仅表示模块的硬件或理论兼容性。我们通常只为 Arduino 平台提供软件库或代码示例。不可能为所有可能的 MCU 平台提供软件库或演示代码。因此,用户需要自行编写软件库。
入门指南
使用 Arduino
硬件
所需材料
Seeeduino V4.2 | Base Shield | Grove - RGB LED Matrix w/Driver |
---|---|---|
立即购买 | 立即购买 | 立即购买 |
1 如果您使用 Arduino UNO 作为主板,建议使用直流电源,否则 VCC 的最大纹波可能会超过 100mV。如果您使用 Seeeduino V4.2 作为主板,则无需连接直流电源。
2 不支持热插拔。
-
步骤 1. 将 Grove - RGB LED Matrix w/Driver 连接到 Grove-Base Shield 的 I2C 端口。
-
步骤 2. 将 Grove-Base Shield 插入 Seeeduino。
-
步骤 3. 使用 USB 线将 Seeeduino 连接到 PC。
如果没有 Grove Base Shield,我们也可以直接将此模块连接到 Seeeduino,如下所示。
Seeeduino | Grove 线缆 | Grove - RGB LED Matrix w/Driver |
---|---|---|
GND | 黑色 | GND |
5V 或 3.3V | 红色 | VCC |
SDA | 白色 | SDA |
SCL | 黄色 | SCL |
软件
如果这是您第一次使用 Arduino,我们强烈建议您在开始之前查看 Arduino 入门指南。
-
步骤 1. 从 Github 下载 Seeed_RGB_LED_Matrix 库。
-
步骤 2. 参考 如何安装库 为 Arduino 安装库。
-
步骤 3. 重启 Arduino IDE。打开示例代码,可以通过以下三种方式打开:
- 在 Arduino IDE 中直接打开,路径为:File --> Examples --> Seeed_RGB_Led_Matrix --> display_emoji。
- 在您的电脑中打开,点击 display_emoji.ino 文件,该文件位于 XXXX\Arduino\libraries\Seeed_RGB_LED_Matrix-master\examples\display_emoji 文件夹中,其中 XXXX 是您安装 Arduino IDE 的位置。
- 或者,您可以直接点击代码块右上角的图标
将以下代码复制到 Arduino IDE 的新草图中。
#include "grove_two_rgb_led_matrix.h"
#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
#define SERIAL SerialUSB
#else
#define SERIAL Serial
#endif
#define DISPLAY_COLOR 0X11
void waitForMatrixReady()
{
delay(1000);
}
GroveTwoRGBLedMatrixClass matrix;
void setup()
{
Wire.begin();
SERIAL.begin(115200);
waitForMatrixReady();
uint16_t VID = 0;
VID = matrix.getDeviceVID();
if(VID != 0x2886)
{
SERIAL.println("无法检测到 LED 矩阵!!!");
while(1);
}
SERIAL.println("矩阵初始化成功!!!");
}
void loop()
{
for(int i=0;i<35;i++)
{
matrix.displayEmoji(i,5000,true);
delay(5000);
}
}
库文件可能会更新。此代码可能不适用于更新后的库文件,因此我们建议您使用前两种方法。
- 步骤 4. 上传示例代码。如果您不知道如何上传代码,请查看 如何上传代码。
如果一切正常,现在您可以看到 LED 矩阵显示:
DIY
现在让我们来谈谈 DIY。
在此版本固件中,如果您想使用 UNO 串口 DIY 自定义图像,您需要修改 Arduino 文件。如果您使用 Mega 或 Lotus,则无需更改。
找到 Arduino 设置文件夹 xxxxx\Arduino\hardware\arduino\avr\libraries\Wire\src,打开 Wire.h 文件
将
#define BUFFER_LENGTH 32
修改为
#define BUFFER_LENGTH 128
然后找到 Arduino 设置文件夹 xxxxx\Arduino\hardware\arduino\avr\libraries\Wire\src\utility,打开 twi.h 文件。
将
#define TWI_BUFFER_LENGTH 32
修改为
#define TWI_BUFFER_LENGTH 128
开始 DIY。
-
步骤 1. 下载 图像编辑器,这是一个 zip 文件,解压它。
-
步骤 2. 在文件夹 doc-->doc 中找到 index.html,双击打开它。
-
步骤 3. 创建您自己的图像,当您完成一个图像时,点击控制面板中的 Insert,然后您可以编辑另一个图像。当您完成所有图像序列后,可以复制代码区中的代码。
-
步骤 4. 将以下代码块第 9 行 unit64_t example[] 替换为您自己的代码。
#include "grove_two_rgb_led_matrix.h"
#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
#define SERIAL SerialUSB
#else
#define SERIAL Serial
#endif
uint64_t example[] = {
0xffff5e5e5e5effff,
0xff5effffffff5eff,
0x5eff5effff5eff5e,
0x5effffffffffff5e,
0x5eff5effff5eff5e,
0x5effff5e5effff5e,
0xff5effffffff5eff,
0xffff5e5e5e5effff,
0xffff29292929ffff,
0xff29ffffffff29ff,
0x29ff29ffff29ff29,
0x29ffffffffffff29,
0x29ff29292929ff29,
0x29ffffffffffff29,
0xff29ffffffff29ff,
0xffff29292929ffff,
0xffff00000000ffff,
0xff00ffffffff00ff,
0x00ff00ffff00ff00,
0x00ffffffffffff00,
0x00ffff0000ffff00,
0x00ff00ffff00ff00,
0xff00ffffffff00ff,
0xffff00000000ffff
};
void waitForMatrixReady()
{
delay(1000);
}
GroveTwoRGBLedMatrixClass matrix;
void setup()
{
Wire.begin();
SERIAL.begin(115200);
waitForMatrixReady();
uint16_t VID = 0;
VID = matrix.getDeviceVID();
if(VID != 0x2886)
{
SERIAL.println("无法检测到 LED 矩阵!!!");
while(1);
}
SERIAL.println("矩阵初始化成功!!!");
}
void loop()
{
for (int i=0;i<3;i++) {
matrix.displayFrames(example+i*8, 200, false, 1);
delay(500);
}
}
如果一切正常,现在您可以看到 LED 矩阵显示:
原理图在线查看器
资源
-
[Zip] RGB LED 矩阵 8x8 Eagle 文件
-
[Zip] Seeed_RGB_LED_Matrix 库
-
[PDF] MY9221 数据手册
-
[PDF] MP2155 数据手册
技术支持与产品讨论
感谢您选择我们的产品!我们为您提供多种支持渠道,确保您使用我们的产品时能够获得顺畅的体验。我们提供多种沟通方式,以满足不同的偏好和需求。