Why can't I read the values from LSM9DS1 on-board sensor on Arduino Nano 33BLE in Simulink?

5 次查看(过去 30 天)
Hi there,
I've been trying since weeks now, to read acceleration values in Simulink from the on-board LSM9DS1 sensor of Arduino Nano 33BLE board. I have installed the arduino support packages for both simulink and matlab, and have setup the connection with the board. I tried two approaches and both were unsuccessful:
  1. Adding LSM9DS1 sensor block from simulink's library for the arduino support package and then connecting it with the scope for visualisation. On building and deploying the model, no errors were reported but the scope shows a flat line for all inputs.
  2. Adding a MATLAB function block (below) and connecting the outputs to scope, which gives an error: "Matlab code generation is not supported on arduino nano 33ble sense board."
function [x, y, z] = readAccel()
a = arduino();
lsmobj = lsm9ds1(a, "Bus", 1);
[x, y, z] = readAcceleration(lsmobj);
end
Any guidance/help will be much appreciated?
P.s. Sensor and board are working fine. Tested in Arduino IDE!

回答(1 个)

Avni Agrawal
Avni Agrawal 2024-5-9
I understand that you are trying to read the values from LSM9DS1 on-board sensor on Arduino Nano 33BLE in Simulink. However, first try to run this command in MATLAB command window:
a = arduino()
When using `arduino()` without specifying parameters, MATLAB tries to automatically connect to an Arduino board, which might not always work as expected, especially if you have multiple devices connected or specific board requirements.
If the above line fails, then try to specify port and correct board type as mentioned below:
a = arduino('Port address', 'Nano33BLE');
Replace `'Port address'` with your board's actual port and `'Nano33BLE'` with the correct board type. This ensures MATLAB connects to the right board.
I hope this helps.
  1 个评论
Rohitashva
Rohitashva 2024-5-13
Thank you for your response.
I tried this approach too, and the project gets build and deployed to the board successfully. But, the Scope and the Data Inspector both shows a flat line. I also tried "Monitor and Tune" but it also shows the value zero for all axes.
On contrary, everthing seems to work fine in Arduino IDE.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Modeling 的更多信息

产品


版本

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by