Przyciemnienie nieaktywnego ustawienia led

This commit is contained in:
sieja
2025-07-13 12:45:35 +02:00
parent 2c0ddc93bc
commit 73249722e4

View File

@@ -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));