File Exchange

image thumbnail

Arduino Serial Data Acquisition

version 1.3.0.2 (522 KB) by Ye Cheng
Use serial communication to monitor live data from Arduino in MATLAB/Simulink

55 Downloads

Updated 28 Nov 2016

View Version History

View License

Do you want to monitor live data from Arduino® in MATLAB® and Simulink®?
-You can do so easily with Simulink External Mode if you use Arduino Mega 2560 and Arduino Due (and Arduino Uno if you have R2016b or later). https://www.mathworks.com/help/supportpkg/arduino/ug/tune-and-monitor-model-running-on-arduino-mega-2560-hardware.html
What if you use Arduino Uno?
-This File Exchange download will help you do exactly that.

This submission contains three files:
-serialRunOnArduino.slx: Download this model onto your Arduino board so that it sends data to serial port
-serialRunOnPC.slx: Run this model locally on your PC to collect and plot serial data in Simulink
-readArduinoSerial.m: Run this script to read and plot serial data in MATLAB

Cite As

Ye Cheng (2021). Arduino Serial Data Acquisition (https://www.mathworks.com/matlabcentral/fileexchange/46775-arduino-serial-data-acquisition), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (43)

Ghufran Aldawood

Works great!! Thank you so much, I have been searching for hours for some simple routine to edit as this one.

Ghufran Aldawood

Works great!! Thank you so much, I have been searching for hours for some simple routine to edit as this one.

Jen Kong

Very nice and simple! I was just wondering, what does the gain block do between the analogue input and the serial port?

Hamza Khan

i can log xbee rssi data being printed on the serial monitor of arduino ide in matlab. works like a charm
thankyou

Alberto Mora

The code run slowly: a optimization on the computationla time is required in my opinion.

samio roi

SUNNY NEGI

Very good.
Can I use this model to acquire 3- 6 sensors data from Arduino uno R3 into MATLAB for real time analysis? How?

Daniel Lombard

Son Tran

Wow, this's so good

catur suharinto

Melike Aydinoglu

Kirollos Safwat

Kirollos Safwat

I'm facing this error [ Download Failed: Received fatal alert: protocol_version ] every time i'm trying to install or download [ Arduino Support Package for MATLAB R2014b ] .is there any possible way to solve this problem ? ,i appreciate your help.
Thanks in advance

dgmcik

changming zhao

pretty good!! i use arduino uno .it works well! thank you!

Vinay Rathore

gihan ranasinghe

Works well !!! Grate!!

siddharth rawat

Nice Submission, now no need of logging data via SD card shield.

Jacky Chan

Hi, I want to output the data from IMU. However, as you know, there are several types of data generating from the IMU, what should I do if I want to specially output a type of data, let's say acceleration. Thank you very much.

Talha Yousuf

Ahh...... Thanks it worked..... really thanks GOD bless you

Question: In order to run this Math Arduino DAQ, do I need always MathLab running under Windows and Arduino connect it to Lap Top or PC? If the answer is YES, LOL. We need some small foot print DAQ for embedded applications...

Isail Salazar

Excelent!

NguyenTung

work with lenardo. Thanks

Med Aymane Ahajjam

cris ponce

Gracias!!

cvrousseau

Thanks!

Mahmoud Sayed

Andreas Oblong

Works perfectly

Gábor Holló

sahab farjad

hi, at first thanks for your tutorial, it works, but with no results! I'm using GP2D120 IR-range-finder sensor and i don't know to connect the output signal sensor to witch pin in Arduino board.
thanks again for share this tutorial.

Geoffrey Sandja

when i try to run the serialRunOnArduino via run on Target Hardware on my Arduino Uno, i get
"Call to the function 'getTflTableList' failed."
I am using R2012b

Ankitkumar

Cristiano

I use R2015b and yun Arduino and the sample does not work out. Just out symbols like . It will be some limitation of Arduino Yun? The R2015b is the one that support ...

Rudra Chattopadhyay

OK, now I understand that it is because uint8 can represent a maximum value of 2^8 = 256, hence the 1/4 gain block in the Simulink model. It has nothing to do with sample time.

Rudra Chattopadhyay

My sensor output is in the range of 600-850 but the values read in are sample time dependent - when I used the default one (0.02s) the output was extraordinarily high (1e30 etc.) and when I used a sample time of 1s the output was lower (about 80). Any suggestions for getting the exact value in Simulink?

alex harijanto

Great...!!! works

Thanks a lot

DHRUPAL SHAH

kaveh dehno

Hi,

It works on my Leonardo, but gives me none sense data. I'm able to get the right data from Arduino serial monitor as well as the Mac Terminal.

Thanks
kaveh

Graham Lee

Worked with my UNO, and has an easy-to-follow setup guide. Great work, thanks!

Rosco

Very helpful - got me up and running immediately. Thanks for sharing.

Starhowl

It was only thanks to this submission that I understood data transmission on Arduino!

chfakht chfakht

hello,
When trying this on the arduino uno, I get the following error when I try to run on target hardware: CRL: “None” cannot be found in the registry.

Nishant

The program shows 'catch err' error on line number 9.That's the only error that comes up.Please help me fix this.Thank you.

MATLAB Release Compatibility
Created with R2014a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired: LiveSerialPlot

Community Treasure Hunt

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

Start Hunting!