use variables for measurement values
authorgregor herrmann <gregor@toastfreeware.priv.at>
Mon, 26 Oct 2020 03:59:29 +0000 (04:59 +0100)
committergregor herrmann <gregor@toastfreeware.priv.at>
Mon, 26 Oct 2020 03:59:29 +0000 (04:59 +0100)
airingbutler.ino

index c93f4ba89dad7496c546c027c24957dd18119b7a..68cd95d7338cc37ccde355ade7f056607728242d 100644 (file)
@@ -18,6 +18,8 @@ MHZ19 mhz19 = MHZ19(rx_pin,tx_pin);
 LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
 
 unsigned long time;
+int co2 = 0;
+int temp = 0;
 int lastppm = 0;
 
 
@@ -62,18 +64,20 @@ void loop()
 {
        time = millis();
        measurement_t m = mhz19.getMeasurement();
+       co2 = m.co2_ppm;
+       temp = m.temperature;
 
        Serial.print(time);
        Serial.print(",");
-       Serial.print(m.co2_ppm);
+       Serial.print(co2);
        Serial.print(",");
-       Serial.println(m.temperature);
+       Serial.println(temp);
 
-       digitalWrite(led_red_pin, m.co2_ppm >= co2_alarm_thr);
-       digitalWrite(led_yellow_pin, m.co2_ppm >= co2_warning_thr && m.co2_ppm < co2_alarm_thr);
-       digitalWrite(led_green_pin, m.co2_ppm < co2_warning_thr);
+       digitalWrite(led_red_pin, co2 >= co2_alarm_thr);
+       digitalWrite(led_yellow_pin, co2 >= co2_warning_thr && co2 < co2_alarm_thr);
+       digitalWrite(led_green_pin, co2 < co2_warning_thr);
 
-       if (m.co2_ppm >= co2_alarm_thr && lastppm < co2_alarm_thr) {
+       if (co2 >= co2_alarm_thr && lastppm < co2_alarm_thr) {
                digitalWrite(buzzer_pin, HIGH);
                delay(100);
                digitalWrite(buzzer_pin, LOW);
@@ -87,7 +91,7 @@ void loop()
                digitalWrite(buzzer_pin, LOW);
        }
 
-       if (m.co2_ppm >= co2_warning_thr && lastppm < co2_warning_thr) {
+       if (co2 >= co2_warning_thr && lastppm < co2_warning_thr) {
                digitalWrite(buzzer_pin, HIGH);
                delay(500);
                digitalWrite(buzzer_pin, LOW);
@@ -95,9 +99,9 @@ void loop()
 
        lcd.setCursor(0, 0);
        lcd.print("CO2: ");
-       lcd.print(m.co2_ppm);
+       lcd.print(co2);
        lcd.print(" ppm         ");
 
-       lastppm = m.co2_ppm;
+       lastppm = co2;
        delay(5000);
 }