2 For Schleifen - ich steh grad aufm Schlauch....

Hi,
ich will dass die 16 Channels meines TLCs gleichzeitig dimmen.
Dazu habe ich diesen Code:

void loop()
{
  for (int j=0; j<15; j++) {
    Serial.print("TLC Channel: ");
        Serial.println(j, DEC);
        delay(10);
    
    for (int i=4095; i>0; i--) {
          Serial.print("TLC Wert: ");
        Serial.println(i, DEC);
        Tlc.clear();  
        Tlc.set(j, i);
        Tlc.update();     
             delay(10);   
        }
    }  
}

Was passiert wird den meisten hier klar sein, es wird jeder Channel nacheinander gedimmt.
Vermutlich ist die Lösung ziemlich simpel aber ich komm grad einfach nicht drauf, wie ich das angehen muss. Hoffe auf ne kleine Hilfestellung
Gruß
THorsten

Tausch die beiden fors aus. :slight_smile:

meinste durch ne while schleife?
Ich probiers einfach mal...

na damit hats nich geklappt....

void loop()
{
  int j=0;
  while (j<16) {
    Serial.print("TLC Channel: ");
        Serial.println(j, DEC);
        delay(1000);
      int i=4095;
      while (i>0) {
          Serial.print("TLC Wert: ");
        Serial.println(i, DEC);
                Tlc.clear();  
        Tlc.set(j, i);
        Tlc.update();     
             delay(1000);   
             i--;
        }
        j--;
    }  
}

dann mal das nächste: if

tauschen != ersetzen: :roll_eyes:

Dein Code (erste Variante):
-alle channels durchgehen und jeden einzelnen von 4095 auf 0 runterzählen

Was Du willst:
-alle channels zugleich runterzählen

dazu:

void loop()
{
  for (int i=4095; i>0; i--) { //erst den TLC Wert runterzählen
     Serial.print("TLC Wert: ");
      Serial.println(i, DEC);
     delay(10);
    
    for (int j=0; j<15; j++) { //dann auf alle Channels anwenden
    Serial.print("TLC Channel: ");
     Serial.println(j, DEC);
        
        Tlc.clear();  
        Tlc.set(j, i);
        Tlc.update();     
             delay(10);   
        }
    }  
}

Tipp: immer gucken was wirklich passiert! Dann siehst Du was passiert und findest den Fehler selber.
Dein while-Konstukt macht das gleiche wie Dein erstes Script (alle Channels durchgehen und jeden einzelnen von 4095 auf 0 runterzählen).

salü

tja - so einfach kann es manchmal sein und doch kommt man nicht drauf.
Habe mir fast gedacht, dass es so kommt :wink:
naja... ich schieb das jetzt mal auf die Uhrzeit, bedanke mich und geh schlafen 8)