Hochinteressant ... und gleichzeitig ärgerlich wenn man feststellt, was für faule Eier man sich bei gedankenlosem Copy&Paste ins Nest holen kann! Die ganze Zeit über brodelte es im Hinterkopf, was diese übernommene While-Schleife eigentlich bewirken soll?! Als ich mir gerade meine alten Sketches ansah, bin ich über diesen Bock gestolpert: Die ganze Konstruktion aus dem Ursprungs-Sketch ist m.E. "falsch herum" und die loop() kann noch weiter vereinfacht werden:
void loop()
{
for( byte LED = 0; LED < 17; LED++ )
{
if( millis() - ledtime[LED] >= ( ledtakt[LED] *100 ) )
{
ledtime[LED] = millis();
digitalWrite( LED, !digitalRead(LED) );
}
}
}
Test-Ergebnis: Die LEDs blinken genau so lustig wie in der ersten Version, identische Muster, man spart noch mal knapp 60 Byte Flash, die loop() wird übersichtlicher, ungeprüftes Copy&Paste macht einem das Leben schwerer als notwendig...
Beste Grüße, nächste Tage ist auf jeden Fall Umzug auf dem Programm
Rudi