]> ToastFreeware Gitweb - toast/airingbutler.git/blobdiff - airingbutler.ino
reinitialize lcd with .begin() before writing
[toast/airingbutler.git] / airingbutler.ino
index 92461a63cd8f94d5ba5de40d0532ac569c373f7c..a3308644643c775820ddd3a0962d92cce4f70708 100644 (file)
@@ -85,32 +85,40 @@ void loop()
        Serial.print(",");
        Serial.println(temp);
 
+       // LEDs
        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);
 
+       // LCD
+       if (time < warmuptime && (co2 == -1 || co2 == 410)) {
+               lcd.begin(16, 2);
+               lcd.setCursor(0, 0);
+               lcd.print("Airing Butler");
+               lcd.setCursor(0, 1);
+               lcd.print("is warming up...");
+       } else {
+               lcd.begin(16 ,2);
+               lcd.setCursor(0, 0);
+               lcd.print("CO2: ");
+               lcd.print(co2);
+               lcd.print(" ppm    ");
+               lcd.setCursor(0, 1);
+               lcd.print("Temp: ");
+               lcd.print(temp);
+               lcd.print(" C +/-  ");
+       }
+
+       // buzzer
        if (co2 >= co2_alarm_thr && lastppm < co2_alarm_thr && time - lastwarntime > cooldowntime) {
                buzz(100, 3);
                lastwarntime = time;
        }
-
        if (co2 >= co2_warning_thr && lastppm < co2_warning_thr && time - lastwarntime > cooldowntime) {
                buzz(500, 1);
                lastwarntime = time;
        }
 
-       lcd.setCursor(0, 0);
-       lcd.print("CO2: ");
-       lcd.print(co2);
-       if (time < warmuptime && (co2 == -1 || co2 == 410)) {
-               lcd.print (" (W)");
-       }
-       lcd.print(" ppm    ");
-       lcd.setCursor(0, 1);
-       lcd.print("Temp: ");
-       lcd.print(temp);
-       lcd.print(" C +/-  ");
-
        lastppm = co2;
        delay(5000);
 }