ESP8266-Arduino编程实例-TM1637-驱动4位7段数码管

TM1637-驱动4位7段数码管

1、TM1637介绍

TM1637是一款带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成了MCU数字接口、数据锁存、LED高压驱动、键盘扫描等功能。 TM1637使用DIP20/SOP20封装,主要适用于电磁炉、微波炉、小家电的显示驱动。

TM1637有如下特性:

  • 显示方式(8段*6位)支持共阳极LED输出。
  • 键盘扫描(8×2bit),带增强识别电路,带抗干扰按键
  • 亮度调节电路(可调8个占空比)
  • 两线串行接口(CLK、DIO)
  • 振荡类型:内置RC振荡器
  • 内置上电复位电路
  • 内置自动消隐电路

在前面的文章对TM1637做了详细的介绍,请参考:

2、硬件准备

  • ESP8266 NodeMCU开发板一块
  • TM1637 4位7段LED模块一个
  • 面板板一个
  • 杜邦线若干
  • 数据线一条

硬件接线如下:

在这里插入图片描述

3、软件准备

  • Arduino IDE或VSCode + PlatformIO

在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:

ESP8266 NodeMCU的引脚介绍在前面的文章中做了详细的介绍,请参考:

4、代码实现

本次使用的TM1637的驱动库如下:

1)导入依赖库头文件

1
2
3
4
5
6
7
8
9
10
#include <TM1637Display.h>

const int CLK = D6; // CLK引脚
const int DIO = D5; // DIO引脚

int numCounter = 0;

// 创建设备
TM1637Display display(CLK, DIO);

2)设备初始化

1
2
3
4
5
void setup()
{
display.setBrightness(0x0a); // 设置亮度
}

3)数据显示

1
2
3
4
5
6
7
8
9
void loop()
{
for(numCounter = 0; numCounter < 1000; numCounter++) //Iterate numCounter
{
display.showNumberDec(numCounter); // 显示数字
delay(1000);
}
}

文章来源: https://iotsmart.blog.csdn.net/article/details/126175469