Jag försöker komplettera en befintlig kod (Arduino) att styra bakgrundsbelysningen på en display. Belysningen styrs via en MOSFET och den elektriska kopplingen fungerar bra, jag kan tända och släcka samt dimma, så där är inte problemet. Lägger in den delen av koden som jag jobbar på, tanken är att tända belysningen när man trycker på en knapp som startar en mätning...
"measState" kommer från befintlig kod och aktiveras när knappen trycks in. Tanken är att tända displayen och låta den vara tänd så länge som "backlightDelay" säger (just nu 3000ms), för att sedan dimmas ner till noll och förbli släkt. Det som händer är att displayen tänds, mätningen utförs och enheten återgår till att vänta på ny knapptryckning, men displayen slocknar aldrig... Jag har testat och fått dimnings-funktionen att fungera separat, men inte här
Kod: Markera allt
// Step the current state.
measState = (measState + 1) % 4;
// Turn on backlight and fade down -----------
if (measState <= 1) // Check status
{
startTime = millis(); // Get time stamp
digitalWrite(backlightPin, HIGH); // Turn on backlight
if ((millis() - startTime) > backlightDelay) // Check delay time since status change
{
for (i = 255; i > 0; --i){ // loop from 254 to 0 (fade out)
brightness = i;
analogWrite(backlightPin, brightness);
delay(fadeDownDelay);}
}
}
// End backlight function --------------------