1

Implement simple dim

This commit is contained in:
eleksir
2019-10-07 03:35:01 +03:00
parent ccb12d2076
commit acc53eaa74

View File

@@ -49,7 +49,9 @@ volatile bool timeSkewEven = false; // comp. 1 additional second per 2 days
/* ambient light compensation aka night mode */
const int photoPin = A2;
volatile bool measureAmbLight = true;
unsigned int ambLight = 0;
unsigned int ambLight = 0; // actual value
unsigned int ambLight2 = 0; // previous med. value
unsigned int ambLight3 = 0; // pre-previous med. value
unsigned long previousLightTimer = 0;
const long refresh_interval = 40; // refresh rate 25Hz
@@ -238,6 +240,7 @@ void loop()
(previousLightTimer > currentMillis)) { // millis() reset every ~49 days
previousLightTimer = currentMillis;
ambLight = analogRead(photoPin);
ambLight = (ambLight + ambLight2 + ambLight3) / 3;
/* Ambient light compensation
* ambLight can be in range of 0..1023, if it 910+, it has point to use
@@ -279,6 +282,9 @@ void loop()
} else if (ambLight < 100) {
Display.setBrightness(-22);
}
ambLight3 = ambLight2;
ambLight2 = ambLight;
}
Display.refreshDisplay();