Yosemitech Y551 UV245/COD Sensor topic
- Sensor Datasheet
- Sensor Constructor
- Example Code
- Reference
- Detailed Descriptions
Classes for the Yosemitech Y551 UV245/COD sensor with wiper.
Sensor Datasheet
Sensor Constructor
Construct a new Yosemitech Y551 object.
YosemitechY551::
Parameters
modbusAddress
The modbus address of the sensor.
stream
An Arduino data stream for modbus communication. See notes for more information on what streams can be used.
powerPin
The pin on the mcu controlling power to the Y551. Use -1 if it is continuously powered.
powerPin2
The pin on the mcu controlling power to the RS485 adapter, if it is different from that used to power the sensor. Use -1 or omit if not applicable.
enablePin
The pin on the mcu controlling the direction enable on the RS485 adapter, if necessary; use -1 or omit if not applicable.
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 Yosemitech Y551 UV245/COD sensor is used in the menu a la carte example.
Classes
- class YosemitechY551
- The Sensor sub-class for the Yosemitech Y551-B UV254/COD sensor with wiper.
- class YosemitechY551_COD
- The Variable sub-class used for the carbon oxygen demand (COD) output from a Yosemitech Y551-B UV254/COD sensor with wiper.
- class YosemitechY551_Temp
- The Variable sub-class used for the temperature output from a Yosemitech Y551-B UV254/COD sensor with wiper.
- class YosemitechY551_Turbidity
- The Variable sub-class used for the turbidity output from a Yosemitech Y551-B UV254/COD sensor with wiper.
Sensor Variable Counts
The number of variables that can be returned by a Yosemitch Y551
- #define Y551_NUM_VARIABLES = 3
- Sensor::
_numReturnedValues; the Y551 can report 2 values. - #define Y551_INC_CALC_VARIABLES = 0
- Sensor::
_incCalcValues; we don't calculate any additional values.
Sensor Timing
The sensor timing for a Yosemitch Y551
- #define Y551_WARM_UP_TIME_MS = 1000
- Sensor::
_warmUpTime_ms; time before sensor responds after power - <500ms for response, but need >1000ms to load capcitors for brush & measure. - #define Y551_STABILIZATION_TIME_MS = 2000
- Sensor::
_stabilizationTime_ms; time between "StartMeasurement" command and stable reading - 2sec in manual & confirmed by testing. - #define Y551_MEASUREMENT_TIME_MS = 4000
- Sensor::
_measurementTime_ms; the Y551 takes ~2000ms to complete a measurement according to manual, but testing shows ~1s for a new number but 4-12s to elimniate memory effects, potentially from internal averaging.
Carbon Oxygen Demand
The COD variable from a Yosemitch Y551
- Range is:
- 0.75 to 370 mg/L COD (equiv. KHP)
- 0.2 to 150 mg/L TOC (equiv. KHP)
- Accuracy is not reported on sensor datasheet
Construct a new YosemitechY551_
YosemitechY551_
Parameters
parentSense
The parent YosemitechY551 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 "Y551COD".
- #define Y551_COD_RESOLUTION = 2
- Decimals places in string representation; cod should have 2 - resolution is 0.01 mg/L COD.
- #define Y551_COD_VAR_NUM = 0
- Sensor variable number; COD is stored in sensorValues[0].
- #define Y551_COD_VAR_NAME = "COD"
- Variable name in ODM2 controlled vocabulary; "COD".
- #define Y551_COD_UNIT_NAME = "milligramPerLiter"
- Variable unit name in ODM2 controlled vocabulary; "milligramPerLiter" (mg/L)
- #define Y551_COD_DEFAULT_CODE = "Y551COD"
- Default variable short code; "Y551COD".
Temperature
The temperature variable from a Yosemitch Y551
- Range is 5°C to + 45°C
- Accuracy is ± 0.2°C
Construct a new YosemitechY551_
YosemitechY551_
Parameters
parentSense
The parent YosemitechY551 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 "Y551Temp".
- #define Y551_TEMP_RESOLUTION = 2
- Decimals places in string representation; temperature should have 2 - resolution is 0.01°C.
- #define Y551_TEMP_VAR_NUM = 1
- Sensor variable number; temperature is stored in sensorValues[1].
- #define Y551_TEMP_VAR_NAME = "temperature"
- Variable name in ODM2 controlled vocabulary; "temperature".
- #define Y551_TEMP_UNIT_NAME = "degreeCelsius"
- Variable unit name in ODM2 controlled vocabulary; "degreeCelsius" (°C)
- #define Y551_TEMP_DEFAULT_CODE = "Y551Temp"
- Default variable short code; "Y551Temp".
Turbidity
The turbidity variable from a Yosemitch Y551
- Range is 0.1~1000 NTU
- Accuracy is <5% or 0.3NTU
Construct a new YosemitechY551_
YosemitechY551_
Parameters
parentSense
The parent YosemitechY551 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 "Y551Turbidity".
- #define Y551_TURB_RESOLUTION = 2
- Decimals places in string representation; turbidity should have 2 - resolution is 0.01 NTU.
- #define Y551_TURB_VAR_NUM = 2
- Sensor variable number; turbidity is stored in sensorValues[2].
- #define Y551_TURB_VAR_NAME = "turbidity"
- Variable name in ODM2 controlled vocabulary; "turbidity".
- #define Y551_TURB_UNIT_NAME = "nephelometricTurbidityUnit"
- Variable unit name in ODM2 controlled vocabulary; "nephelometricTurbidityUnit" (NTU)
- #define Y551_TURB_DEFAULT_CODE = "Y551Turbidity"
- Default variable short code; "Y551Turbidity".
Define documentation
#define Y551_NUM_VARIABLES = 3
#include <src/sensors/YosemitechY551.h>
Sensor::
#define Y551_INC_CALC_VARIABLES = 0
#include <src/sensors/YosemitechY551.h>
Sensor::
#define Y551_WARM_UP_TIME_MS = 1000
#include <src/sensors/YosemitechY551.h>
Sensor::
#define Y551_STABILIZATION_TIME_MS = 2000
#include <src/sensors/YosemitechY551.h>
Sensor::
#define Y551_MEASUREMENT_TIME_MS = 4000
#include <src/sensors/YosemitechY551.h>
Sensor::
#define Y551_COD_RESOLUTION = 2
#include <src/sensors/YosemitechY551.h>
Decimals places in string representation; cod should have 2 - resolution is 0.01 mg/L COD.
#define Y551_COD_VAR_NUM = 0
#include <src/sensors/YosemitechY551.h>
Sensor variable number; COD is stored in sensorValues[0].
#define Y551_COD_VAR_NAME = "COD"
#include <src/sensors/YosemitechY551.h>
Variable name in ODM2 controlled vocabulary; "COD".
#define Y551_COD_UNIT_NAME = "milligramPerLiter"
#include <src/sensors/YosemitechY551.h>
Variable unit name in ODM2 controlled vocabulary; "milligramPerLiter" (mg/L)
#define Y551_COD_DEFAULT_CODE = "Y551COD"
#include <src/sensors/YosemitechY551.h>
Default variable short code; "Y551COD".
#define Y551_TEMP_RESOLUTION = 2
#include <src/sensors/YosemitechY551.h>
Decimals places in string representation; temperature should have 2 - resolution is 0.01°C.
#define Y551_TEMP_VAR_NUM = 1
#include <src/sensors/YosemitechY551.h>
Sensor variable number; temperature is stored in sensorValues[1].
#define Y551_TEMP_VAR_NAME = "temperature"
#include <src/sensors/YosemitechY551.h>
Variable name in ODM2 controlled vocabulary; "temperature".
#define Y551_TEMP_UNIT_NAME = "degreeCelsius"
#include <src/sensors/YosemitechY551.h>
Variable unit name in ODM2 controlled vocabulary; "degreeCelsius" (°C)
#define Y551_TEMP_DEFAULT_CODE = "Y551Temp"
#include <src/sensors/YosemitechY551.h>
Default variable short code; "Y551Temp".
#define Y551_TURB_RESOLUTION = 2
#include <src/sensors/YosemitechY551.h>
Decimals places in string representation; turbidity should have 2 - resolution is 0.01 NTU.
#define Y551_TURB_VAR_NUM = 2
#include <src/sensors/YosemitechY551.h>
Sensor variable number; turbidity is stored in sensorValues[2].
#define Y551_TURB_VAR_NAME = "turbidity"
#include <src/sensors/YosemitechY551.h>
Variable name in ODM2 controlled vocabulary; "turbidity".
#define Y551_TURB_UNIT_NAME = "nephelometricTurbidityUnit"
#include <src/sensors/YosemitechY551.h>
Variable unit name in ODM2 controlled vocabulary; "nephelometricTurbidityUnit" (NTU)
#define Y551_TURB_DEFAULT_CODE = "Y551Turbidity"
#include <src/sensors/YosemitechY551.h>
Default variable short code; "Y551Turbidity".