LedControl
是一个用于控制 LED 矩阵和 7 段显示器的 Arduino 库,主要用于通过 MAX7219 或 MAX7221 驱动 LED 模块。以下是 LedControl
库的主要函数及其功能。
1. 构造函数
LedControl lc = LedControl(dataPin, clkPin, csPin, numDevices);
- 参数说明:
dataPin
: 数据输入引脚 (DIN)。clkPin
: 时钟引脚 (CLK)。csPin
: 片选引脚 (CS/LOAD)。numDevices
: 驱动的 MAX7219 模块数量。
2. 主要函数
开/关模块
lc.shutdown(addr, state);
- 功能:控制某个模块是否进入省电模式。
- 参数:
addr
: 模块地址(0 开始)。state
:true
关机;false
开机。
调节亮度
lc.setIntensity(addr, intensity);
- 功能:设置某个模块的亮度。
- 参数:
addr
: 模块地址。intensity
: 亮度级别 (0~15)。
清空显示内容
lc.clearDisplay(addr);
- 功能:清除指定模块的所有显示。
设置 LED 的状态
lc.setLed(addr, row, col, state);
- 功能:控制某个 LED 的开关状态。
- 参数:
addr
: 模块地址。row
: 行号(0~7)。col
: 列号(0~7)。state
:true
打开;false
关闭。
控制 7 段显示器
lc.setDigit(addr, digit, value, dp);
- 功能:设置 7 段显示器上的某个数字。
- 参数:
addr
: 模块地址。digit
: 显示位置 (0~7)。value
: 数值 (0~9)。dp
: 小数点是否亮起 (true
/false
)。
设置字符
lc.setChar(addr, digit, value, dp);
- 功能:在 7 段显示器上显示一个字符。
- 参数:
addr
: 模块地址。digit
: 显示位置 (0~7)。value
: 要显示的字符。dp
: 是否启用小数点。
控制整行显示
lc.setRow(addr, row, value);
- 功能:设置某个模块的整行状态。
- 参数:
addr
: 模块地址。row
: 行号 (0~7)。value
: 8 位数据,每一位对应一个 LED 的开关状态。
控制整列显示
lc.setColumn(addr, col, value);
- 功能:设置某个模块的整列状态。
- 参数:
addr
: 模块地址。col
: 列号 (0~7)。value
: 8 位数据。
示例代码
#include <LedControl.h>
// 初始化:DIN=12, CLK=11, CS=10, 控制一个 MAX7219
LedControl lc = LedControl(12, 11, 10, 1);
void setup() {
lc.shutdown(0, false); // 启用模块
lc.setIntensity(0, 8); // 设置亮度为中等
lc.clearDisplay(0); // 清空显示
lc.setDigit(0, 0, 3, false); // 在第一个位置显示数字 3
}
void loop() {
// 不需要额外代码
}
这些函数覆盖了 LedControl
库的主要功能,可用于创建丰富的 LED 显示效果。根据你的需求,可以进一步调整控制逻辑。