Ag xtr 10: MPS6 sensor reading

Basic example that turns on, reads and turn off the sensor. Measured parameters are stored in the corresponding class variables and printed by the serial monitor. Note: The Meter TEROS 21 sensor was previously named as Decagon MPS-6

Required Materials

- 1 Waspmote Plug & Sense! Smart Agriculture Xtreme - 1 TEROS 21 sensor

Notes

- This example is only valid for Waspmote v15

Code

/*
    ----------- [Ag_xtr_10] - MPS6 sensor reading --------------------

    Explanation: Basic example that turns on, reads and turn off the
    sensor. Measured parameters are stored in the corresponding class
    variables and printed by the serial monitor.

    Note: The Meter TEROS 21 sensor was previously named as Decagon MPS-6

    Measured parameters:
      - Soil water potential
      - Soil temperature

    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.1
    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_A       _________
  - XTR_SOCKET_B      |---------|
  - XTR_SOCKET_C      | A  B  C |
  - XTR_SOCKET_D      |_D__E__F_|


  Example: a 5TM sensor on socket A will be
  [Sensor Class] [Sensor Name] [Selected socket]
  Decagon_5TM    mySensor      (XTR_SOCKET_A);

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

//   [Sensor Class] [Sensor Name] [Selected socket]
Decagon_MPS6 mySensor(XTR_SOCKET_A);

void setup()
{
  USB.println(F("TEROS 21 (MPS6) example"));
}

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

  // 2. 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();

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

  // 4. Print information
  USB.println(F("---------------------------"));
  USB.println(F("MPS6"));
  USB.print(F("Soil water potential: "));
  USB.printFloat(mySensor.sensorMPS6.waterPotential, 1);
  USB.println(F(" kPa"));
  USB.print(F("Soil temperature: "));
  USB.printFloat(mySensor.sensorMPS6.temperature, 1);
  USB.println(F(" degrees Celsius"));
  USB.println(F("---------------------------\n"));

  delay(5000);

}

Output

H#
MPS6 example
---------------------------
MPS6
Soil water potential: -3162.4 kPa
Soil temperature: 26.1 degrees Celsius
---------------------------
---------------------------
MPS6
Soil water potential: -3162.4 kPa
Soil temperature: 26.1 degrees Celsius
---------------------------

Last updated