TM1637四位数码管
简介
TM1637四位数码管是一种常见的4位7段LED数码管显示模块,使用TM1637专用驱动芯片控制,适用于显示数字、时间以及简单字母等信息。


接口:两线接口(CLK、DIO)
TM1637驱动电路使用点对点两线接口,该接口与I2C总线不兼容。CLK、DIO引脚可以连接任意可用的GPIO。
指令
- 模块名称:
- tm1637
config
config指令使用模块配置的 标准模板。
参数说明
- device
[array] (!)设备配置对象数组。- name
[string] (?)用户定义的设备名。最大长度15个字符。当模块只有单一设备时可以省略。 - remove
[bool] (?)为true时,释放并移除设备。模块有多个设备时,通过 name 指定。默认false。 - clk
[int] (!)CLK引脚的GPIO序号。 - dio
[int] (!)DIO引脚的GPIO序号。 - brightness
[int] (?)数码管亮度,默认值7。取值范围0~7(大值高亮度)。
- name
样例
json
{
"module": "tm1637",
"action": "config",
"device": [
{
"name": "foo",
"clk": 17,
"dio": 18,
"brightness": 6
}
]
}display
display控制数码管显示数据。该指令无应答。
参数说明
- device
[string] (?)要操作的设备名。当模块只有单一设备时可以省略。 - on
[bool] (?)为true时,打开数码管(亮度值有效);为false时,关闭数码管(亮度值无效)。 - align
[string] (?)显示数据对齐方向,默认值right。可选值:left- 靠左对齐right- 靠右对齐
- number
[int] (?)要显示的整数值(不含小数点)。 - string
[string] (?)要显示的字符串。 - segment
[string] (?)控制数码管各段(segment)显示的Hex数据(见注释)。
- number、string、segment 为多选一参数,可根据需要选择一项。
- number 只用于显示正负整数,不可包含小数点。
- string 可用字符串表示小数如
"12.3",也可显示字符如"PASS"(无法显示K、M、V、W)。- segment 用于直接控制数码管的各显示段。数码管的各段示意图:
用一个字节(8 bits)表示各段:bit 0对应A段,bit 1对应B段,以此类推,最高位bit 7对应DP段。当对应的bit位为
1时,该段点亮;为0时,熄灭。如此,一个字节可以控制一个数码管,四个字节按顺序编码为Hex文本作为 segment 参数值,即可控制四位数码管的显示。例如,PASS对应的Hex值为7377776D。提示
不同型号数码管的DP段位置可能不同(或没有)。例如,显示时间
00:00的数码管,其第二位数字的DP段表示为:。
样例
json
{
"module": "tm1637",
"action": "display",
"device": "foo",
"string": "20.30"
}用字符串
"12.3"表示小数值。