MATLAB Answers

Need help receiving accelerometer data through an I2C connection in MATLAB.

13 views (last 30 days)
I'm using a Sparkfun LSM9DS1 IMU, and an Arduino Uno. I've set up the arduino connection on MATLAB and have wired the IMU to be compatible for I2C, but am a little lost about how to get the data from this particular IMU off the Arduino and into MATLAB.


Sign in to comment.

Answers (1)

Swarooph on 29 Jun 2017
Have you looked at this example? It shows how to use the MATLAB Support Package for Arduino Hardware and the I2C interface to communicate with I2C devices. Note that it uses the TMP102 temperature sensor. But I think once you have the IMU wired correctly, the overall process should look the same.


Davis Nossaman
Davis Nossaman on 29 Jun 2017
Thanks for getting me started Swarooph. Unfortunately I followed their scheme using the same wiring configuration and code and am getting data that is a vector of zeros. I tried changing the precision to 'uint16' and that had no effect. Here is my code:
a = arduino();
addrs = scanI2CBus(a)
trial = i2cdev(a, '0x6B')
write(trial, 0, 'uint8');
data = read(trial, 2, 'uint8')
Davis Nossaman
Davis Nossaman on 29 Jun 2017
The example you sent me has a 2017a tag at the top. I am using MATLAB 2014b. Might that make a difference?
sir, The above mentioned 5 lines code was not executing.It was showing"Failed to read 2 uint8 value(s) from the device.can please give the executable code or solution for that.
Thanking you

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!