Sw xtr 09: OPTOD oxygen calibration

MENU ASSISTED CALIBRATION PROCESS for oxygen of OPTOD sensor.

Required Materials

- 1 Waspmote Plug & Sense! Smart Water Xtreme - 1 OPTOD sensor

Notes

- This example is only valid for Waspmote v15

Code

/*
    ----------- [Sw_xtr_09] - OPTOD Oxygen calibration --------------------

    Explanation: MENU ASSISTED CALIBRATION PROCESS for oxygen 
    of OPTOD sensor.

    Copyright (C) 2018 Libelium Comunicaciones Distribuidas S.L.
    http://www.libelium.com

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see .

    Version:           3.0
    Design:            David Gascón
    Implementation:    J.Siscart, V.Boria
*/
#include <WaspSensorXtr.h>

/*
  SELECT THE RIGHT SOCKET FOR EACH SENSOR.

  Possible sockets for this sensor are:
  - XTR_SOCKET_E (Only valid socket for init() or calibrating)
                           _________
                          |---------|
                          | A  B  C |
                          |_D__E__F_|


  Refer to the technical guide for information about possible combinations.
  www.libelium.com/downloads/documentation/smart_agriculture_xtreme_sensor_board.pdf
*/

//Uncomment the sensor that you want to read the serial number
Aqualabo_OPTOD mySensor(XTR_SOCKET_E);

uint8_t response = 0;

void setup()
{
  //Turn on the sensor
  mySensor.ON();

  response = mySensor.init();
  if (response)
  {
    USB.println(F("Error initializing the sensor. \r\nCheck the sensor is in Socket E and restart the code."));
    while (1);
  }

  //Run menu assisted calibration process via monitor serial
  mySensor.calibrationProcess(OXYGEN);

  //Turn off the sensor
  mySensor.OFF();
}

void loop()
{
  // Turn ON the sensor
  mySensor.ON();

  // Read the sensor
  /*
    Note: read() function does not directly return sensor values.
    They are stored in the class vector variables defined for that purpose.
    Values are available as a float value
  */
  mySensor.read();

  // Turn off the sensor
  mySensor.OFF();

  // 7. Print information
  USB.println(F("---------------------------"));
  USB.println(F("OPTOD"));
  USB.print(F("Temperature: "));
  USB.printFloat(mySensor.sensorOPTOD.temperature, 2);
  USB.println(F(" degrees Celsius"));
  USB.print(F("Oxygen saturation: "));
  USB.printFloat(mySensor.sensorOPTOD.oxygenSAT, 2);
  USB.println(F(" %"));
  USB.print(F("Oxygen: "));
  USB.printFloat(mySensor.sensorOPTOD.oxygenMGL, 2);
  USB.println(F(" mg/L"));
  USB.print(F("Oxygen: "));
  USB.printFloat(mySensor.sensorOPTOD.oxygenPPM, 2);
  USB.println(F(" ppm"));
  USB.println(F("---------------------------"));

  delay(5000);
}

Output

J#
 *********************************************
 MENU ASSISTED CALIBRATION PROCESS
 OPTOD sensor
 Oxygen parameter
 *********************************************
 0. Introduction:
 You can choose between one or two-point calibration method. At the end of the
 process the results of the calibration will be stored in the FLASH memory of the
 sensor for future uses.
 The sensor is calibrated ex works, meaning that no calibration is required
 before initial startup. During operation the sensor should be calibrated if the
 measured values begin to drift.
 Rinse the sensor in clean water and dry it with a soft cloth or an absorbent
 paper before each calibration.
 To exit the calibration without considering anything please insert 'Q' to Quit.
 and press Enter.
 ****************
 1. Insert '1' for one point calibration or '2' for two point calibration method
 and press Enter.
 Example: 1
 > 1
 One point calibration method selected
 ****************
 2. Set sensor at standart slope: 100%
 Wait some minutes until the measure stabilizes.
 Then insert 'N' for Next step and press Enter.
 101.87 %
 >
 101.86 %
 >
 101.87 %
 > N
 ****************
 3. In order to validate the calibration some data is required.
 Please insert operator's name (up to 16 letters) and press Enter.
 > LIBELIUM
 ****************
 4.Please insert calibration date.
 Insert year [yy] and press Enter.
 > 18
 Insert month [mm] and press Enter.
 > 11
 Insert day [dd] and press Enter.
 > 6
 Insert Hour [HH] and press Enter.
 > 9
 Insert minute [MM] and press Enter.
 > 18
 ****************
 Calibration successfully finished!
 ****************
 End of calibration process
 *********************************************
 ---------------------------
 OPTOD
 Temperature: 24.11 degrees Celsius
 Oxygen saturation: 89.97 %
 Oxygen: 7.55 mg/L
 Oxygen: 7.55 ppm
 ---------------------------

Last updated