极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1134|回复: 3

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

[复制链接]
发表于 2018-10-22 17:49:22 | 显示全部楼层 |阅读模式
   照着例子做,能做到按一下按键数码管加一。可是我加上舵机后就只有个位数字显示较清楚----------十位、百位、千位数字只是很快的闪一下,几乎看不到。
   查了几天,好象是舵机的delay函数影响了显示效果。却没找到替代的办法。

  请求大神指点。
回复

使用道具 举报

 楼主| 发表于 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);
}
回复 支持 反对

使用道具 举报

发表于 2018-11-6 22:10:21 | 显示全部楼层
leisd 发表于 2018-10-22 17:55
补程式
void loop() {
  /*

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

至於要如何分段、會不會造成其他影響,要試了才知道
回复 支持 反对

使用道具 举报

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

感谢!
这个想法不错,晚些试试。
这次我改用LCD1602作计数显示了------改前改后花了近三个星期,还是有点成就感的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2019-5-21 15:29 , Processed in 0.044793 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表