read from mh-z19 CO2 sensor with LPC1114

Dependencies:   SoftSerial mbed

Committer:
kohacraft
Date:
Wed Sep 27 06:51:22 2017 +0000
Revision:
0:963c0badad70
Child:
1:c7a36fa2c772
read from mh-z19 CO2 sensor with LPC1114

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kohacraft 0:963c0badad70 1 #include "mbed.h"
kohacraft 0:963c0badad70 2 #include "SoftSerial.h"
kohacraft 0:963c0badad70 3
kohacraft 0:963c0badad70 4 SoftSerial softSerial(dp18,dp17); //Tx,Rx
kohacraft 0:963c0badad70 5 Serial pc(USBTX, USBRX); //Tx,Rx
kohacraft 0:963c0badad70 6
kohacraft 0:963c0badad70 7 int main() {
kohacraft 0:963c0badad70 8
kohacraft 0:963c0badad70 9 softSerial.baud(9600); //to mbed cat
kohacraft 0:963c0badad70 10 pc.baud(9600); // to mh-z19 CO2 sensor
kohacraft 0:963c0badad70 11
kohacraft 0:963c0badad70 12 char command[] = { 0xff , 0x01 , 0x86 , 0 , 0 , 0 , 0 , 0 , 0x79 }; //command of Read CO2 concentration
kohacraft 0:963c0badad70 13 char responds[9];
kohacraft 0:963c0badad70 14
kohacraft 0:963c0badad70 15 unsigned char c;
kohacraft 0:963c0badad70 16
kohacraft 0:963c0badad70 17 if( pc.readable() ) // throw received data away
kohacraft 0:963c0badad70 18 responds[0] = pc.getc( );
kohacraft 0:963c0badad70 19
kohacraft 0:963c0badad70 20 while(1) {
kohacraft 0:963c0badad70 21
kohacraft 0:963c0badad70 22 //send command
kohacraft 0:963c0badad70 23 for( int i=0 ; i<9 ; i++ ) {
kohacraft 0:963c0badad70 24 while( pc.writeable() == 0 );
kohacraft 0:963c0badad70 25 pc.putc( command[i] );
kohacraft 0:963c0badad70 26 }
kohacraft 0:963c0badad70 27
kohacraft 0:963c0badad70 28 //receve responds
kohacraft 0:963c0badad70 29 c=0; //calc check sum
kohacraft 0:963c0badad70 30 softSerial.printf(" responds:");
kohacraft 0:963c0badad70 31 for( int i=0 ; i<9 ; i++ ) {
kohacraft 0:963c0badad70 32 responds[i] = pc.getc( );
kohacraft 0:963c0badad70 33 softSerial.printf("%x ",responds[i]);
kohacraft 0:963c0badad70 34 c += responds[i];
kohacraft 0:963c0badad70 35 }
kohacraft 0:963c0badad70 36 c -= responds[8];
kohacraft 0:963c0badad70 37 c = ( 0xff - c );
kohacraft 0:963c0badad70 38 softSerial.printf(" csm:%x CO2:%dppm temp:%dC stat:%d\r" , c , responds[2]*256 + responds[3] , responds[4]-40 , responds[5]);
kohacraft 0:963c0badad70 39 wait(1);
kohacraft 0:963c0badad70 40
kohacraft 0:963c0badad70 41 }
kohacraft 0:963c0badad70 42 }