This program operates a pH meter and requires an Excel spreadsheet template available at www.kissinstrments.com

Dependencies:   mbed

Revision:
0:f6b418db17d2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Jul 22 00:03:25 2016 +0000
@@ -0,0 +1,66 @@
+
+// The following is C++ code for the microcontroller pH meter.
+
+#include "mbed.h"
+#include "USBSerial.h"
+
+//DigitalOut reset(p8);
+Serial pc(USBTX, USBRX);
+AnalogIn input1(p15);
+DigitalOut d1(p16);
+DigitalOut d2(p17);
+AnalogOut offset(p18);
+DigitalOut d4(p19);
+DigitalOut d5(p20);
+DigitalOut myled1(LED1);
+DigitalOut myled2(LED2);
+DigitalOut myled3(LED3);
+DigitalOut myled4(LED4);
+unsigned short pHvalue;
+unsigned short avg;
+float Ioffset = 0.3;  
+float Noffset = 0.3;
+char ch;
+int i = 1;
+
+void rec_param(float& Noffset)
+    {
+    pc.putc(0x0C);     // Write to computer serial port
+    ch = pc.getc();
+    while (ch != ' ') {   
+        ch = pc.getc();
+     }
+    pc.scanf("%f", &Noffset);
+    return;
+}
+
+int main(void)
+{ 
+    rec_param(Noffset);
+    wait(0.5);
+    Ioffset = Noffset;
+    offset = Ioffset;
+    
+while(1) {
+   myled1 = myled2 = myled3 = myled4 = 0; 
+   if(pc.readable()) {
+            myled4 = 1;
+            myled1 = myled2 = myled3 = 0;
+            ch = pc.getc();
+           //check for stop
+            if (ch == 'Q') {
+                myled4 = 0;
+                ch = ' ';
+            }
+            if (ch == 'S') {
+                myled3 = 1;  
+                pHvalue = input1.read_u16();        
+                pc.putc((pHvalue>>8)&0xFF); 
+                pc.putc((pHvalue>>0)&0xFF);   
+                wait(.003);                        //added this 2-16 , .005                                                  
+            }
+                myled3 = 0;    
+           }
+     }
+   }
+