Jump to content

Component: Air Quality (BME688) (Environmental)

From Flowcode Help
Author MatrixTSL
Version 1.0
Category Environmental


Air Quality (BME688) component

An air quality sensor connected using a standard I2C bus. Capable of detecting indoor and outdoor air quality including CO2 H2 VOCs and VSCs.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_BME688_AirQualitySensor.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_BME688_AirQualitySensor.fcfx

Detailed description

Examples

Pin Mapping

Here is a table showing how the App Developer Slave digital pins are mapped on the device.

App Developer Slave Digital Pin 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
Device Port Pin E0 E1 E2 E5 G5 E3 H3 H4 H6 H6 B4 B5 B6 B7 J1 J0 H1 H0 D3 D2 D1 D0 A0 A1 A2 A3 A4 A5 A6 A7 C7 C6 C5 C4 C3 C2 C1 C0 D7 G2 G1 G0 L7 L6 L5 L4 L3 L2 L1 L0
Arduino Style Pin 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49


Here is a table showing how the App Developer Slave analogue pins are mapped on the device.

App Developer Slave Analogue Pin 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Device Port Pin F0 F1 F2 F3 F4 F5 F6 F7 K0 K1 K2 K3 K4 K5 K6 K7
Arduino Style Pin A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15


Here is a table showing how the App Developer Slave peripheral pins are mapped on the device.

App Developer Slave Peripheral Pin I2C 0 SDA I2C 0 SCL SPI 0 MOSI SPI 0 MISO SPI 0 SCK UART 0 RX UART 0 TX UART 1 RX UART 1 TX UART 2 RX UART 2 TX PWM 0 PWM 1 PWM 2 PWM 3 PWM 4 PWM 5 PWM 6 PWM 7 PWM 8 PWM 9 PWM 10 PWM 11 PWM 12 PWM 13 PWM 14 PWM 15
Device Port Pin D1 D0 B3 B4 B5 D2 D3 H0 H1 J0 J1 B7 G5 B5 B6 B7 B4 H6 E3 E4 E5 H3 H4 H5 L3 L4 L5
Arduino Style Pin D20 D21 D50 D10 D11 D19 D18 D17 D16 D15 D14 D13 D4 D11 D12 D13 D10 D9 D5 D2 D3 D6 D7 D8 D46 D45 D44






Macro reference

Initialise

Initialise
Initialises the I2C bus and sets up the device ready for operation. Returns 1 if the device has been found and is communicating. 
- BOOL Return


PerformGasResistanceCycle

PerformGasResistanceCycle
Performs a forced heating cycle. Returns 1 for a successful cycle. Returns 0 if the heating time was not enough or the temperature was too high to reach.  
- FLOAT Temperature
Temperature in Celcius we want to reach, typically between 200 and 400�C 
- UINT Duration
Step duration in milliseconds, default 30 - Range: 1 to 4032 
- BOOL Return


ReadGasResistance

ReadGasResistance
Reads the resistance of the gas in ohms from the last heating cycle. 
- FLOAT Return


ReadHumidity

ReadHumidity
Collects the humidity and returns as a floating point value in percent. 
- BYTE Index
Forced Mode = 0 / Parallel Mode = 0-2 
- FLOAT Return


ReadPressure

ReadPressure
Collects the pressure and returns as a floating point value in pascal. 
- BYTE Index
Forced Mode = 0 / Parallel Mode = 0-2 
- FLOAT Return


ReadRegister

ReadRegister
A simple example showing a generic way to read a register using I2C. 
- BYTE Address
 
- BYTE Return


ReadTemperature

ReadTemperature
Collects the temperature and returns as a floating point value in degrees C. 
- BYTE Index
Forced Mode = 0 / Parallel Mode = 0-2 
- FLOAT Return


SetMode

SetMode
Sets the mode of the sensor to low power sleep, forced or parallel 
- BYTE Mode
0=Sleep, 1=Forced, 2=Parallel 
- VOID Return


WriteRegister

WriteRegister
A simple example showing a generic way to write a register using I2C. 
- BYTE Address
 
- BYTE Data
 
- VOID Return


Property reference

Properties
I2C Properties
Connections
Channel
Channel selection 
SDA
Pin used for SDA (data signal) 
SDA Remap Pin
 
SCL
Pin used for SCL (clock signal) 
SCL Remap Pin
 
Options
Device Address
 
Stop Delay
On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not a 10ms delay between an I2C stop event and the next I2C start event. Most modern microcontrollers will not have a problem so this property can be disabled to speed up the I2C communications.  
Baud Select
Baud rate option selector 
Baud Rate
Baud rate to be used 
Simulation
Simulate Comms
 
Comms Simulation
Scope Traces
Selects if the component pin connections are automatically generated on the data recorder window or not. Yes: Automatically add the component pins to a group on the data recorder which will reflect the sim data during simultion. No: Do not show the pin signals on the data recorder window. 
Console Data
Selects if the console data is automatically generated or not 
Injector
Specifies the injector component on the panel to interact with to provide comms simulation.