Main Content

BMP280 Pressure Sensor

Measure barometric air pressure and ambient temperature from BMP280 sensor

Since R2022b

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

  • block icon for BMP280 Pressure Sensor

Libraries:
Simulink Support Package for Arduino Hardware / Sensors
Simulink Support Package for Raspberry Pi Hardware / Sensors / Environmental Sensors

Description

The BMP280 Pressure Sensor block measures barometric air pressure and ambient temperature using the BMP280 Pressure sensor interfaced with the Arduino® hardware.

Ports

Output

expand all

The block outputs barometric air pressure in Pascal (Pa).

Dependencies

This output port appears only if you select the Pressure (Pa) parameter.

Data Types: double

The block outputs the ambient temperature in ℃.

Dependencies

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

Data Types: double

The block outputs the status of barometric air pressure and ambient temperature measurements. 0 indicates that the data read is new, 1 indicates that the data read is not new.

Dependencies

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

Data Types: uint8

Parameters

expand all

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.

The I2C addresses to communicate with the peripheral on the BMP280 sensor are decided by the state of the SD0 pin on the hardware board. This table provides the I2C addresses corresponding to the pin and their state.

Pin NamePin StateI2C address
SD000x76
10x77

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

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

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

Select the output data type of the sensor from which the block reads the values. The default data type for Arduino hardware is double. Use this parameter to change the values to double, or uint32 if required.

Specify how often this block reads the data from the BMP280 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.

IIR filter settings

Select the filter coefficient value of the sensor, which helps in reducing the bandwidth of output signals.

The default filter coefficient value for Arduino hardware is 0. Use this parameter to change the values, if required.

When filter is enabled, the sensor uses this formula to get the latest measurement calculation.

dt = (dadc / f) + dt-1 (1 - 1 / f), where dt is the current data, dt-1 is the previous data, dadc is the prefiltered data, and f is the filter coefficient.

Sensitivity

Select the pressure sensitivity factor, which the sensor uses to read values during changing air pressure.

The default data type for Arduino hardware is 2.62. Use this parameter to change the values, if required.

Select the temperature sensitivity factor, which the sensor uses to read values during changing temperature conditions.

The default data type for Arduino hardware is 0.005. Use this parameter to change the values, if required.

Version History

Introduced in R2022b