#include <TM1637.h>

#define CLK 2   // 数码管CLK引脚连接到Arduino数字引脚2
#define DIO 3   // 数码管DIO引脚连接到Arduino数字引脚3

int count = 0;      // 记录开机次数
boolean resetFlag = false;   // 复位标志

// 初始化数码管对象
TM1637 tm(CLK, DIO);

void setup() {
  Serial.begin(9600);
  tm.init();
  tm.setBrightness(7);  // 设置亮度(0-7)
}

void loop() {
  // 每100毫秒刷新一次数码管显示
  tm.display(count);

  // 如果检测到复位键按下,则增加计数器并设置复位标志
  if (digitalRead(4) == LOW && !resetFlag) {
    count++;
    resetFlag = true;
    delay(10);
  }
  
  // 如果复位键释放,则清除复位标志
  if (digitalRead(4) == HIGH && resetFlag) {
    resetFlag = false;
  }

  delay(100);
}
4-Digit Display