I have a MHZ19 and I got it working only with the serial plotter and monitor.
I want to make leds blink. but dont know how.
At first I have the working version. then with an addition arduino says PPM is not declared.
I cant continu.
Who knows the anser.
Working:
#include <SoftwareSerial.h>;
SoftwareSerial mySerial(A0, A1); // connect also co2sensor-ardunoUno17 with Tx-A0,Rx-A1,Vin-5v,GND-GND ,Old bootloader in my case
byte cmd[9] = {0xFF,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x79};
unsigned char response[9];
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
}
void loop()
{
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*;*
- crc = 255 - crc;*
- crc++;*
- if ( !(response[0] == 0xFF && response[1] == 0x86 && response[8] == crc) ) {*
- Serial.println("CRC error: " + String(crc) + " / "+ String(response[8]));*
- } else {*
- unsigned int responseHigh = (unsigned int) response[2];*
- unsigned int responseLow = (unsigned int) response[3];*
_ unsigned int ppm = (256*responseHigh) + responseLow;_ - Serial.println(ppm);*
- }*
- delay(10000);*
}
Not working. ppm was not declared??
#include <SoftwareSerial.h>;
SoftwareSerial mySerial(A0, A1); // connect also co2sensor-ardunoUno17 with Tx-A0,Rx-A1,Vin-5v,GND-GND ,Old bootloader in my case
byte cmd[9] = {0xFF,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x79};
unsigned char response[9];
void setup() { - Serial.begin(9600);*
- mySerial.begin(9600);*
}
void loop()
{ - 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*;_
_ crc = 255 - crc;_
_ crc++;_
_ if ( !(response[0] == 0xFF && response[1] == 0x86 && response[8] == crc) ) {_
_ Serial.println("CRC error: " + String(crc) + " / "+ String(response[8]));_
_ } else {_
_ unsigned int responseHigh = (unsigned int) response[2];_
_ unsigned int responseLow = (unsigned int) response[3];_
_ unsigned int ppm = (256responseHigh) + responseLow;_
* Serial.println(ppm);*
* }*
* delay(10000);*
* // nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn*
* if(ppm == 0) {*
* Serial.println("PANIC!!");*
* }*
* if(ppm < 500) {*
* Serial.println("Oh oh,... we have less!!");*
* }*
* if(ppm > 500) {*
* Serial.println("Woohoo - we are rich!!");*
* }*
//mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
* Serial.println("-----------");*
* delay(5000);*
}