From 4daa920efd3d9091c028f135139b15b40f77338c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Sch=C3=BCrg?= Date: Sat, 23 Jun 2018 12:35:27 +0200 Subject: [PATCH] Also defined CO2_IN and more logging. --- MH-Z19B.ino | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/MH-Z19B.ino b/MH-Z19B.ino index 9262efe..308991b 100644 --- a/MH-Z19B.ino +++ b/MH-Z19B.ino @@ -1,25 +1,32 @@ +#define CO2_IN D2 + +#define MH_Z19_RX D7 +#define MH_Z19_TX D6 #include -SoftwareSerial co2Serial(7, 6); // define MH-Z19 RX TX +SoftwareSerial co2Serial(MH_Z19_RX, MH_Z19_TX); // define MH-Z19 RX TX + unsigned long startTime = millis(); void setup() { Serial.begin(9600); co2Serial.begin(9600); - pinMode(9, INPUT); + pinMode(CO2_IN, INPUT); } void loop() { - Serial.println("------------------------------"); Serial.print("Time from start: "); Serial.print((millis() - startTime) / 1000); Serial.println(" s"); int ppm_uart = readCO2UART(); int ppm_pwm = readCO2PWM(); + + Serial.println("\n------------------------------"); delay(5000); } int readCO2UART() { + Serial.println("-- read CO2 uart ---"); byte cmd[9] = {0xFF, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79}; byte response[9]; // for answer @@ -77,7 +84,8 @@ int readCO2UART() { return ppm_uart; } -byte getCheckSum(char *packet) { +byte getCheckSum(byte *packet) { + Serial.println("-- get checksum ---"); byte i; unsigned char checksum = 0; for (i = 1; i < 8; i++) { @@ -89,9 +97,10 @@ byte getCheckSum(char *packet) { } int readCO2PWM() { + Serial.println("-- read CO2 pwm ---"); unsigned long th, tl, ppm_pwm = 0; do { - th = pulseIn(9, HIGH, 1004000) / 1000; + th = pulseIn(CO2_IN, HIGH, 1004000) / 1000; tl = 1004 - th; ppm_pwm = 5000 * (th - 2) / (th + tl - 4); } while (th == 0);