Main Content

LSM303C IMU Sensor

Measure linear acceleration, magnetic field strength, and temperature from LSM303C sensor

Since R2021a

Add-On Required: This feature requires the Simulink Support Package for Arduino Hardware add-on.

  • block icon for LSM303 IMU sensor

Libraries:
Simulink Support Package for Arduino Hardware / Sensors

Description

The LSM303C IMU Sensor block outputs the values of linear acceleration and magnetic field strength along x-, y- and z- axes as measured by the LSM303C sensor connected to Arduino board. The block also outputs the temperature as read by the LSM303C sensor.

Ports

Output

expand all

Linear acceleration (in m/s2) measured by LSM303C sensor connected to Arduino board, along the x-, y- and z- axes, specified as a n-by-3 vector, where n is the value specified as Samples per frame.

Dependencies

This output port appears only if you select the Acceleration (m/s2) parameter.

Data Types: double

Magnetic field strength (in µT) measured by LSM303C sensor connected to Arduino board, along the x-, y- and z- axes, specified as a n-by-3 vector, where n is the value specified as Samples per frame.

Dependencies

This output port appears only if you select the Magnetic Field (µT) parameter.

Data Types: double

Temperature (in ℃) measured by LSM303C sensor connected to Arduino board.

Dependencies

This output port appears only if you select the Temperature (℃) parameter.

Data Types: double

Status of acceleration value along the three axes, specified as a row vector in the order [z,y,x], to indicate if the data read is the new value or not. 0 indicates that the data read is new and 1 indicates that the data read is not new.

Dependencies

This output port appears only if you select the Acceleration Status parameter.

Data Types: Boolean

Status of magnetic field value along the three axes, specified as a row vector in the order [z,y,x], to indicate if the data read is the new value or not. 0 indicates that the data read is new and 1 indicates that the data read is not new.

Dependencies

This output port appears only if you select the Magnetic Field Status parameter.

Data Types: double

Timestamp (in seconds) at which data is read from the sensor, returned as n-by-1 matrix, where n is the value specified as Samples per frame.

Dependencies

This output port appears only if you select the Timestamp parameter.

Data Types: double

Parameters

expand all

Main Tab

Specify the I2C module on the Arduino® hardware to communicate with sensor peripherals. For more information on the Arduino pin mapping and modules that hardware boards support, see Pin Mapping for Arduino Timer Independent Blocks.

Select this parameter to set Acceleration as one of the output ports.

Select this parameter to set Magnetic Field as one of the output ports.

Select this parameter to set Temperature as one of the output ports.

Select this parameter to set Acceleration Status as one of the output ports.

Select this parameter to set Magnetic Field Status as one of the output ports.

Select this parameter to set Timestamp as one of the output ports.

Specify the number of samples that the block outputs.

The value that you specify here is also used to compute the output sample time:

Output sample time = Samples per frame * Sample time.

Specify how often this block reads the data from the LSM303 sensor. When you set this parameter to -1, Simulink determines the best sample time for the block based on the block context within the model. The output sample time is the product of Samples per frame and Sample time that you specify.

Advanced Tab

Select the full scale for measuring linear acceleration (the range of acceleration that the sensor needs to measure).

Select the output data rate at which accelerometer data is sampled, which also determines the bandwidth.

Select the full scale for measuring linear acceleration (the range of acceleration that the sensor needs to measure).

Select the output data rate at which magnetometer data is sampled.

Version History

Introduced in R2021a