Info
此问题已关闭。 请重新打开它进行编辑或回答。
I'm attempting to get something to perform only for a certain amount of time. Is there a function for this?
1 次查看(过去 30 天)
显示 更早的评论
I'm trying to get part of my program to execute for only half a second. I have the following code..
case 'backward'
display('Going Backwards')
Portarduino.analogWrite(rspeed,50);
Portarduino.analogWrite(lspeed,50);
Portarduino.digitalWrite(rdir,1);
Portarduino.digitalWrite(ldir,1);
pause(0.00001)
robotstatus='mainloop'
And I only want this to perform for .5 seconds. Can someone give me some guidance? Thank you!
2 个评论
Ced
2016-4-16
Have you tried using tic and toc? I don't have the hardware, so I can't check, but I could image that something like this might work:
% --> Get command to drive backwards for 5 seconds
display('Going Backwards')
tic
while ( toc < 5 )
Portarduino.analogWrite(rspeed,50);
Portarduino.analogWrite(lspeed,50);
Portarduino.digitalWrite(rdir,1);
Portarduino.digitalWrite(ldir,1);
pause(0.00001)
robotstatus='mainloop'
end
PS: What is the sampling rate of your Arduino? 0.00001 seems unnecessarily fast to me.
回答(0 个)
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!