数码管累加器 前面三位数显示太浅
照着例子做,能做到按一下按键数码管加一。可是我加上舵机后就只有个位数字显示较清楚----------十位、百位、千位数字只是很快的闪一下,几乎看不到。查了几天,好象是舵机的delay函数影响了显示效果。却没找到替代的办法。
请求大神指点。 补程式
void loop() {
/*
for(pos = 150; pos > 60; pos -= 2)//从150度到60度运动,每次步进2度
{
myservoA.write(pos); //指定舵机转向的角度
delay(15); //等待15ms让舵机到达指定位置
}
for(pos = 60 ; pos<=150; pos+=2) //从60度到150度运动
{
myservoA.write(pos); //指定舵机转向的角度
delay(15); //等待15ms让舵机到达指定位置
}
*/
delay(1000);
SUM++; //SUM加一
if(SUM>9999) { SUM = 9999;} //最大值9999,不再累加
Display(1,SUM/1000); //显示SUM千位值
delay(3);
Display(2,SUM%1000/100);//显示SUM百位值
delay(3);
Display(3,SUM%100/10);//显示SUM十位值
delay(3);
Display(4,SUM%10); //显示SUM个位值
delay(3);
} leisd 发表于 2018-10-22 17:55
补程式
void loop() {
/*
如果是我的話,會試著將顯示的部份分成幾段,
然後穿插在舵機的作動指令中,取代掉 delay(15),
可以充份利用時間進行顯示 & 給舵機等待時間
至於要如何分段、會不會造成其他影響,要試了才知道 :D shouzama 发表于 2018-11-6 22:10
如果是我的話,會試著將顯示的部份分成幾段,
然後穿插在舵機的作動指令中,取代掉 delay(15),
可以充份利 ...
感谢!
这个想法不错,晚些试试。
这次我改用LCD1602作计数显示了------改前改后花了近三个星期,还是有点成就感的
页:
[1]