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
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.
Jaime Juarez
Jaime Juarez 2016년 4월 21일
This happened to work once I made the pause, slower. Thank you so much!

답변 (0개)

이 질문은 마감되었습니다.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by