add the 3 LEDs and wire them up with CO2 values
authorgregor herrmann <gregor@toastfreeware.priv.at>
Sun, 25 Oct 2020 20:22:28 +0000 (21:22 +0100)
committergregor herrmann <gregor@toastfreeware.priv.at>
Sun, 25 Oct 2020 20:22:28 +0000 (21:22 +0100)
airingbutler.ino

index 94ba188bf829b92983ee89351c98132f5ffe1ff0..5e33a802de0d8974a251825de1f6810b3b5b2e97 100644 (file)
@@ -4,6 +4,12 @@
 const int rx_pin = 2; // connect to TX on MHZ19
 const int tx_pin = 3; // connect to RX on MHZ19
 
+const int led_green_pin  = 4;
+const int led_yellow_pin = 5;
+const int led_red_pin    = 6;
+
+const int co2_warning_thr = 1000;
+const int co2_alarm_thr   = 1500;
 
 MHZ19 mhz19 = MHZ19(rx_pin,tx_pin);
 unsigned long time;
@@ -14,6 +20,20 @@ void setup()
     Serial.begin(115200);
     Serial.println("Time,CO2,Temp");
     mhz19.begin(rx_pin, tx_pin);
+
+       // led
+       pinMode(led_green_pin, OUTPUT);
+       pinMode(led_yellow_pin, OUTPUT);
+       pinMode(led_red_pin, OUTPUT);
+       digitalWrite(led_green_pin, HIGH);
+       delay(500);
+       digitalWrite(led_green_pin, LOW);
+       digitalWrite(led_yellow_pin, HIGH);
+       delay(500);
+       digitalWrite(led_yellow_pin, LOW);
+       digitalWrite(led_red_pin, HIGH);
+       delay(500);
+       digitalWrite(led_red_pin, LOW);
 }
 
 
@@ -28,6 +48,10 @@ void loop()
     Serial.print(",");
     Serial.println(m.temperature);
     
+       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);
+
     delay(5000);
 }