Arduino I/O-Matlab Basic Tutorial

116,359

61

20

Introduction: Arduino I/O-Matlab Basic Tutorial

About: the simpler, the better!!

this is my very first instructables and I was referred by an old member. Follow her link here: (https://www.instructables.com/member/Analogue-Chick/

Its a simple illustration on how we can connect Arduino to Matlab and actually control and get information on Arduino
using Matlab

I have seen few tutorials regarding how to control or get data from Arduino using Matlab. Matlab is a very powerful tool for student and engineers a like. That's why i want to create this tutorial as a start for those, like me want to explore the 2 powerful tools in engineering and techs.

It's a rough start for me since this is my first post in instructables.... feel free to comment so i can improve it thanks!

here's the vid for the demo:
http://youtu.be/R50R5ZK_URE

Step 1: Step 1: Things You Need to Know

In this tutorial you need to know the following:
1. Matlab and creating M-file and GUI (there are tons of tutorials online)
        http://www.youtube.com/watch?v=D_hmws6dwgg
        http://www.youtube.com/watch?v=TIqa98quARE
        http://www.youtube.com/watch?v=qAGiAq6HhYQ
2. Arduino and Arduino programming
        http://arduino.cc/en/Guide/HomePage
3. Arduino Support with Matlab
        http://www.mathworks.com/academia/arduino-software/arduino-matlab.html
        tutorials from Giampiero Campa
        http://www.mathworks.com/matlabcentral/fileexchange/27843-arduino-io-package-slides-and-examples

Step 2: Step 2: Things You Need (materials)

1. PC with Matlab installed and the ArduinoIO package from MathWorks
2. Arduino
3. USB cable for the Arduino
4. LED
5. Photodiode (Photoresistor as an alternative)
6. Resistors

Step 3: Step 3: the Dreaded Process

For the Arduino:
1. Connect the circuit.
2. Connect your Arduino to your PC.
3. From the ArduinoIO (http://www.mathworks.com/academia/arduino-software/arduino-matlab.html)
     upload the adiosrv.pde to your arduino. Now your arduino will be the server that will accepting commands
     comming from Matlab.
For the Matlab
3. Run your Matlab as an administrator.
4. From the command window in Matlab type "install_arduino" (make sure that the active directory is in your ArduinoIO folder)
For this tutorial my idea is to make a manual and automatic lighting of an LED
5. Create an M-File in Matlab (or download below my GUI program). Make sure you have the right COM port of your Arduino)
     (the yes.m.txt is the program source code, the yes.fig.txt is the GUI just remove the txt extension)
6. Run the program. Enjoy!

Be the First to Share

    Recommendations

    • Battery Powered Contest

      Battery Powered Contest
    • Plywood Challenge

      Plywood Challenge
    • Plastic Contest

      Plastic Contest

    20 Discussions

    0
    YazminB
    YazminB

    5 years ago

    I am trying download the code but I don´t can. please you can help me?

    0
    fansblink
    fansblink

    5 years ago on Introduction

    Very good tutorial, but I've tried many times, always just an error message like this below, can you help me? please

    Error in gui_mainfcn (line 95)
    feval (varargin {:});

    Error in yes (line 16)
    gui_mainfcn (gui_State, varargin {:});

    Error in @ (hObject, eventdata) yes ('pbOn_Callback', hObject, eventdata, guidata (hObject))

    0
    DevendraD
    DevendraD

    5 years ago on Introduction

    How can I connect BCILAB 1.1 output from MATLAB 2013b to arduino and then using it cntrolling servomotor? The picture depicted is dynamic graphical output of MATLAB .I want to use it control the servo motor.

    bci .jpgbci 2.jpg
    0
    jaykhade2233
    jaykhade2233

    5 years ago on Introduction

    how can we use serial commands in matlab to transmit data from tx and rx pin of arduino?

    0
    rmagtibay
    rmagtibay

    Reply 5 years ago on Introduction

    1. try to get the com port of your arduino

    2. access the communication by accessing >>a = serial('COM1') -->> this is an example

    3. then to open the communication >>fopen(a)

    to access data (receive data) from the arduino >>fscanf(a)

    4. to send data (transmit data) to the arduino >> fprintf(a,'your value here')

    0
    rmagtibay
    rmagtibay

    6 years ago on Introduction

    Hi, sorry for may late reply. you can download the codes here. the codes are:

    yes.fig.txt

    yes.m.txt

    just change the filename and remove the .txt extenstion

    0
    jorge alejandrol
    jorge alejandrol

    6 years ago

    Can you pass me the code please? my email is alejandro.leon1894@gmail.com

    0
    ahluoxiao2010
    ahluoxiao2010

    6 years ago

    Good!where is the code ?

    0
    rmagtibay
    rmagtibay

    Reply 6 years ago on Introduction

    the yes.m.txt and yes.fig.tx if the file. download it and change the filename to:

    yes.m

    yes.fig

    put it on documents\matlab folder

    0
    MxJo.Teran
    MxJo.Teran

    Reply 6 years ago

    great! can you borrow me the program code please?

    0
    rmagtibay
    rmagtibay

    6 years ago on Introduction

    try to change the txt file that you download here

    0
    Alan Souza
    Alan Souza

    Reply 6 years ago on Introduction

    Thanks bro!

    in my project i've building a Matlab GUI plotting real time data from arduino. But when I try to read two or more analog ports at the same time theres a error messege about the COM port. Do you know how I fix it?

    0
    rmagtibay
    rmagtibay

    Reply 6 years ago on Introduction

    can you send the codes ill try to look at it. thanks!

    0
    Alan Souza
    Alan Souza

    Reply 6 years ago on Introduction

    Send me your email for I send you the codes. Thank you

    0
    Alan Souza
    Alan Souza

    6 years ago

    Great Job!!

    I'm making a project that i'm using the arduino and matlab.

    Can you send me the m.file and figure?

    Thanks