const int buttonPin = 4; // 假设按钮连接到数字引脚4
const int led1 = 5; // 假设按钮连接到数字引脚4
const int led2 = 6; // 假设按钮连接到数字引脚4
unsigned long startTime = 0; //定义起始时间
unsigned long lastButtonPressTime = 0;
int time=10;//倒计时时间,初始为10
void setup() {
// put your setup code here, to run once:
pinMode(buttonPin, INPUT_PULLUP); // 设置按钮引脚为输入并启用内部上拉电阻
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
if (digitalRead(buttonPin)==LOW){
delay(500);//按键消抖时间,一定要消抖,不然会误触,消抖时间需实际调试
startTime=millis();
while(millis()-startTime <=3000)
{
delay(100);
digitalWrite(led1, HIGH);
Serial.println(time);
if(digitalRead(buttonPin)==LOW)
{
digitalWrite(led2, HIGH);
time+=10;
if(time>60){
time=10;
}
Serial.println(time);//屏幕时间显示
startTime=millis();//将开始时间重置为最新按下按键的时候。
continue;
}
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
}
Serial.println("烘干函数");
daojishi(time);
Serial.println("停止函数");
}
}
void daojishi(int x){
for(x;x>0;x--){
Serial.println(x);
delay(1000);
}
}