Arduino uno R3,使用LCD进行10秒倒计时



我正在制作一个简单的程序,使用if-else循环在液晶显示器16x2屏幕上显示10秒。这是一个红绿灯,所以当它亮起绿色LED时,我想显示10秒,然后继续循环。我的问题是每秒钟倒计时一次,然后开始循环。我的意思是,最初的数字是10,然后循环开始,然后它变成9,然后这个循环开始,所以这里的问题是,它不是从10变成0,而是每秒钟下降一次,每秒钟后就会有一个新的循环。

enter code here lcd.setCursor(1,0);
lcd.setCursor(6,1);
lcd.setCursor(9,1);
S--;
if(S<0){
S=10;
}
if(S>10){
lcd.setCursor(10,1);
lcd.print(S);
}
else {
lcd.setCursor(10,1);
lcd.print(" ");
lcd.setCursor(11,1);
lcd.print(S);
lcd.setCursor(13,1);
lcd.print(" ");
}

这个问题并不完美。

但这里有一个很好的例子:

lcd.clear();
lcd.setCursor(0,0);
lcd.print("Time:");
//lamp green
for (int i=10;i>0;i--){
lcd.setCursor(6,0);
if (i==9){ //Time: 10, Time: 90 <<this printed without if. Or use a space after i value
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Time:");
}
lcd.print(i);
delay(1000);
}
//lamp red
for (int i=10;i>0;i--){
lcd.setCursor(6,0);
if (i==9){ //Time: 10, Time: 90 <<this printed without if. Or use a space after i value
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Time:");
}
lcd.print(i);
delay(1000);
}
//lamp green

在循环中复制此代码,然后修改为使用。

祝你好运!

最新更新