MATLAB Answers

Defining time on Ev3 Robot in matlab

6 views (last 30 days)
Julian Høstan Urrea
Julian Høstan Urrea on 5 Nov 2018
Answered: Sebastian Castro on 7 Nov 2018
Hi
Im using Matlab to make an Lego Ev3 unit, with help of a light sensor,go forward until the light value changes. After the value changes i want the Ev3 to go backwards during 2 sec. Ive managed to make it stop and go back, but im at a loss how to make it go back during this 2 seconds of time before turning and continuing.
this is my code so far:
if Lys (k) > 10
PowerB (k) = 20;
Powerc (k) = 20;
else Lys (k) >1
PowerB (k) = -20;
PowerC (k) = -20;
light values are from my livingroom table.

Answers (1)

Sebastian Castro
Sebastian Castro on 7 Nov 2018
If you're using the MATLAB - LEGO interface, then you're not really deploying any code, right? If so, then I would recommend using the tic and toc functions.
Your code would look something like
tic;
while (toc < 2)
% Do stuff
% Optionally, pause if you don't want to spam as fast as possible
pause(0.1)
end
If you have Robotics System Toolbox, you can get more advanced with the sample rates using Robotics.Rate.
r = robotics.Rate(10); % 10 Hz
while (r.TotalElapsedTime < 2)
% Do stuff
waitfor(r);
end
- Sebastian

Community Treasure Hunt

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

Start Hunting!