How can matlab understand that the external button is pressed or not?

Hi,
I want to rotate the servo motor using Arduino Uno, Matlab 2017b and with an external push button. So it's a matter of servo control with Arduino through Matlab. What I have written is attached. It doesn't have any bugs but I cannot reach the desired result, it prints just "The button is not pressed".
The logic of my code is that at first the button is not pressed and then when it is pressed some counter is responsible for next ifs. When the button is pressed for the first time, the counter will be equal to 1 and shaft must rotate according to the code. After that, we have unpressed button and again Button ==0. After pressing again, the value of counter will be 2 and the next tasks. But it doesn't work.
What is wrong with this code?
Thank you in advance.

Antworten (2)

madhan ravi
madhan ravi am 12 Dez. 2018

0 Stimmen

6 Kommentare

Thank you, but I need the matlab code, not in Arduino!
It's my first experience, so please explain more.
buttonState = digitalRead(buttonPin);
if (buttonState ~= prevButtonState && buttonState == LOW)
Serial.println("ON");
prevButtonState = buttonState;
end
Yeah I have seen it, but it's in Arduino:(
Do you have arduino support hardware package?
Yeah I have.
You mean I have to write these commands in Arduino and then run my code? Does Matlab understand through this way or should I write there also something?
Thank you.
And also I realized that Matlab and Arduino code cannot use the board simultaneously; when it is active in Matlab code, then I have this error in Arduino that it has problem uploading to the board. So how can it be possible to send a message to Matlab?
Thank you.

Melden Sie sich an, um zu kommentieren.

Madhu Govindarajan
Madhu Govindarajan am 13 Dez. 2018

0 Stimmen

You will have to do this in while loop instead of if else. For an example see this video and if that is what you need the link to download the code is on the same page - https://www.mathworks.com/videos/plotting-live-data-of-a-temperature-sensor-using-arduino-and-matlab-121317.html

2 Kommentare

How is it related to what I want?
Thank you.
It shows how to read a push button data and stop a while loop based on that. Inside that while loop you can do your servo control instead of the read analog values that the video shows.
Please peruse the links that community members provide and ask clarifying questions as they do this on their spare time.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu MATLAB Support Package for Arduino Hardware finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 12 Dez. 2018

Community Treasure Hunt

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

Start Hunting!

Translated by