Skip to content

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(大值高亮度)。

样例 ​

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"表示小数值。