lamp on off in app designer

77 views (last 30 days)
Saad Oussaada
Saad Oussaada on 2 Mar 2020
Commented: Saad Oussaada on 3 Mar 2020
hi everyone !! I need a help
I had writen a program in App designer that can turn on or off a lamp with arduino , the probleme is it runs for one time , I want to add a loop but it doesn't work
someone can help me please
this is the program
a = arduino('com8','uno');
b = readDigitalPin(a,'D3');
if b == 1
app.Lamp.Enable = 'on';
else
app.Lamp.Enable = 'off';
end

Accepted Answer

Kojiro Saito
Kojiro Saito on 3 Mar 2020
In order to run iteratively, you need to call readDigitalPin in while loop or for loop.
If you want to run specified times, for example, 100 times with an interval of 1 second, add the following in startUpFcn callback.
a = arduino('com8','uno');
iter = 0;
while iter < 100
b = readDigitalPin(a,'D3');
if b == 1
app.Lamp.Enable = 'on';
else
app.Lamp.Enable = 'off';
end
iter = iter + 1;
pause(1);
end
Alternatively, you can use timer class.
If you want to run forever, you can use while loop in startUpFcn callback.
a = arduino('com8','uno');
while true
b = readDigitalPin(a,'D3');
if b == 1
app.Lamp.Enable = 'on';
else
app.Lamp.Enable = 'off';
end
pause(1);
end
You can stop the iteration by Ctrl+C.

More Answers (0)

Categories

Find more on Instrument Control Toolbox in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!