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

Dependencies:   mbed

main.cpp

Committer:
KISScientific
Date:
2016-07-22
Revision:
0:f6b418db17d2

File content as of revision 0:f6b418db17d2:


// 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;    
           }
     }
   }