Development

Sensors / Smart Water Ions:

» SWI 03: Socket1 Sensor Reading

Turn on the Smart Water Ions Sensor Board and reads the Ion sensor connected in the SOCKET1 printing the result through the USB. In this case we are going to measure Calcium Ion, but all Ions can be connected in the four available sockets.

Required Materials

1 x Waspmote
1 x Battery
1 x Smart Water Ions Sensor Board
1 x Calcium Sensor Probe
1 x Single Junction Reference Probe
1 x Calcium Calibration Kit (for those sensors which require calibration)

Notes

- The Calcium Sensor Probe must be used with the Single Junction Reference Probe
- The Calcium Sensor, can be connected in any of the four available sockets
- The calibration process of the ions sensors is described in the technical guide
- It advisable to measure the temperature of the calibration solution
- This example can be executed in Waspmote v12 and Waspmote v15.

Code

/*  
 *  ------ [SWI_03] - SOCKET1 reading for Smart Water Ions-------- 
 *  
 *  Explanation: Turn on the Smart Water Ions Sensor Board and reads 
 *  the Ions sensor connected in the SOCKET1 printing the result through
 *  the USB. In this case we are going to measure Calcium Ion, but all Ions
 *  can be connected in the four available sockets
 *  
 *  Copyright (C) 2016 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 <http://www.gnu.org/licenses/>. 
 *  
 *  Version:           3.0
 *  Design:            David Gascón 
 *  Implementation:    Ahmad Saad
 */

#include <smartWaterIons.h>

// Connect the Calcium Sensor in the SOCKET1
// All Ion sensors can be connected in the four sockets
socket1Class calciumSensor;

// Calibration concentrations solutions used in the process
#define point1 10.0
#define point2 100.0
#define point3 1000.0

// Calibration Voltage values
#define point1_volt_Ca 2.163
#define point2_volt_Ca 2.296
#define point3_volt_Ca 2.425

// Define the number of calibration points
#define numPoints 3

float calConcentrations[] = {point1, point2, point3};
float calVoltages[] = {point1_volt_Ca, point2_volt_Ca, point3_volt_Ca}; 

void setup()
{
  // Turn ON the Smart Water Ions Board and USB
  SWIonsBoard.ON();
  USB.ON();  

  // Calculate the slope and the intersection of the logarithmic function
  calciumSensor.setCalibrationPoints(calVoltages, calConcentrations, numPoints);
}

void loop()
{
  // Reading of the Calcium sensor
  float calciumVoltage = calciumSensor.read();

  // Print of the results
  USB.print(F(" Calcium Voltage: "));
  USB.print(calciumVoltage);
  USB.print(F("volts |"));

  float concentration = calciumSensor.calculateConcentration(calciumVoltage);

  USB.print(F(" Ca concentration Estimated: "));
  USB.print(concentration);
  USB.println(F(" ppm / mg * L-1"));

  delay(1000);  
}



Output

H#
Calcium Voltage: 2.1878750324volts | Ca concentration Estimated: 37.4112319946 ppm / mg * L-1
Calcium Voltage: 2.1880011558volts | Ca concentration Estimated: 37.4724884033 ppm / mg * L-1
Calcium Voltage: 2.1878750324volts | Ca concentration Estimated: 37.4112319946 ppm / mg * L-1

Quick Publish: