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?
    1 visualizzazione (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
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
      
 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.
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

