diff --git a/ESP32/StadlerHomeKitUpgrade/StadlerHomeKitUpgrade.ino b/ESP32/StadlerHomeKitUpgrade/StadlerHomeKitUpgrade.ino index 0604f35..d02446c 100644 --- a/ESP32/StadlerHomeKitUpgrade/StadlerHomeKitUpgrade.ino +++ b/ESP32/StadlerHomeKitUpgrade/StadlerHomeKitUpgrade.ino @@ -57,6 +57,7 @@ const uint8_t ledMap[LED_COUNT] = {3, 0, 1, 8, 2, 5, 4, 7, 6}; #define ADR_NEOPXL_WATERLVL 8 #define ADR_NEOPXL_TANK +#define NON_ACTIVE_LED_DIVIDER 8 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); Adafruit_NeoPixel pixels(NUMPIXELS, NEOPIXEL, NEO_GRB + NEO_KHZ800); @@ -124,16 +125,19 @@ void setFanSpeed (uint8_t spdInpt){ digitalWrite(PIN_SPEED_2, LOW); delay(200); digitalWrite(PIN_SPEED_1, HIGH); + delay(100); } else if (spdInpt == 2) { delay(100); digitalWrite(PIN_SPEED_1, LOW); delay(200); digitalWrite(PIN_SPEED_2, HIGH); + delay(100); } else { delay(100); digitalWrite(PIN_SPEED_1, LOW); delay(200); digitalWrite(PIN_SPEED_2, LOW); + delay(100); } } @@ -272,11 +276,18 @@ void loop() { display.display(); - // DATA HAVEREST - lux = lightMeter.readLightLevel(); - waterLvlVal = touchRead(WTR_LVL); - hum = (dht.readHumidity()); - photoVal = analogRead(IN_PHOTOTRA); + display.setCursor(70, 20); + display.println("Dimm:"); + display.setCursor(115, 20); + display.println(dimmStep); + + display.display(); + + // DATA HAVEREST + lux = lightMeter.readLightLevel(); + waterLvlVal = touchRead(WTR_LVL); + hum = (dht.readHumidity()); + photoVal = analogRead(IN_PHOTOTRA); // ################################################################# // ################################################################# @@ -313,15 +324,15 @@ void loop() { } } else if (hum >= (hygrostatVal - 5) and fanSpeedVal == 2) { setFanSpeed (1); //ustaw predkość 1 zbliża sie do docelowej wartości - neoPixelSpeed_1 = 4; + neoPixelSpeed_1 = NON_ACTIVE_LED_DIVIDER; neoPixelSpeed_2 = 1; } else if (hum < hygrostatVal) { setFanSpeed (fanSpeedVal); - neoPixelSpeed_1 = 4; + neoPixelSpeed_1 = NON_ACTIVE_LED_DIVIDER; if (fanSpeedVal == 1){ neoPixelSpeed_2 = 0; } else { - neoPixelSpeed_2 = 4; + neoPixelSpeed_2 = NON_ACTIVE_LED_DIVIDER; } } @@ -390,11 +401,11 @@ void loop() { neoPixelWaterLvlR = 1; neoPixelWaterLvlG = 0; //Przygotowanie pod żółty kolor jak mało wody analogWrite(LED_WHT_TANK, 0); - analogWrite(LED_RED_TANK, dimmVal*4); + analogWrite(LED_RED_TANK, dimmVal*NON_ACTIVE_LED_DIVIDER); } else { neoPixelWaterLvlR = 0; neoPixelWaterLvlG = 1; - analogWrite(LED_WHT_TANK, dimmVal*4); + analogWrite(LED_WHT_TANK, dimmVal*NON_ACTIVE_LED_DIVIDER); analogWrite(LED_RED_TANK, 0); } } @@ -413,8 +424,8 @@ void loop() { // ################################################################# // ################################################################# pixels.clear(); - pixels.setPixelColor(ADR_NEOPXL_SPEED_1, pixels.Color(int((neoPixelRed*dimmVal*neoPixelSwitch*neoPixelSpeed_1)/4), int((neoPixelGreen*dimmVal*neoPixelSwitch*neoPixelSpeed_1)/4), int((neoPixelBlue*dimmVal*neoPixelSwitch*neoPixelSpeed_1)/4))); - pixels.setPixelColor(ADR_NEOPXL_SPEED_2, pixels.Color(int((neoPixelRed*dimmVal*neoPixelSwitch*neoPixelSpeed_2)/4), int((neoPixelGreen*dimmVal*neoPixelSwitch*neoPixelSpeed_2)/4), int((neoPixelBlue*dimmVal*neoPixelSwitch*neoPixelSpeed_2)/4))); + pixels.setPixelColor(ADR_NEOPXL_SPEED_1, pixels.Color(int((neoPixelRed*dimmVal*neoPixelSwitch*neoPixelSpeed_1)/NON_ACTIVE_LED_DIVIDER), int((neoPixelGreen*dimmVal*neoPixelSwitch*neoPixelSpeed_1)/NON_ACTIVE_LED_DIVIDER), int((neoPixelBlue*dimmVal*neoPixelSwitch*neoPixelSpeed_1)/NON_ACTIVE_LED_DIVIDER))); + pixels.setPixelColor(ADR_NEOPXL_SPEED_2, pixels.Color(int((neoPixelRed*dimmVal*neoPixelSwitch*neoPixelSpeed_2)/NON_ACTIVE_LED_DIVIDER), int((neoPixelGreen*dimmVal*neoPixelSwitch*neoPixelSpeed_2)/NON_ACTIVE_LED_DIVIDER), int((neoPixelBlue*dimmVal*neoPixelSwitch*neoPixelSpeed_2)/NON_ACTIVE_LED_DIVIDER))); pixels.setPixelColor(ADR_NEOPXL_FILTER, pixels.Color(neoPixelRed*dimmVal*neoPixelSwitch*neoPixelFilter, neoPixelGreen*dimmVal*neoPixelSwitch*neoPixelFilter, neoPixelBlue*dimmVal*neoPixelSwitch*neoPixelFilter)); pixels.setPixelColor(ADR_NEOPXL_L1, pixels.Color(neoPixelRed*dimmVal*neoPixelSwitch*neoPixelLvl_1, neoPixelGreen*dimmVal*neoPixelSwitch*neoPixelLvl_1, neoPixelBlue*dimmVal*neoPixelSwitch*neoPixelLvl_1)); pixels.setPixelColor(ADR_NEOPXL_L2, pixels.Color(neoPixelRed*dimmVal*neoPixelSwitch*neoPixelLvl_2, neoPixelGreen*dimmVal*neoPixelSwitch*neoPixelLvl_2, neoPixelBlue*dimmVal*neoPixelSwitch*neoPixelLvl_2));