Sw xtr 30: MES5 sludge blanket calibration

MENU ASSISTED CALIBRATION PROCESS for sludge blanket of MES5 sensor

Required Materials

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

Notes

- This example is only valid for Waspmote v15

Code

/*
    ----------- [Sw_xtr_30] - MES5 Sludge blanket calibration --------------------

    Explanation: MENU ASSISTED CALIBRATION PROCESS for sludge blanket of
    MES5 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_MES5 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(SLUDGE_BLANKET);
  
  //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("MES5"));
  USB.print(F("Temperature: "));
  USB.printFloat(mySensor.sensorMES5.temperature, 2);
  USB.println(F(" degrees Celsius"));
  USB.print(F("Sludge blanket: "));
  USB.printFloat(mySensor.sensorMES5.sludgeBlanket, 2);
  USB.println(F(" %"));
  USB.print(F("Suspended solids: "));
  USB.printFloat(mySensor.sensorMES5.suspendedSolids, 2);
  USB.println(F(" g/L"));
  USB.print(F("Turbidity FAU: "));
  USB.printFloat(mySensor.sensorMES5.turbidityFAU, 2);
  USB.println(F(" FAU"));
  USB.println(F("---------------------------"));

  delay(5000);
}

Output

J#
 *********************************************
 MENU ASSISTED CALIBRATION PROCESS
 MES5 sensor
 Sludge blanket parameter
 *********************************************
 0. Introduction:
 This is a one 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 the calibration standart value you will use (offset) and press Enter.
 100% is recommended
 Example: 100
 > 100
 ****************
 2. Set sensor at selected offset: 100.0000 %
 Wait some minutes until the measure stabilizes.
 Observing the offset in this step will help you assess whether calibration
 is necessary or not, depending on the precision required in your application.
 Then insert 'N' for Next step and press Enter.
 98.06 %
 >
 98.94 %
 > 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.
 > 10
 Insert minute [MM] and press Enter.
 > 28
 ****************
 Calibration successfully finished!
 ****************
 End of calibration process
 *********************************************
 ---------------------------
 MES5
 Temperature: 24.07 degrees Celsius
 Sludge blanket: 100.05 %
 Suspended solids: 0.96 g/L
 Turbidity FAU: 347.83 FAU
 ---------------------------

Last updated