Difference between revisions of "Component: Air Quality (BME688) (Environmental)"

From Flowcode Help
Jump to navigationJump to search
 
Line 24: Line 24:
  
 
==Examples==
 
==Examples==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
===Pin Mapping===
 
 
Here is a table showing how the App Developer Slave digital pins are mapped on the device.
 
 
{| class="wikitable"
 
|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.
 
 
{| class="wikitable"
 
|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.
 
 
{| class="wikitable"
 
|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==
 
==Macro reference==

Latest revision as of 09:21, 13 June 2025

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

Macro reference

Initialise

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


PerformGasResistanceCycle

Fc9-comp-macro.png 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.  
Fc9-f32-icon.png - FLOAT Temperature
Temperature in Celcius we want to reach, typically between 200 and 400�C 
Fc9-u16-icon.png - UINT Duration
Step duration in milliseconds, default 30 - Range: 1 to 4032 
Fc9-bool-icon.png - BOOL Return


ReadGasResistance

Fc9-comp-macro.png ReadGasResistance
Reads the resistance of the gas in ohms from the last heating cycle. 
Fc9-f32-icon.png - FLOAT Return


ReadHumidity

Fc9-comp-macro.png ReadHumidity
Collects the humidity and returns as a floating point value in percent. 
Fc9-u8-icon.png - BYTE Index
Forced Mode = 0 / Parallel Mode = 0-2 
Fc9-f32-icon.png - FLOAT Return


ReadPressure

Fc9-comp-macro.png ReadPressure
Collects the pressure and returns as a floating point value in pascal. 
Fc9-u8-icon.png - BYTE Index
Forced Mode = 0 / Parallel Mode = 0-2 
Fc9-f32-icon.png - FLOAT Return


ReadRegister

Fc9-comp-macro.png ReadRegister
A simple example showing a generic way to read a register using I2C. 
Fc9-u8-icon.png - BYTE Address
 
Fc9-u8-icon.png - BYTE Return


ReadTemperature

Fc9-comp-macro.png ReadTemperature
Collects the temperature and returns as a floating point value in degrees C. 
Fc9-u8-icon.png - BYTE Index
Forced Mode = 0 / Parallel Mode = 0-2 
Fc9-f32-icon.png - FLOAT Return


SetMode

Fc9-comp-macro.png SetMode
Sets the mode of the sensor to low power sleep, forced or parallel 
Fc9-u8-icon.png - BYTE Mode
0=Sleep, 1=Forced, 2=Parallel 
Fc9-void-icon.png - VOID Return


WriteRegister

Fc9-comp-macro.png WriteRegister
A simple example showing a generic way to write a register using I2C. 
Fc9-u8-icon.png - BYTE Address
 
Fc9-u8-icon.png - BYTE Data
 
Fc9-void-icon.png - VOID Return


Property reference

Fc9-prop-icon.png Properties
Fc9-conn-icon.png I2C Properties
Fc9-conn-icon.png Connections
Fc9-type-16-icon.png Channel
Channel selection 
Fc9-type-5-icon.png SDA
Pin used for SDA (data signal) 
Fc9-type-16-icon.png SDA Remap Pin
 
Fc9-type-5-icon.png SCL
Pin used for SCL (clock signal) 
Fc9-type-16-icon.png SCL Remap Pin
 
Fc9-conn-icon.png Options
Fc9-type-16-icon.png Device Address
 
Fc9-type-7-icon.png 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.  
Fc9-type-16-icon.png Baud Select
Baud rate option selector 
Fc9-type-14-icon.png Baud Rate
Baud rate to be used 
Fc9-conn-icon.png Simulation
Fc9-type-7-icon.png Simulate Comms
 
Fc9-conn-icon.png Comms Simulation
Fc9-type-7-icon.png 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. 
Fc9-type-7-icon.png Console Data
Selects if the console data is automatically generated or not 
Fc9-type-16-icon.png Injector
Specifies the injector component on the panel to interact with to provide comms simulation.