Atlas EZO-ORP module
Classes for the Atlas Scientific EZO-ORP oxidation/reduction potential circuit and probes.
Sensor Datasheet
Documentation on the circuit is available here: https:/
Sensor Constructors
Construct a new Atlas Scientific ORP object using the primary hardware I2C instance. The pin on the mcu controlling powering to the Atlas ORP circuit. Use -1 if it is continuously powered. Construct a new Atlas Scientific ORP object using a secondary hardware I2C instance. The pin on the mcu controlling powering to the Atlas ORP circuit. Use -1 if it is continuously powered.
AtlasScientificORP(int8_t powerPin,
uint8_t i2cAddressHex = ATLAS_
Parameters
powerPin
i2cAddressHex
The I2C address of the Atlas circuit; optional with the Atlas-supplied default address of 0x62.
measurementsToAverage
The number of measurements to take and average before giving a "final" result from the sensor; optional with a default value of 1.
AtlasScientificORP(TwoWire* theI2C,
int8_t powerPin,
uint8_t i2cAddressHex = ATLAS_
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 0x62.
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 ORP sensor is used in the menu a la carte example.
#include <sensors/AtlasScientificORP.h> // NOTE: Use -1 for any pins that don't apply or aren't being used. const int8_t AtlasORPPower = sensorPowerPin; // Power pin uint8_t AtlasORPi2c_addr = 0x62; // Default for ORP is 0x62 (98) // All Atlas sensors have different default I2C addresses, but any of them can // be re-addressed to any 8 bit number. If using the default address for any // Atlas Scientific sensor, you may omit this argument. // Create an Atlas Scientific ORP sensor object // AtlasScientificORP atlasORP(AtlasORPPower, AtlasORPi2c_addr); AtlasScientificORP atlasORP(AtlasORPPower); // Create a potential variable pointer for the ORP Variable* atlasORPot = new AtlasScientificORP_Potential( &atlasORP, "12345678-abcd-1234-ef00-1234567890ab");
Classes
- class AtlasScientificORP
- The Sensor sub-class for the Atlas Scientific ORP (oxidation/reduction potential) sensor.
- class AtlasScientificORP_Potential
- The Variable sub-class used for the oxidation/reduction potential output from an Atlas Scientific EZO-ORP circuit.
Defines
- #define ATLAS_ORP_I2C_ADDR = 0x62
- Default I2C address is 0x62 (98)
- #define ATLAS_ORP_NUM_VARIABLES = 1
- Sensor::
_numReturnedValues; the Atlas EZO ORP circuit can report 1 value. - #define ATLAS_ORP_INC_CALC_VARIABLES = 0
- Sensor::
_incCalcValues; we don't calculate any additional values.
Sensor Timing
The sensor timing for an Atlas ORP (redox) sensor
- #define ATLAS_ORP_WARM_UP_TIME_MS = 850
- Sensor::
_warmUpTime_ms; the Atlas EZO ORP circuit warms up in 850ms. 846 in SRGD tests
- #define ATLAS_ORP_STABILIZATION_TIME_MS = 0
- Sensor::
_stabilizationTime_ms; the Atlas EZO ORP circuit is stable 0ms after warm-up (stable at completion of warm up). - #define ATLAS_ORP_MEASUREMENT_TIME_MS = 1580
- Sensor::
_measurementTime_ms; the Atlas EZO ORP circuit takes 1580ms to complete a measurement.
ORP
The ORP variable from an Atlas ORP (redox) sensor
- Accuracy is ± 1 mV
- Range is -1019.9mV − 1019.9mV
Construct a new AtlasScientificORP_
AtlasScientificORP_Potential(AtlasScientificORP* parentSense,
const char* uuid = "",
const char* varCode = ATLAS_
Parameters
parentSense
The parent AtlasScientificORP 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 "AtlasORP".
- #define ATLAS_ORP_RESOLUTION = 1
- Decimals places in string representation; ORP should have 1 - resolution is 0.1 mV.
- #define ATLAS_ORP_VAR_NUM = 0
- Sensor variable number; ORP is stored in sensorValues[0].
- #define ATLAS_ORP_VAR_NAME = "reductionPotential"
- Variable name in ODM2 controlled vocabulary; "reductionPotential".
- #define ATLAS_ORP_UNIT_NAME = "millivolt"
- Variable unit name in ODM2 controlled vocabulary; "millivolt" (mV)
- #define ATLAS_ORP_DEFAULT_CODE = "AtlasORP"
- Default variable short code; "AtlasORP".