Korekta GREEN - RED

obsługa kolorowania diody poziomu wody
This commit is contained in:
sieja
2025-07-13 15:38:27 +02:00
parent 148ff2a4c5
commit d145590bd3

View File

@@ -80,7 +80,7 @@ float lux = 0.0;
//NEOPIXELS VARIABLES
int8_t neoPixelSwitch = 1;
int8_t neoPixelRed = 10;
int8_t neoPixelRed = 0;
int8_t neoPixelGreen = 10;
int8_t neoPixelBlue = 10;
@@ -94,6 +94,7 @@ int8_t neoPixelLvl_4 = 1;
int8_t neoPixelLvl_5 = 1;
int8_t neoPixelWaterLvlR = 1;
int8_t neoPixelWaterLvlG = 1;
int8_t neoPixelWaterLvlB = 1;
int8_t neoPixelTank = 1;
@@ -110,7 +111,6 @@ void IRAM_ATTR speedButtonFcn() {
if (fanSpeedVal >= 3) {
fanSpeedVal = 1;
}
}
void IRAM_ATTR hygrostatButtonFcn() {
hygrostatVal = hygrostatVal + 5;
@@ -393,23 +393,39 @@ void loop() {
neoPixelLvl_5 = 1;
}
if (dimmStep == 0 ){
analogWrite(LED_WHT_TANK, 0);
// wartości zależne od sposobu zasilania PC/Powerbank/Ładowarka
//46-47 - sonda nie dotyka wody
//26 - ledwo na dnie
// 25 jest troche wody
// 24-25 połowa zbiornika
// 23-24 pełen zbiornik
if (waterLvlVal >= 38) { // Empty TANK
neoPixelWaterLvlR = 10;
neoPixelWaterLvlG = 0;
neoPixelWaterLvlB = 0;
analogWrite(LED_WHT_TANK, dimmVal * 8);
analogWrite(LED_RED_TANK, 0);
} else {
if (waterLvlVal >= 45 ) { // waterLvlVal > 45 znnaczy bez wiody
neoPixelWaterLvlR = 1;
neoPixelWaterLvlG = 0; //Przygotowanie pod żółty kolor jak mało wody
// tu set fan
}
if (waterLvlVal < 40 && waterLvlVal >= 25) { //a bit of water TANK
neoPixelWaterLvlR = 10;
neoPixelWaterLvlG = 10;
neoPixelWaterLvlB = 0;
analogWrite(LED_WHT_TANK, 0);
analogWrite(LED_RED_TANK, dimmVal*NON_ACTIVE_LED_DIVIDER);
} else {
neoPixelWaterLvlR = 0;
neoPixelWaterLvlG = 1;
analogWrite(LED_WHT_TANK, dimmVal*NON_ACTIVE_LED_DIVIDER);
analogWrite(LED_RED_TANK, 0);
analogWrite(LED_RED_TANK, dimmVal * 8);
}
if (waterLvlVal <= 24) { // FULL TANK
neoPixelWaterLvlR = neoPixelRed;
neoPixelWaterLvlG = neoPixelGreen;
neoPixelWaterLvlB = neoPixelBlue;
analogWrite(LED_WHT_TANK, 0);
analogWrite(LED_RED_TANK, dimmVal * 8);
// tu set fan
}
// if minął czas -> resetVal = 0;
if (resetVal == 1) {
@@ -424,17 +440,16 @@ void loop() {
// #################################################################
// #################################################################
pixels.clear();
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));
pixels.setPixelColor(ADR_NEOPXL_L3, pixels.Color(neoPixelRed*dimmVal*neoPixelSwitch*neoPixelLvl_3, neoPixelGreen*dimmVal*neoPixelSwitch*neoPixelLvl_3, neoPixelBlue*dimmVal*neoPixelSwitch*neoPixelLvl_3));
pixels.setPixelColor(ADR_NEOPXL_L4, pixels.Color(neoPixelRed*dimmVal*neoPixelSwitch*neoPixelLvl_4, neoPixelGreen*dimmVal*neoPixelSwitch*neoPixelLvl_4, neoPixelBlue*dimmVal*neoPixelSwitch*neoPixelLvl_4));
pixels.setPixelColor(ADR_NEOPXL_L5, pixels.Color(neoPixelRed*dimmVal*neoPixelSwitch*neoPixelLvl_5, neoPixelGreen*dimmVal*neoPixelSwitch*neoPixelLvl_5, neoPixelBlue*dimmVal*neoPixelSwitch*neoPixelLvl_5));
pixels.setPixelColor(ADR_NEOPXL_WATERLVL, pixels.Color(neoPixelRed*dimmVal*neoPixelSwitch*neoPixelWaterLvlR, neoPixelGreen*dimmVal*neoPixelSwitch*neoPixelWaterLvlG, 0));
// pixels.setPixelColor(ADR_NEOPXL_TANK, pixels.Color(neoPixelRed*dimmVal*neoPixelSwitch*neoPixelTank, neoPixelGreen*dimmVal*neoPixelSwitch*neoPixelTank, neoPixelBlue*dimmVal*neoPixelSwitch*neoPixelTank));
pixels.setPixelColor(ADR_NEOPXL_SPEED_1, pixels.Color(int((neoPixelGreen * dimmVal * neoPixelSwitch * neoPixelSpeed_1) / NON_ACTIVE_LED_DIVIDER), int((neoPixelRed * 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((neoPixelGreen * dimmVal * neoPixelSwitch * neoPixelSpeed_2) / NON_ACTIVE_LED_DIVIDER), int((neoPixelRed * 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(neoPixelGreen * dimmVal * neoPixelSwitch * neoPixelFilter, neoPixelRed * dimmVal * neoPixelSwitch * neoPixelFilter, neoPixelBlue * dimmVal * neoPixelSwitch * neoPixelFilter));
pixels.setPixelColor(ADR_NEOPXL_L1, pixels.Color(neoPixelGreen * dimmVal * neoPixelSwitch * neoPixelLvl_1, neoPixelRed * dimmVal * neoPixelSwitch * neoPixelLvl_1, neoPixelBlue * dimmVal * neoPixelSwitch * neoPixelLvl_1));
pixels.setPixelColor(ADR_NEOPXL_L2, pixels.Color(neoPixelGreen * dimmVal * neoPixelSwitch * neoPixelLvl_2, neoPixelRed * dimmVal * neoPixelSwitch * neoPixelLvl_2, neoPixelBlue * dimmVal * neoPixelSwitch * neoPixelLvl_2));
pixels.setPixelColor(ADR_NEOPXL_L3, pixels.Color(neoPixelGreen * dimmVal * neoPixelSwitch * neoPixelLvl_3, neoPixelRed * dimmVal * neoPixelSwitch * neoPixelLvl_3, neoPixelBlue * dimmVal * neoPixelSwitch * neoPixelLvl_3));
pixels.setPixelColor(ADR_NEOPXL_L4, pixels.Color(neoPixelGreen * dimmVal * neoPixelSwitch * neoPixelLvl_4, neoPixelRed * dimmVal * neoPixelSwitch * neoPixelLvl_4, neoPixelBlue * dimmVal * neoPixelSwitch * neoPixelLvl_4));
pixels.setPixelColor(ADR_NEOPXL_L5, pixels.Color(neoPixelGreen * dimmVal * neoPixelSwitch * neoPixelLvl_5, neoPixelRed * dimmVal * neoPixelSwitch * neoPixelLvl_5, neoPixelBlue * dimmVal * neoPixelSwitch * neoPixelLvl_5));
pixels.setPixelColor(ADR_NEOPXL_WATERLVL, pixels.Color(dimmVal * neoPixelSwitch * neoPixelWaterLvlG, dimmVal * neoPixelSwitch * neoPixelWaterLvlR, dimmVal * neoPixelSwitch * neoPixelWaterLvlB));
// pixels.setPixelColor(ADR_NEOPXL_TANK, pixels.Color(neoPixelGreen*dimmVal*neoPixelSwitch*neoPixelTank, neoPixelRed*dimmVal*neoPixelSwitch*neoPixelTank, neoPixelBlue*dimmVal*neoPixelSwitch*neoPixelTank));
pixels.show();
// rainbowCycle(10); // im mniejsza liczba, tym szybsza animacja
}