Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

I'm attempting to get something to perform only for a certain amount of time. Is there a function for this?

2 visualizzazioni (ultimi 30 giorni)
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 Commenti
Ced
Ced il 16 Apr 2016
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.

Risposte (0)

Questa domanda è chiusa.

Community Treasure Hunt

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

Start Hunting!

Translated by