Atlas EZO-CO2 topic
- Sensor Datasheet
- Sensor Constructors
- Example Code
- Reference
- Detailed Descriptions
Classes for the Atlas Scientific EZO-CO2 embedded NDIR CO2 circuit and sensor.
Sensor Datasheet
Documentation on the CO2 circuit and probe is available here: https:/
Sensor Constructors
Construct a new Atlas Scientific CO2 object using the primary hardware I2C instance. The pin on the mcu controlling powering to the Atlas CO2 circuit. Use -1 if it is continuously powered. Construct a new Atlas Scientific CO2 object using a secondary hardware I2C instance. The pin on the mcu controlling powering to the Atlas CO2 circuit. Use -1 if it is continuously powered.
AtlasScientificCO2::
Parameters
powerPin
i2cAddressHex
The I2C address of the Atlas circuit; optional with the Atlas-supplied default address of 0x69.
measurementsToAverage
The number of measurements to take and average before giving a "final" result from the sensor; optional with a default value of 1.
AtlasScientificCO2::
Parameters
theI2C
A TwoWire instance for I2C communication. Due to the limitations of the Arduino core, only a hardware I2C instance can be used. For an AVR board, there is only one I2C instance possible and this form of the constructor should not be used. For a SAMD board, this can be used if a secondary I2C port is created on one of the extra SERCOMs.
powerPin
i2cAddressHex
The I2C address of the Atlas circuit; optional with the Atlas-supplied default address of 0x69.
measurementsToAverage
The number of measurements to take and average before giving a "final" result from the sensor; optional with a default value of 1.
Example Code
The Atlas CO2 sensor is used in the menu a la carte example.
Classes
- class AtlasScientificCO2
- The Sensor sub-class for the Atlas Scientific gaseous CO2 and temperature sensor.
- class AtlasScientificCO2_CO2
- The Variable sub-class used for the CO2 concentration output from an Atlas Scientific CO2 circuit.
- class AtlasScientificCO2_Temp
- The Variable sub-class used for the temperature output from an Atlas Scientific CO2 circuit.
Sensor Variable Counts
The number of variables that can be returned by the Atlas CO2 sensor
- #define ATLAS_CO2_NUM_VARIABLES = 2
- Sensor::
_numReturnedValues; the Atlas CO2 sensor can report 2 values. - #define ATLAS_CO2_INC_CALC_VARIABLES = 0
- Sensor::
_incCalcValues; we don't calculate any additional values.
Configuration Defines
Defines to configure and set the address of the Atlas CO2 sensor
- #define ATLAS_CO2_I2C_ADDR = 0x69
- The default I2C address of the Atlas CO2 sensor is 0x69 (105)
Sensor Timing
- #define ATLAS_CO2_WARM_UP_TIME_MS = 850
- Sensor::
_warmUpTime_ms; the Atlas CO2 sensor warms up in 850ms. - #define ATLAS_CO2_STABILIZATION_TIME_MS = 10000
- Sensor::
_stabilizationTime_ms; the Atlas CO2 sensor is not stable until 10s (10000ms) after warm-up. - #define ATLAS_CO2_MEASUREMENT_TIME_MS = 900
- Sensor::
_measurementTime_ms; the Atlas CO2 sensor takes 900ms to complete a measurement.
CO2 Concentration
The CO2 variable from an Atlas CO2 sensor
- Accuracy is ± 3% or ± 30 ppm
- Range is 0 − 10000 ppm
Construct a new AtlasScientificCO2_
AtlasScientificCO2_
Parameters
parentSense
The parent AtlasScientificCO2 providing the result values.
uuid
A universally unique identifier (UUID or GUID) for the variable; optional with the default value of an empty string.
varCode
A short code to help identify the variable in files; optional with a default value of "AtlasCO2ppm".
- #define ATLAS_CO2_RESOLUTION = 1
- Decimals places in string representation; CO2 should have 1 - resolution is 1 ppm.
- #define ATLAS_CO2_VAR_NUM = 0
- Sensor variable number; CO2 is stored in sensorValues[0].
- #define ATLAS_CO2_VAR_NAME = "carbonDioxide"
- Variable name in ODM2 controlled vocabulary; "carbonDioxide".
- #define ATLAS_CO2_UNIT_NAME = "partPerMillion"
- Variable unit name in ODM2 controlled vocabulary; "partPerMillion" (ppm)
- #define ATLAS_CO2_DEFAULT_CODE = "AtlasCO2ppm"
- Default variable short code; "AtlasCO2ppm".
Temperature
The temperature variable from an Atlas CO2 sensor
- Accuracy is not reported on the sensor datasheet
- Range is -20°C to +50°C
Construct a new AtlasScientificCO2_
AtlasScientificCO2_
Parameters
parentSense
The parent AtlasScientificCO2 providing the result values.
uuid
A universally unique identifier (UUID or GUID) for the variable; optional with the default value of an empty string.
varCode
A short code to help identify the variable in files; optional with a default value of "AtlasCO2Temp".
- #define ATLAS_CO2TEMP_RESOLUTION = 0
- Decimals places in string representation; CO2TEMP should have 0 - resolution is 1°C.
- #define ATLAS_CO2TEMP_VAR_NUM = 1
- Sensor variable number; CO2TEMP is stored in sensorValues[1].
- #define ATLAS_CO2TEMP_VAR_NAME = "temperature"
- Variable name in ODM2 controlled vocabulary; "temperature".
- #define ATLAS_CO2TEMP_UNIT_NAME = "degreeCelsius"
- Variable unit name in ODM2 controlled vocabulary; "degreeCelsius" (°C)
- #define ATLAS_CO2TEMP_DEFAULT_CODE = "AtlasCO2Temp"
- Default variable short code; "AtlasCO2Temp".
Define documentation
#define ATLAS_CO2_NUM_VARIABLES = 2
#include <src/sensors/AtlasScientificCO2.h>
Sensor::
#define ATLAS_CO2_INC_CALC_VARIABLES = 0
#include <src/sensors/AtlasScientificCO2.h>
Sensor::
#define ATLAS_CO2_I2C_ADDR = 0x69
#include <src/sensors/AtlasScientificCO2.h>
The default I2C address of the Atlas CO2 sensor is 0x69 (105)
#define ATLAS_CO2_WARM_UP_TIME_MS = 850
#include <src/sensors/AtlasScientificCO2.h>
Sensor::
#define ATLAS_CO2_STABILIZATION_TIME_MS = 10000
#include <src/sensors/AtlasScientificCO2.h>
Sensor::
#define ATLAS_CO2_MEASUREMENT_TIME_MS = 900
#include <src/sensors/AtlasScientificCO2.h>
Sensor::
#define ATLAS_CO2_RESOLUTION = 1
#include <src/sensors/AtlasScientificCO2.h>
Decimals places in string representation; CO2 should have 1 - resolution is 1 ppm.
#define ATLAS_CO2_VAR_NUM = 0
#include <src/sensors/AtlasScientificCO2.h>
Sensor variable number; CO2 is stored in sensorValues[0].
#define ATLAS_CO2_VAR_NAME = "carbonDioxide"
#include <src/sensors/AtlasScientificCO2.h>
Variable name in ODM2 controlled vocabulary; "carbonDioxide".
#define ATLAS_CO2_UNIT_NAME = "partPerMillion"
#include <src/sensors/AtlasScientificCO2.h>
Variable unit name in ODM2 controlled vocabulary; "partPerMillion" (ppm)
#define ATLAS_CO2_DEFAULT_CODE = "AtlasCO2ppm"
#include <src/sensors/AtlasScientificCO2.h>
Default variable short code; "AtlasCO2ppm".
#define ATLAS_CO2TEMP_RESOLUTION = 0
#include <src/sensors/AtlasScientificCO2.h>
Decimals places in string representation; CO2TEMP should have 0 - resolution is 1°C.
#define ATLAS_CO2TEMP_VAR_NUM = 1
#include <src/sensors/AtlasScientificCO2.h>
Sensor variable number; CO2TEMP is stored in sensorValues[1].
#define ATLAS_CO2TEMP_VAR_NAME = "temperature"
#include <src/sensors/AtlasScientificCO2.h>
Variable name in ODM2 controlled vocabulary; "temperature".
#define ATLAS_CO2TEMP_UNIT_NAME = "degreeCelsius"
#include <src/sensors/AtlasScientificCO2.h>
Variable unit name in ODM2 controlled vocabulary; "degreeCelsius" (°C)
#define ATLAS_CO2TEMP_DEFAULT_CODE = "AtlasCO2Temp"
#include <src/sensors/AtlasScientificCO2.h>
Default variable short code; "AtlasCO2Temp".