MATLAB Answers

0

How can I run matlab connected to arduino more than once?

Asked by hamzah alamoodi on 20 Dec 2015
Latest activity Commented on by Hakki Eren Uzunyayla on 17 Jun 2019
I have a problem with connecting my arduino uno to matlab.. It actually runs perfectly for the first time but when I run it again it says this (Failed to open serial port COM4 to communicate with Arduino board Uno. Make sure there is no other MATLAB arduino object for this board. For troubleshooting, see Arduino Hardware Troubleshooting.
.. I'm using this command to connect: a = arduino('com4','uno') ..
If anyone can help here I would appreciate it ...

  2 Comments

You have to delete the object which you have created. For example, if you have this object arduino_board = arduino(port, board, 'Libraries', 'Servo'); then you have to delete this object in the end of the code, i.e. clear arduino_board; all the objects which you have created like this should be cleared.
And how can you clear e.g. arduino_board ???

Sign in to comment.

3 Answers

Answer by Esther
on 21 Dec 2015
 Accepted Answer

Are you running the connect command
a = arduino('com4','uno')
a second time while object 'a' still exists in the workspace? You only need to connect once.

  4 Comments

Show 1 older comment
As mentioned by Esther you need to connect only once. When you do a = arduino and it works, a is now your connection to arduino and you can use that variable repeatedly to do other things. When using in a GUI try to make it a global variable of some sorts so that you don't have to create a new connection every time.
Yea global a was the mistake .. thanks

Sign in to comment.


Answer by Sadi Mohammad Rifat on 18 Jun 2017

All you have to write a command "clear all" on the first line of your code . That's it.

  1 Comment

it worked on me. Thank you ver much

Sign in to comment.


Answer by Sumit Banerjee on 10 May 2016

You have to delete the object which you have created. For example, if you have this object arduino_board = arduino(port, board, 'Libraries', 'Servo'); then you have to delete this object in the end of the code, i.e. clear arduino_board; all the objects which you have created like this should be cleared.

  0 Comments

Sign in to comment.