// The loop function is called in an endless loop void loop() { delay(SENSOR_CHANGE_TRIGGER_TIME); unsigned long unchangedTime = millis() - lastMotionDetected; if (unchangedTime < MAX_ON_TIME) { lcd.display(); lcd.backlight(); switch (sensor) { case TEMPERATURE_SENSOR_NUM: setTemperature(); break; case HUMIDITY_SENSOR_NUM: setHumidity(); break; case SOIL_SENSOR_NUM: setSoilHumidity(); break; case PRESSURE_SENSOR_NUM: setPressure(); break; } } else { lcd.noDisplay(); lcd.noBacklight(); } delay(500); }