资料下载
链接:https://pan.baidu.com/s/1OfaxDexNl3Lwj1GnbxnQnw?pwd=lx88
1.1 介绍:
这个模块主要由一个0.36英寸 红色共阳 4位数码管组成,它的驱动芯片是TM1650。使用时,我们只需要2根信号线即可使单片机控制4位8数码管,大大节约了控制板IO口资源。
模块兼容各种单片机控制板,如arduino系列单片机。使用时,我们可以在单片机上堆叠一个传感器扩展板。模块和自带导线连接,然后连接在传感器扩展板上,简单方便。同时,模块自带2个直径为4.8mm的定位孔,方便你将模块固定在其他设备。
GND:电源负极
VCC:电源正极,+5V
SDA:双向数据通信引脚
SCL:时钟信号通信引脚
1.2 模块相关资料:
1.3实验器材:
1.4模块接线图:
1.5 实验代码:
/*
TM1650四位数码管模块
https://sourl.cn/gtXtWY
*/
#include "KETM1650.h" //导入TM1650的库文件
int item = 0; //要显示的值
KETM1650 tm_4display(6,5); //两线接口为A1, A0
void setup(){
tm_4display.init(); //初始化
tm_4display.setBrightness(3); //设置 亮度为3,范围(1~8)
}
void loop(){
tm_4display.displayString(item);//四位数码管显示item值
item = item + 1; //自加一
if (item > 9999) { //加到超过9999时,清零
item = 0;
}
delay(100); //延时100毫秒
}
程序编译前需要导入库文件,否则编译不通过,具体操作参考资料的第四小节:库文件的添加(若前面已添加,无需重复)
1.6代码说明
下面介绍一些常用的函数接口:
.init();初始化TM1650
.clear();清除数码管显示
.displayString(char *aString);显示字符串,*aString指向aString的字符串内容
.displayString(String sString);显示字符串,sString为字符串
.displayString(float value);显示小数,内容为float型
.displayString(double value);显示小数,内容为double型
.displayString(int value);显示整数,内容为int型
.displayOn();打开数码管显示
.displayOff();关闭数码管显示,与.clear方法不同的是,一旦关闭必须调用.displayOn();才能重新显示。
.setDot(unsigned int aPos, bool aState);显示小数点,aPos为小数点的位置(03)对应(14),aState为显示状态:1(true)点亮,2(false)熄灭。
.setBrightness(unsigned int iBrightness);设置数码管的亮度,iBrightness为亮度值(1~8),类型为unsigned int,当设置小于1时自动设置1,当设置大于8时自动设置为8。
细节请看代码注释。
1.7实验结果
烧录好测试代码,按照接线图连接好线,上电后,4位数码管从0开始显示的数字每10毫秒加1,直到大于9999又从0开始。