lamp on off in app designer

69 visualizzazioni (ultimi 30 giorni)
Saad Oussaada
Saad Oussaada il 2 Mar 2020
Commentato: Saad Oussaada il 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

Risposta accettata

Kojiro Saito
Kojiro Saito il 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.

Più risposte (0)

Categorie

Scopri di più su Instrument Control Toolbox in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by