Info
La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.
I'm attempting to get something to perform only for a certain amount of time. Is there a function for this?
    1 visualización (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
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 comentarios
  Ced
      
 el 16 de Abr. de 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.
Respuestas (0)
La pregunta está cerrada.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

