how read acceleration data for BNO055
显示 更早的评论
I am trying to use BNO055 accelerometer and trying to integrate it with MATLAB. Since there is no library for this sensor in MATLAB, I am trying to build the code myself.
I established the I2C connection with the sensor and started to read the data for few readings and got a constant 7 numbers for every reading despite of moving the accelerometer up and down i.e. a column of [64416, 3890, 785, 21 ,0, 0, 0]. In the data sheet, there is a conversion saying that 1LSB = 0.01 m/s2. Now, I have 2 questions:
a. Why isn't the reading changing despite of the movement in accelerometer?
b. What does this column represent and how to convert it to the useful readings of acceleration? Ihave seen something written in the data sheet that it gives the data in 7 bit. Are these numbers 7-bit data..?
clc
clear all
a = arduino('/dev/cu.usbmodem14101','Mega2560','Libraries','I2C');
addrs = scanI2CBus(a);
bno = i2cdev(a, '0x28');
k =1;
tic;
write(bno, 0, 'uint16');
while (toc<=20000)
data(:,k) = read(bno,7, 'uint16');
k=k+1;
end
采纳的回答
更多回答(1 个)
Madhu Govindarajan
2019-1-28
1 个投票
This sensor is supported in the Simulink support package for Arduino - https://www.mathworks.com/help/supportpkg/arduino/ref/bno055imusensor.html
Have you tried using that? OR do you need it to be only from MATLAB?
2 个评论
praneet amitabh
2019-1-28
Madhu Govindarajan
2019-1-28
Then here is what you need to do.
The above link shows how to build custom add-ons when external libraries exist for Arduino sensors. You will have to find the BNO055's library and create a custom add-on using the technique above.
HTH,
Madhu
类别
在 帮助中心 和 File Exchange 中查找有关 Install Products 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!