Atlas EZO-DO topic
- Sensor Datasheet
- Sensor Constructors
- Example Code
- Reference
- Detailed Descriptions
Classes for the Atlas Scientific EZO-DO dissolved oxygen circuit and probe.
The Atlas Scientifc DO sensor outputs DO in both mg/L and percent saturation.
Sensor Datasheet
Documentation on the probe is found here: https:/
Documentation on the measurement circuit is found here: https:/
Sensor Constructors
Construct a new Atlas Scientific DO object using the primary hardware I2C instance. The pin on the mcu controlling powering to the Atlas DO circuit. Use -1 if it is continuously powered. Construct a new Atlas Scientific DO object using a secondary hardware I2C instance. The pin on the mcu controlling powering to the Atlas DO circuit. Use -1 if it is continuously powered.
AtlasScientificDO::
Parameters
powerPin
i2cAddressHex
The I2C address of the Atlas circuit; optional with the Atlas-supplied default address of 0x61.
measurementsToAverage
The number of measurements to take and average before giving a "final" result from the sensor; optional with a default value of 1.
AtlasScientificDO::
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 0x61.
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 DO sensor is used in the menu a la carte example.
Classes
- class AtlasScientificDO
- The Sensor sub-class for the Atlas Scientific EZO dissolved oxygen circuit.
- class AtlasScientificDO_DOmgL
- The Variable sub-class used for the dissolved oxygen concentration output from an Atlas Scientific EZO dissolved oxygen circuit.
- class AtlasScientificDO_DOpct
- The Variable sub-class used for the dissolved oxygen percent of saturation output from an Atlas Scientific EZO dissolved oxygen circuit.
Sensor Variable Counts
The number of variables that can be returned by the Atlas DO sensor
- #define ATLAS_DO_NUM_VARIABLES = 2
- Sensor::
_numReturnedValues; the Atlas EZO DO circuit can report 2 values. - #define ATLAS_DO_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 DO sensor
- #define ATLAS_DO_I2C_ADDR = 0x61
- The default I2C address of the Atlas DO sensor is 0x61 (97)
Sensor Timing
The sensor timing for an Atlas DO sensor
- #define ATLAS_DO_WARM_UP_TIME_MS = 745
- Sensor::
_warmUpTime_ms; the Atlas DO sensor warms up in 745ms. - #define ATLAS_DO_STABILIZATION_TIME_MS = 0
- Sensor::
_stabilizationTime_ms; the Atlas DO sensor is stable at completion of warm up (0ms after warm-up). - #define ATLAS_DO_MEASUREMENT_TIME_MS = 600
- Sensor::
_measurementTime_ms; the Atlas DO sensor takes 600ms to complete a measurement.
DO Concentration
The dissolved oxygen concentration from an Atlas DO sensor
- Accuracy is ± 0.05 mg/L
- Range is 0.01 − 100+ mg/L
Construct a new AtlasScientificDO_
AtlasScientificDO_
Parameters
parentSense
The parent AtlasScientificDO 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 "AtlasDOmgL".
- #define ATLAS_DOMGL_RESOLUTION = 2
- Decimals places in string representation; dissolved oxygen concentration should have 2 - resolution is 0.01 mg/L.
- #define ATLAS_DOMGL_VAR_NUM = 0
- Sensor variable number; dissolved oxygen concentration is stored in sensorValues[0].
- #define ATLAS_DOMGL_VAR_NAME = "oxygenDissolved"
- Variable name in ODM2 controlled vocabulary; "oxygenDissolved".
- #define ATLAS_DOMGL_UNIT_NAME = "milligramPerLiter"
- Variable unit name in ODM2 controlled vocabulary; "milligramPerLiter" (mg/L)
- #define ATLAS_DOMGL_DEFAULT_CODE = "AtlasDOmgL"
- Default variable short code; "AtlasDOmgL".
DO Percent Saturation
The dissolved oxygen percent saturation for an Atlas DO sensor
- Accuracy is ± 0.05 mg/L
- Range is 0.1 − 400+ % saturation
Construct a new AtlasScientificDO_
AtlasScientificDO_
Parameters
parentSense
The parent AtlasScientificDO 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 "AtlasDOpct".
- #define ATLAS_DOPCT_RESOLUTION = 1
- Decimals places in string representation; dissolved oxygen percent should have 1 - resolution is 0.1 % saturation.
- #define ATLAS_DOPCT_VAR_NUM = 1
- Sensor variable number; dissolved oxygen percent is stored in sensorValues[1].
- #define ATLAS_DOPCT_VAR_NAME = "oxygenDissolvedPercentOfSaturation"
- Variable name in ODM2 controlled vocabulary; "oxygenDissolvedPercentOfSaturation".
- #define ATLAS_DOPCT_UNIT_NAME = "percent"
- Variable unit name in ODM2 controlled vocabulary; "percent" (percent saturation)
- #define ATLAS_DOPCT_DEFAULT_CODE = "AtlasDOpct"
- Default variable short code; "AtlasDOpct".
Define documentation
#define ATLAS_DO_NUM_VARIABLES = 2
#include <src/sensors/AtlasScientificDO.h>
Sensor::
#define ATLAS_DO_INC_CALC_VARIABLES = 0
#include <src/sensors/AtlasScientificDO.h>
Sensor::
#define ATLAS_DO_I2C_ADDR = 0x61
#include <src/sensors/AtlasScientificDO.h>
The default I2C address of the Atlas DO sensor is 0x61 (97)
#define ATLAS_DO_WARM_UP_TIME_MS = 745
#include <src/sensors/AtlasScientificDO.h>
Sensor::
737-739 in tests
#define ATLAS_DO_STABILIZATION_TIME_MS = 0
#include <src/sensors/AtlasScientificDO.h>
Sensor::
#define ATLAS_DO_MEASUREMENT_TIME_MS = 600
#include <src/sensors/AtlasScientificDO.h>
Sensor::
only ~555 measurement time in tests, but keep the 600 recommended by manual
#define ATLAS_DOMGL_RESOLUTION = 2
#include <src/sensors/AtlasScientificDO.h>
Decimals places in string representation; dissolved oxygen concentration should have 2 - resolution is 0.01 mg/L.
#define ATLAS_DOMGL_VAR_NUM = 0
#include <src/sensors/AtlasScientificDO.h>
Sensor variable number; dissolved oxygen concentration is stored in sensorValues[0].
#define ATLAS_DOMGL_VAR_NAME = "oxygenDissolved"
#include <src/sensors/AtlasScientificDO.h>
Variable name in ODM2 controlled vocabulary; "oxygenDissolved".
#define ATLAS_DOMGL_UNIT_NAME = "milligramPerLiter"
#include <src/sensors/AtlasScientificDO.h>
Variable unit name in ODM2 controlled vocabulary; "milligramPerLiter" (mg/L)
#define ATLAS_DOMGL_DEFAULT_CODE = "AtlasDOmgL"
#include <src/sensors/AtlasScientificDO.h>
Default variable short code; "AtlasDOmgL".
#define ATLAS_DOPCT_RESOLUTION = 1
#include <src/sensors/AtlasScientificDO.h>
Decimals places in string representation; dissolved oxygen percent should have 1 - resolution is 0.1 % saturation.
#define ATLAS_DOPCT_VAR_NUM = 1
#include <src/sensors/AtlasScientificDO.h>
Sensor variable number; dissolved oxygen percent is stored in sensorValues[1].
#define ATLAS_DOPCT_VAR_NAME = "oxygenDissolvedPercentOfSaturation"
#include <src/sensors/AtlasScientificDO.h>
Variable name in ODM2 controlled vocabulary; "oxygenDissolvedPercentOfSaturation".
#define ATLAS_DOPCT_UNIT_NAME = "percent"
#include <src/sensors/AtlasScientificDO.h>
Variable unit name in ODM2 controlled vocabulary; "percent" (percent saturation)
#define ATLAS_DOPCT_DEFAULT_CODE = "AtlasDOpct"
#include <src/sensors/AtlasScientificDO.h>
Default variable short code; "AtlasDOpct".