Arduino使用TM1637四位数码管显示模块

之前买的四位数码管要10个引脚,我用了之后就无法再介入更多的模块了。前几天在淘宝上看到这款TM1637四位数码管显示模块,只需要四个引脚,其中2个还是电源引脚,大大节省了引脚数量。
TM1637四位数码管显示模块正面如下图所示:
TM1637四位数码管显示模块背面如下图所示:
  该模块有四个引脚,意义如下:
GND:电源负极
VCC:电源正极,+5V
        DIO:数据IO模块,可以接任意的数字引脚
CLK:时钟引脚,可以接任意的数字引脚。
接下来就是在网上找对应的库进行测试,开始找的是参考文献1中给的库文件,但是根据该库给出的示例进行测试时,模块一点反应都没有。怀疑线路有问题,于是用万用电表检测VCC和GND之间的电脑,发现电压正常。接下来又找了另外一个库进行测试(参考文献2中的库文件),用参考文献3中的示例代码进行测试,发现模块使用正常,于是随后测试时都是采用的参考文件2中提供的库文件。
该库提供了一个名为TM1637的类,
类中包含一个构造函数,形式为
TM1637(uint8_t Clk, uint8_t Data),
第一个参数指定时钟引脚,第二个参数指定数据引脚,这两个引脚都是数字引脚。
类中比较实用的函数有:
init函数:用于数码管初始化,就是清除数码管中的显示内容
point函数:指定数码管中间的冒号是否显示,输入参数为布尔值,为0时不显示,不为0时显示
display(uint8_t BitAddr,int8_t DispData)函数:指定数码管中某一位的显示内容,第一个参数指定数码管的某一位,四位数码管从左到右顺序为0,1,2,3,第二个参数是显示的内容,其实是个序号,库中自带有一个长度为16的数组,默认显示0-9,A-F,第二个参数指定的是这个数组的序号。
display(int8_t DispData[])函数:输入参数为一个序号数组,指定四位数码管中每一位要显示的内容。
库中提供了三个示例,分别为:ClockDisplay、NumberFlow、Stopwatch,其中:
ClockDisplay:时钟显示示例,显示小时和分钟。
NumberFlow:循环显示数组内容示例
Stopwatch:这个是个秒表的示例
测试时的实物接线图如下:
 
演示视频如下:
  
参考文献
[1]https://github.com/avishorp/TM1637/blob/master
[2]https://github.com/reeedstudio/libraries/tree/master/DigitalTube
[3]https://brainy-bits.com/blogs/tutorials/4-bits-7-segment-led-display-with-arduino
[4]https://thecustomizewindows.com/2017/02/arduino-7-segment-led-display-tutorial-tm1637-4-digit/

你可能感兴趣的:(Arduino)