+#include <SoftwareSerial.h>;
+
+SoftwareSerial mySerial(8, 9); // 8 - к TX сенсора, 9 - к RX
+
+byte cmd[9] = {0xFF,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x79};
+unsigned char response[9];
+
+int MHZRead()
+{
+ mySerial.write(cmd, 9);
+ memset(response, 0, 9);
+ mySerial.readBytes(response, 9);
+ int i;
+ byte crc = 0;
+ for (i = 1; i < 8; i++) crc+=response[i];
+ crc = 255 - crc;
+ crc++;
+
+ if ( !(response[0] == 0xFF && response[1] == 0x86 && response[8] == crc) ) {
+ return -1;
+ } else {
+ unsigned int responseHigh = (unsigned int) response[2];
+ unsigned int responseLow = (unsigned int) response[3];
+ unsigned int ppm = (256*responseHigh) + responseLow;
+ return ppm;
+ }
+}
+