read from mh-z19 CO2 sensor with LPC1114

Dependencies:   SoftSerial mbed

main.cpp

Committer:
kohacraft
Date:
2017-09-27
Revision:
0:963c0badad70
Child:
1:c7a36fa2c772

File content as of revision 0:963c0badad70:

#include "mbed.h"
#include "SoftSerial.h"

SoftSerial softSerial(dp18,dp17); //Tx,Rx
Serial pc(USBTX, USBRX); //Tx,Rx

int main() {
    
    softSerial.baud(9600);  //to mbed cat
    pc.baud(9600);  // to mh-z19 CO2 sensor
    
    char command[] = { 0xff , 0x01 , 0x86 , 0 , 0 , 0 , 0 , 0 , 0x79 }; //command of Read CO2 concentration
    char responds[9];
    
    unsigned char c;
    
    if( pc.readable() ) // throw received data away
        responds[0] = pc.getc(  );
    
    while(1) {
        
        //send command
        for( int i=0 ; i<9 ; i++ ) {
            while( pc.writeable() == 0 );
            pc.putc( command[i] );
        }
        
        //receve responds
        c=0;    //calc check sum
        softSerial.printf(" responds:");
        for( int i=0 ; i<9 ; i++ ) {
            responds[i] = pc.getc(  );
            softSerial.printf("%x ",responds[i]);
            c += responds[i];
        }
        c -= responds[8];
        c = ( 0xff - c );
        softSerial.printf(" csm:%x CO2:%dppm temp:%dC stat:%d\r" , c , responds[2]*256 + responds[3] , responds[4]-40 , responds[5]);
        wait(1);

    }
}