How to use Arduino code written in Arduino IDE file in MATLAB? How does it work?

194 views (last 30 days)
Greetings. I came across with this project:
In the link, two files were provided: one for matlab, one for arduino. The programmers used the centroid extracted from the face detected and tracked in matlab, and sent the coordinates to arduino to control the servos.
My question is: 1. How does the fopen(arduino) work? How does matlab know which arduino code file to access?

Answers (2)

Ameer Hamza
Ameer Hamza on 20 May 2018
MATLAB does not need to know which Arduino sketch file you are using. Here is the procedure of what you need to do.
  1. You will first program your Arduino board, with the given code, using Arduino IDE. Download the Arduino code, open the Arduino IDE and create a new file and paste the downloaded code in the new file. Upload the program to the Arduino board.
  2. Note the port number for Arduino board from the Arduino IDE. Go to Tools menu > Port and note the port number such as COMx.
  3. After uploading the code, keep the Arduino connected using USB cable and open MATLAB.
  4. In the MATLAB code change the line
arduino=serial('COM6','BaudRate',9600);
and change COM6 to COMx you noted from MATLAB.
Now when you run the MATLAB code, it will communicate with the Arduino.
  2 Comments
amin ya
amin ya on 19 May 2019
So in this workflow it is possible to program Arduino hybridly? Both coding in native IDE and MATLAB?

Sign in to comment.


Eugenio Anselmino
Eugenio Anselmino on 1 Sep 2020
I don't think is possible to write hybrid code, you have two solution in my opinion:
1) write everything in matlab: performances arent great, but you can comunicate with the board very easily and in real time.
2) write everything in arduino and comunicate to the board through the COM port as shown by Ameer: it's faster, but less easy to do.
  2 Comments
Ngcebo Shezi
Ngcebo Shezi on 14 Sep 2022
how do i convert the arduino code from arduino ide to matlab is that possible. my problem is that i dont know how to code using matlab
Rodrigo Oliveira
Rodrigo Oliveira on 21 Oct 2022
Edited: Rodrigo Oliveira on 21 Oct 2022
There is a somewhat simple solution: use command lines executed from MATLAB. By using Arduino CLI you can execute the files you made with Arduino IDE just from the terminal itself. Now, using MATLAB function "system" you can execute commands like so:
sytem('cd Documents/MyArduinoDir')
Executing the command: system('arduino-cli upload yourfile.ino') executes the code you built. MATLAB is free to continue down its commands on the .m script while the 'yourfile.ino' is still running.

Sign in to comment.

Categories

Find more on Arduino Hardware in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!