怎样控制电机的运动?
我已经有了前进、后退、停止的子函数了,怎样用arduino控制电机的前进几秒、后退几秒、停止,关键是停止,动起来容易,但好像停不下来{:soso_e115:} 。。求助大神解析!!另外millis()函数怎么用啊?是从启动程序就开始计时,还是程序运行到这一行才开始计时?我上面这个问题可以用millis()解决吗?困惑了我好几天了,求解!!!谢谢....... 补充下:我是看了《爱上Arduino》第2版这本书p55-56,于是想到了能不能用millis()..大概想法就是如果读取的数据过了多少毫秒仍然没变,就执行相应的语句。 millis()函数是上电就开始计时的。
你的问题通过delay来实现吧,例如前进两秒,则先调用前进子程序,然后delay延时2秒钟,最后调用停止子程序,让电机停止旋转。 nust_奔跑 发表于 2014-6-8 10:41 static/image/common/back.gif
millis()函数是上电就开始计时的。
你的问题通过delay来实现吧,例如前进两秒,则先调用前进子程序,然后d ...
我是有个if条件,我把直滑式电阻器分成3部分,0~341,341~682,682~1023.如果读取的数据小于341,就执行前进一段时间t,后退两秒,前进两秒,再后退一段时间t,最后停止。它是能够完成上述的动作,但停止没用,注意到没?它一直在循环这几个动作,但我只要一次这样的动作。。
if(val< 341){
t=0.0088*(341-val);//时间单位为S,所以下面delay()里面的时间乘了1000
qianjin();
delay(t*1000+1000);
houtui();
delay(1000);
qianjin();
delay(1000);
houtui();
delay(t*1000+1000);
if(millis()-startTime<=5000)
tingzhi();
} 一段程序。。。希望大神解析,改正 因為 if(millis()-startTime<=5000)不會為真
所以不會執行 tingzhi();
把5000改成50000試試 楼上正解:):):):):):):):):)
页:
[1]