From 69895ad82481e3c88697cbc32bc3737579966717 Mon Sep 17 00:00:00 2001 From: GrafZeppelin Date: Thu, 8 Apr 2021 17:59:50 +0200 Subject: [PATCH] complete program --- src/main.cpp | 76 +++++++++++++++++++++++++++------------------------- 1 file changed, 39 insertions(+), 37 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index ace9e9e..133cbca 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -10,53 +10,55 @@ #define MEASURE_DELAY 1000 #define NOISE_DELAY 100 +const int maxCount = 10; +int count = 0; +bool noise = false; +bool noiseActive = false; + +float ppm; + MQ135 co2_sensor(PIN_MQ135); void setup() { Serial.begin(9600); - // co2_sensor.setR0(1000.); + co2_sensor.setR0(100); } void printValues(float ppm, float temp, float humidity); void loop() { - float value = co2_sensor.getCO2(); - Serial.print("co2: "); - Serial.println(value); - delay(2000); - // if (count >= maxCount || count < 0) { - // float temp = bme.readTemperature(); - // float humidity = bme.readHumidity(); - // ppm = co2_sensor.getCorrectedPPM(temp, humidity); + if (count >= maxCount || count < 0) { + ppm = co2_sensor.getCO2(); - // count = 0; - // if (ppm < 1000) { - // digitalWrite(PIN_LED_GREEN, 1); - // digitalWrite(PIN_LED_YELLOW, 0); - // digitalWrite(PIN_LED_RED, 0); - // } - // else if (ppm <= 2000) { - // digitalWrite(PIN_LED_GREEN, 0); - // digitalWrite(PIN_LED_YELLOW, 1); - // digitalWrite(PIN_LED_RED, 0); - // } - // else { - // digitalWrite(PIN_LED_GREEN, 0); - // digitalWrite(PIN_LED_YELLOW, 0); - // digitalWrite(PIN_LED_RED, 1); - // } + count = 0; + if (ppm < 1000) { + noiseActive = false; + digitalWrite(PIN_LED_GREEN, 1); + digitalWrite(PIN_LED_YELLOW, 0); + digitalWrite(PIN_LED_RED, 0); + } + else if (ppm <= 2000) { + noiseActive = false; + digitalWrite(PIN_LED_GREEN, 0); + digitalWrite(PIN_LED_YELLOW, 1); + digitalWrite(PIN_LED_RED, 0); + } + else { + noiseActive = true; + digitalWrite(PIN_LED_GREEN, 0); + digitalWrite(PIN_LED_YELLOW, 0); + digitalWrite(PIN_LED_RED, 1); + } + } - // printValues(ppm, temp, humidity); - // } + if (noiseActive) { + noise = !noise; + digitalWrite(PIN_NOISE, noise); + } + else { + digitalWrite(PIN_NOISE, 0); + } - // if (ppm > 2000) { - // noise = !noise; - // digitalWrite(PIN_NOISE, noise); - // } - // else { - // digitalWrite(PIN_NOISE, 0); - // } - - // delay(NOISE_DELAY); - // count++; + delay(NOISE_DELAY); + count++; } \ No newline at end of file