lamp on off in app designer

77 次查看(过去 30 天)
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

采纳的回答

Kojiro Saito
Kojiro Saito 2020-3-3
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Instrument Control Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by