How to on/off a variable after 3 seconds interval
Show older comments
I have a small project with Raspberry pi.
I would like to turn the on/off the LED after every 3 seconds. if the time is 90 seconds then the simulation would stop.
Note: I would like to program it in Matlab first, then I will convert it into C++ which is suitable for Raspberry pi.
I am not sure about this below written systax. I can not count the 90 seconds. should I use a timer? Should I use Stateflow or Matlab scripts?
led1=0; % initially the LED is off
aa=repmat(3,1,30); % I dont know how to initilize this 3 seconds
% aa=3:3:90
for i=aa
pause(i) % wait for 3 seconds
led1=1; % after 3 seconds LED is On
pause(i) % wait for 3 seconds
led1=0; % then after 3 seconds LED is Off
% continue this process upto 90 seconds.
end
Accepted Answer
More Answers (2)
led1=0;
aa=3;
tic
T = toc
while T<=90
pause(3);
led1=1;
pause(3);
led1=0; toc;
T = toc;
end
%disp("The time lapsed is"+toc)
You can modify as above
4 Comments
Yes, it is possible to store the results of led1 inside loop as
i = 1;
while T<=90
pause(3)
led1 = 1;
L(i) = led1;
pause(3)
led1 = 0
L(i+1) = led1;
i = i+2;T = toc;
end
Ismat
on 3 Mar 2023
Below is the modified code, which works according to the output you need
clear all % very important to run this line, otherwise displays incorrect results
led1 = 0;
aa=3;
tic
T = toc;
i = 1;
while T<90
pause(3)
led1 = 1;
T = floor(toc);
disp("The time lapsed is " + T + "seconds")
L(i) = led1;
disp("The timer ON/OFF sequence is ")
L
pause(3)
led1 = 0;
T = floor(toc);
disp("The time lapsed is " + T + "seconds")
L(i+1) = led1;
disp("The timer ON/OFF sequence is ")
L
i = i+2;
T = floor(toc);
end
>> The time lapsed is 3seconds
The timer ON/OFF sequence is
L =
1
The time lapsed is 6seconds
The timer ON/OFF sequence is
L =
1 0
The time lapsed is 9seconds
The timer ON/OFF sequence is
L =
1 0 1
The time lapsed is 12seconds
The timer ON/OFF sequence is
L =
1 0 1 0
Prasanth Sunkara
on 10 Mar 2023
Edited: Prasanth Sunkara
on 10 Mar 2023
0 votes
Hi Ismat,
Simulink is an ideal platform for your project. Simulink offers time based simulations and you can generate C/C++ code easily from the model and deploy it to Raspberry Pi. Please feel free to check out the Simulink Support package for Raspberry Pi Hardware.
Also check out this basic LED example. You can chage the pulse duration and duty cycle to meet your use case. https://mathworks.com/help/supportpkg/raspberrypi/ref/getting-started-with-raspberry-pi-hardware.html
Thanks,
-Prasanth
Categories
Find more on Multicore Processor Targets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!