arduino TM1637时钟模块,用按钮调节时间大小的程序
时间: 2024-03-16 08:43:25 浏览: 20
下面是一个简单的 Arduino 程序,可以使用按钮来调节 TM1637 时钟模块的时间大小。假设你已经将 TM1637 连接到了 Arduino 上,并且已经安装了 TM1637 库。
```
#include <TM1637.h>
#define CLK 2
#define DIO 3
#define BUTTON_PIN 4
TM1637 tm1637(CLK, DIO);
int hours = 0;
int minutes = 0;
bool buttonPressed = false;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;
void setup() {
tm1637.setBrightness(7);
pinMode(BUTTON_PIN, INPUT_PULLUP);
}
void loop() {
// 读取按钮状态,去抖动
int buttonState = digitalRead(BUTTON_PIN);
if (buttonState == LOW && !buttonPressed) {
buttonPressed = true;
lastDebounceTime = millis();
if (hours < 23) {
hours++;
} else {
hours = 0;
}
}
if (buttonPressed && (millis() - lastDebounceTime) > debounceDelay) {
buttonPressed = false;
}
// 更新时钟显示
tm1637.display(0, hours / 10);
tm1637.display(1, hours % 10);
tm1637.display(2, minutes / 10);
tm1637.display(3, minutes % 10);
// 更新时间
unsigned long currentMillis = millis();
if (currentMillis - lastMillis > 60000) {
lastMillis = currentMillis;
if (minutes < 59) {
minutes++;
} else {
minutes = 0;
if (hours < 23) {
hours++;
} else {
hours = 0;
}
}
}
}
```
这个程序会在数码管上显示时间,并且可以通过按钮来调节小时数。你可以根据自己的需要修改程序中的变量和常量。