czh007007 发表于 2013-8-20 01:12:28

有没有能控制舵机速度且不用DELAY的函数呢

我想在舵机平滑地转到一个角度的同时也能运行其它电动机。
在网上找到控制舵机速度的程序里面都用了DELAY,但是用了DELAY的话不就不能同时运行其他程序了么?
真心求教,老师这个星期五就要检查了。关键她只要效果,不看过程。而且她还不懂程序{:soso_e109:}

chenshien 发表于 2013-8-20 09:44:24

用定时器就行

天下无双 发表于 2013-8-20 09:54:54

定时器中断都行

czh007007 发表于 2013-8-20 18:16:08

chenshien 发表于 2013-8-20 09:44 static/image/common/back.gif
用定时器就行

我能厚着脸皮求一下具体例子么?
我给舵机写的很简单,就是使用库,然后就像下面这样子:
for(i = 0;i < 100 ; i++)
{
   s1.write(i);
   delay(50);
}

czh007007 发表于 2013-8-20 18:16:50

天下无双 发表于 2013-8-20 09:54 static/image/common/back.gif
定时器中断都行

这个定时中断也能用在FOR LOOP里面吗?

hp198969 发表于 2013-8-20 18:50:23

你把其他程序当成delay放在那儿就行了呗

隨風大俠 发表于 2014-2-7 20:02:34

利用millis()設定想要讓旋轉的時間,大概如下:

float dt, lastTime, runTime;
void setup()
{

}
void loop()
{
float time = millis()
dt=(time-lastTime) / 1000;
if(runTime<0.05)
{
s1.write(i);
runTime=runTime+dt;
}
else
{
runTime=0;
}
lastTime=dt;
}

czh007007 发表于 2014-2-7 21:53:44

隨風大俠 发表于 2014-2-7 20:02 static/image/common/back.gif
利用millis()設定想要讓旋轉的時間,大概如下:

float dt, lastTime, runTime;


好吧,谢谢了~现在已经不需要这个了,不过还是很感谢~

xuliya282 发表于 2014-2-8 13:11:27

为什么不用输出位置反馈呢,题目是角度控制,不是时间控制。
页: [1]
查看完整版本: 有没有能控制舵机速度且不用DELAY的函数呢