leisd 发表于 2018-10-22 17:49:22

数码管累加器 前面三位数显示太浅

   照着例子做,能做到按一下按键数码管加一。可是我加上舵机后就只有个位数字显示较清楚----------十位、百位、千位数字只是很快的闪一下,几乎看不到。
   查了几天,好象是舵机的delay函数影响了显示效果。却没找到替代的办法。

请求大神指点。

leisd 发表于 2018-10-22 17:55:35

补程式
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);
}

shouzama 发表于 2018-11-6 22:10:21

leisd 发表于 2018-10-22 17:55
补程式
void loop() {
/*


如果是我的話,會試著將顯示的部份分成幾段,
然後穿插在舵機的作動指令中,取代掉 delay(15),
可以充份利用時間進行顯示 & 給舵機等待時間

至於要如何分段、會不會造成其他影響,要試了才知道 :D

leisd 发表于 2018-11-7 08:30:16

shouzama 发表于 2018-11-6 22:10
如果是我的話,會試著將顯示的部份分成幾段,
然後穿插在舵機的作動指令中,取代掉 delay(15),
可以充份利 ...

感谢!
这个想法不错,晚些试试。
这次我改用LCD1602作计数显示了------改前改后花了近三个星期,还是有点成就感的
页: [1]
查看完整版本: 数码管累加器 前面三位数显示太浅