This program operates a pH meter and requires an Excel spreadsheet template available at www.kissinstrments.com
Diff: main.cpp
- 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; + } + } + } +