TM1650四位数码管显示小数点与清屏:完整掌握3个积木块的全部用法
【免费下载链接】CupCode_TM1650模块源师兄扩展项目: TM1650 | 由源师兄组织创建项目地址: https://gitcode.com/yuanshixiong/tm1650-led-driver
源师兄 / CupCode_TM1650模块带来的TM1650四位数码管扩展,是基于源师兄板的即用型积木外设:通过 I²C 总线驱动四位数码管,只需"显示数字、亮小数点、清屏"3 个积木块,就能快速让数码管显示温度、时间或带小数点的数值。本文手把手讲清每个积木块的参数、典型用法与常见问题,新手一看就会。
项目概览:一块四位数码管扩展板
TM1650 是一款 I²C 接口的数码管驱动芯片,数码管模块仅用 SDA/SCL 两根信号线就与源师兄板通信,不额外占用 GPIO。底层驱动是 library/tm1650.py 中的TM1650类:命令寄存器地址0x24,显示段码寄存器起始地址0x34,初始化后数码管默认点亮,接线完成后即可直接使用。
硬件接线速览:只需 SDA/SCL 两根线
| 器件 | 源师兄板 |
|---|---|
| SDA | 板载 I²C SDA(数据线) |
| SCL | 板载 I²C SCL(时钟线) |
| VCC / GND | 3.3 V / 5 V、GND |
- SDA/SCL 对应板上 I²C 总线引脚即可,注意不要接反。
- 驱动构造为
TM1650(I2C(1));若使用其他 I²C 总线,初始化时传入对应的I2C实例即可。
积木块① 显示数字:一行让"1234"亮起来
功能:整体在四位数码管上显示一个整数(底层调用shownum,见 library/tm1650.py#L82-L91)。
- 参数:
NUMBER数字输入框,默认值1234(来自分类配置 category.json)。 - 典型用法:显示温度、时间等整数值。
- 注意:内容会被
int()转为整数,小数或非数字会报错;负数会在第一位显示负号"-"。
积木块② 亮起小数点:把"1234"变成"123.4"
功能:在指定位置亮起小数点(调用showDP(位置, True),见 library/tm1650.py#L104-L109)。
- 参数:
Dot_Position下拉选1/2/3,即从左起计数的小数点所在位。 - 典型用法:先用"显示数字"积木显示
1234,再选位置3点亮小数点,数码管即显示123.4,非常适合显示温度、电压等带小数点的量。 - 注意:该积木只负责点亮小数点;如需熄灭,请在 Python 中直接调用
showDP(位置, False)。
积木块③ 清除显示:一键复位数码管
功能:清除显示(调用clear),4 位显示全部置 0 并复位缓冲区,见 library/tm1650.py#L69-L75。
- 参数:无。
- 典型用法:显示结束后清屏,或程序启动时先清屏,保证画面从干净状态开始。
常见问题速查:显示不亮怎么办?
- 显示不亮 / 全灭:检查 SDA/SCL 是否接反、是否接入板上 I²C 总线;确认供电(3.3 V / 5 V、GND)正常。
- I²C 通信报错:确认器件地址,命令寄存器默认
0x24、显示寄存器起始0x34;如与默认不同,构造时传入command_i2c_addr/display_i2c_addr修改。 - 显示内容不对:
NUMBER仅支持整数,小数或非数字内容会报错。 - 亮度异常:
intensity取值 0-8(0 为熄灭),超出范围会被忽略。
相关资料
- 驱动源码:library/tm1650.py
- 项目说明文档:README.md
- 积木块定义:blocksdef.js
【免费下载链接】CupCode_TM1650模块源师兄扩展项目: TM1650 | 由源师兄组织创建项目地址: https://gitcode.com/yuanshixiong/tm1650-led-driver
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考