SmartD / Mbed 2 deprecated mbed_pH_test

Dependencies:   mbed

Fork of mbed_pH225 by SmartD

Committer:
sitakumar
Date:
Thu Feb 26 07:05:14 2015 +0000
Revision:
2:46161d8200a2
Parent:
1:843151144560
Child:
3:98adc27dc82d
2/25

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sitakumar 0:f610f2c606a8 1 #include "mbed.h"
sitakumar 0:f610f2c606a8 2 #include "time.h"
sitakumar 0:f610f2c606a8 3
sitakumar 0:f610f2c606a8 4 DigitalOut myled(LED1);
sitakumar 0:f610f2c606a8 5 //serial connection via USB
sitakumar 0:f610f2c606a8 6 Serial pc(USBTX, USBRX);
sitakumar 0:f610f2c606a8 7 AnalogIn pH_sensor(A0);
sitakumar 2:46161d8200a2 8 AnalogOut temp_sensor(A2);
sitakumar 2:46161d8200a2 9
sitakumar 0:f610f2c606a8 10
sitakumar 0:f610f2c606a8 11 int main()
sitakumar 0:f610f2c606a8 12 {
sitakumar 0:f610f2c606a8 13 float voltage, pH, tempC, tempF;
sitakumar 2:46161d8200a2 14 //Power temperature sensor
sitakumar 2:46161d8200a2 15 temp_sensor = 0.00002;
sitakumar 0:f610f2c606a8 16 while(1) {
sitakumar 1:843151144560 17 //Take average of readings over 10 seconds
sitakumar 0:f610f2c606a8 18 double totalVal = 0.0;
sitakumar 0:f610f2c606a8 19 double pH_sensor_read = 0.0;
sitakumar 0:f610f2c606a8 20 int totalReadings = 0;
sitakumar 0:f610f2c606a8 21 time_t start = time(NULL);
sitakumar 0:f610f2c606a8 22 time_t seconds = 10;
sitakumar 0:f610f2c606a8 23 time_t end = start + seconds;
sitakumar 0:f610f2c606a8 24 while(time(NULL) < end){
sitakumar 0:f610f2c606a8 25 pH_sensor_read = pH_sensor.read();
sitakumar 0:f610f2c606a8 26 totalVal = totalVal + pH_sensor_read;
sitakumar 0:f610f2c606a8 27 totalReadings++;
sitakumar 0:f610f2c606a8 28 }
sitakumar 0:f610f2c606a8 29 double avgSensor = totalVal/(double)totalReadings;
sitakumar 1:843151144560 30 //Hard coded calibration values taken at pH 4 solution to return voltage in mV
sitakumar 0:f610f2c606a8 31 voltage = avgSensor*(800/.24);
sitakumar 0:f610f2c606a8 32 //conversion to pH from sensor output voltage per LM61 data sheet
sitakumar 0:f610f2c606a8 33 pH = (0.0209*voltage)-12.696;
sitakumar 0:f610f2c606a8 34 //conversion to degrees C from sensor output voltage
sitakumar 0:f610f2c606a8 35 tempC = (((voltage/1000) - 0.871481)/-0.0021504);
sitakumar 0:f610f2c606a8 36 tempF = (tempC *9/5) + 32;
sitakumar 0:f610f2c606a8 37 //print current pH and temp
sitakumar 0:f610f2c606a8 38 pc.printf("pH = %5.2F & temp = %5.2F F\n\r", pH, tempF);
sitakumar 0:f610f2c606a8 39 }
sitakumar 0:f610f2c606a8 40 }