Question: I am working in MATLAB and need my code to perform the task that when DigitalPin2 is pressed (a button) it will turn on two
I am working in MATLAB and need my code to perform the task that when DigitalPin2 is pressed (a button) it will turn on two green LEDs and one red LED then after 120 seconds if another button is pressed (DigitalPin7) the same LEDs will remain lit for an additional 10 seconds. I am having problems with MATLAB not reading two buttons at once and not being able to "unpress" or turnoff a button once pushed. The following is my current code. Thanks
a = arduino; while 1==1 DigitalPin2 = readDigitalPin (a, 'D2'); DigitalPin3 = readDigitalPin (a, 'D3'); DigitalPin7 = readDigitalPin (a, 'D7'); if DigitalPin2 == 1 for i=1:10000000000000000 %writeDigitalPin(a, 'D7', 0); writeDigitalPin(a, 'D13', 0); writeDigitalPin(a, 'D5', 1); writeDigitalPin(a, 'D11', 1); writeDigitalPin(a, 'D10', 1); pause (120); if DigitalPin7 == 1 writeDigitalPin(a, 'D13', 0); writeDigitalPin(a, 'D5', 1); writeDigitalPin(a, 'D11', 1); writeDigitalPin(a, 'D10', 1); pause (10); else writeDigitalPin(a, 'D11', 0); writeDigitalPin(a, 'D5', 0); writeDigitalPin(a, 'D10', 1); writeDigitalPin(a, 'D12', 1); writeDigitalPin(a, 'D6', 1); pause (10); writeDigitalPin(a, 'D6', 0); writeDigitalPin(a, 'D12', 0); writeDigitalPin(a, 'D10', 1); writeDigitalPin(a, 'D13', 1); %writeDigitalPin(a, 'D7', 1); pause(5); writeDigitalPin(a, 'D10', 0); writeDigitalPin(a, 'D8', 1); writeDigitalPin(a, 'D13', 1); %writeDigitalPin(a, 'D7', 1); pause(60); writeDigitalPin(a, 'D8', 0); writeDigitalPin(a, 'D9', 1); writeDigitalPin(a, 'D13', 1); %writeDigitalPin(a, 'D7', 1); pause(10); writeDigitalPin(a, 'D9', 0); writeDigitalPin(a, 'D10', 1); writeDigitalPin(a, 'D13', 1); %writeDigitalPin(a, 'D7', 1); pause(5); end end elseif DigitalPin3 == 1 for i=1:10000000000000000 %writeDigitalPin(a, 'D7', 0); writeDigitalPin(a, 'D13', 0); writeDigitalPin(a, 'D5', 1); writeDigitalPin(a, 'D11', 1); writeDigitalPin(a, 'D10', 1); pause (240); writeDigitalPin(a, 'D11', 0); writeDigitalPin(a, 'D5', 0); writeDigitalPin(a, 'D10', 1); writeDigitalPin(a, 'D12', 1); writeDigitalPin(a, 'D6', 1); pause (10); writeDigitalPin(a, 'D6', 0); writeDigitalPin(a, 'D12', 0); writeDigitalPin(a, 'D10', 1); writeDigitalPin(a, 'D13', 1); %writeDigitalPin(a, 'D7', 1); pause(5); writeDigitalPin(a, 'D10', 0); writeDigitalPin(a, 'D8', 1); writeDigitalPin(a, 'D13', 1); %writeDigitalPin(a, 'D7', 1); pause(60); writeDigitalPin(a, 'D8', 0); writeDigitalPin(a, 'D9', 1); writeDigitalPin(a, 'D13', 1); %writeDigitalPin(a, 'D7', 1); pause(10); writeDigitalPin(a, 'D9', 0); writeDigitalPin(a, 'D10', 1); writeDigitalPin(a, 'D13', 1); %writeDigitalPin(a, 'D7', 1); pause(5); end else (DigitalPin3 & DigitalPin2) == 0 writeDigitalPin(a, 'D5', 0); writeDigitalPin(a, 'D6', 0); %writeDigitalPin(a, 'D7', 0); writeDigitalPin(a, 'D8', 0); writeDigitalPin(a, 'D9', 0); writeDigitalPin(a, 'D10', 0); writeDigitalPin(a, 'D11', 0); writeDigitalPin(a, 'D12', 0); writeDigitalPin(a, 'D13', 0);
end end
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
