JINXIN WEI
/
mh-z14_CO2sensor
sef
Fork of kc_mh-z19_CO2sensor by
main.cpp@0:963c0badad70, 2017-09-27 (annotated)
- 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?
User | Revision | Line number | New 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 | } |