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

28 views (last 30 days)
Nazanin Fazelnia
Nazanin Fazelnia on 12 Dec 2018
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.

Answers (2)

madhan ravi
madhan ravi on 12 Dec 2018
Nazanin Fazelnia
Nazanin Fazelnia on 14 Dec 2018
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.

Sign in to comment.

Madhu Govindarajan
Madhu Govindarajan on 13 Dec 2018
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 -
Madhu Govindarajan
Madhu Govindarajan on 14 Dec 2018
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.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by