Hallo zusammen,
ich versuche mich grad etwas im Code kürzer schreiben. Der Code funktioniert soweit. Ich möchte diesen aber irgendwie kürzer schreiben. Mit kürzer versuche ich auch Zeilentechnisch sowie "weniger" Speicherplatz zu verwenden. Evtl. geht es ja auch gar nicht bei diesem Code?
Ich habe auch versucht den Code als Funktion zu schreiben, jedoch scheint der Complier meinen Code nicht zu schlucken. Ich Habe versucht sämtliche "Operatoren" mit zu übergeben. Was natürlich nicht funktioniert hat.
Kann man den überhaupt Werte + Operatoren an eine Funktion oder einer "for-Schleife" übergeben?
Hier der Code
void AutoBacklight() // Loop für Automatische Backlight Steuerung
{
if (Backlight == true) { // Wenn Backlight auf (HIGH) Automatisch steht, dann....
LDR = analogRead(analogPin); // ... den Analogen Pin einlesen und den Wert in "LED" speichern (Bereich 0(ganz Hell) - 1023(ganz Dunkel))
if (LDR >850) { // Wenn der "LDR" Wert >850 ( Also sehr Dunkel)
for(Blight ; Blight >= 80; Blight -=5) { // Fahre Backlight herunter von Wert x zu Wert 80 per increment in 5er Schritten:
analogWrite(BlightLED, Blight); // Schreibe neuen Wert von "Blight"
delay(15); // Warte 15ms um den Dimmungseffekt zu sehen
}
for(Blight ; Blight >= 1 && Blight <= 75; Blight -=1) { // Fahre Backlight herunter von Wert 75 zu Wert 1 per increment in 1er Schritten:
analogWrite(BlightLED, Blight); // Schreibe neuen Wert von "Blight"
delay(15); // Warte 15ms um den Dimmungseffekt zu sehen
}
}
if (LDR <700) { // Wenn der "LDR" Wert <700 ( Also wenns Dämmert bis Dunkel)
for(Blight ; Blight <= 15; Blight +=1) { // Fahre Backlight rauf bis Wert 15 per decrement in 1er Schritten:
analogWrite(BlightLED, Blight); // Schreibe neuen Wert von "Blight"
delay(15); // Warte 15ms um den Dimmungseffekt zu sehen
}
}
if (LDR >=550 && LDR <=650) { // Wenn der "LDR" Wert zwischen 550 und 650 liegt ( Also Hell bis Dämmert)
for(Blight ; Blight >= 20; Blight -=5) { // Fahre Backlight herunter bis auf Wert 20 per increment in 5er Schritten:
analogWrite(BlightLED, Blight); // Schreibe neuen Wert von "Blight"
delay(15); // Warte 15ms um den Dimmungseffekt zu sehen
}
}
if (LDR <=450) { // Wenn der "LDR" Wert zwischen <=450 liegt ( Also sehr Hell)
for(Blight ; Blight <= 250; Blight +=5) { // Fahre Backlight rauf bis Wert 255 per decrement in 5er Schritten:
analogWrite(BlightLED, Blight); // Schreibe neuen Wert von "Blight"
delay(15); // Warte 15ms um den Dimmungseffekt zu sehen
}
}
}
}
