Eerst gaan led 1 tot en met led 6 aan beginnend met led 1 en eindigen met led 6 zodat je eindigt met alle leds brandend.
Daarna gaan led 1 tot en met led 6 uit beginnend met led 1 en eindigen met led 6 zodat je eindigt met alle leds uit.
Ik heb de ontwikkeling niet gezien, zie alleen wat je nu in je Wokwi hebt.
Dat doet wel ongeveer wat je vraagt.
Je beschrijving van wat je in debug zag, had te maken met een fout in de overflow afhandeling, wanneer je aan het aftellen was.
Wel jammer dat je weer de debug eruit hebt gesloopt.
Wat mij opvalt aan de werking, is dat wanneer je je cirkel rond bent, er een extra delay gedaan lijkt te worden.
Dus LED 0 aan of uitzetten, duurt langer dan de tijd die tussen elke andere LED handeling zit.
Wat me ook opvalt, is dat je digitale writes doet met analoge waardes.
Dat werkt, omdat je dan niet de digitale waarde nul schrijft, maar het is niet netjes en gaat jou in de toekomst verwarren.
Ik raad je daarom aan om analoge waardes te schrijven want dat was het uiteindelijke effect wat ik voor ogen had (vergelijkbaar met 'staart').
Dan kun je het wel met een waarde als 255 doen zonder dat dat tot verwarring zou kunnen leiden.
Ik heb weer wat extra debug erin gehackt, en daarmee kan ik verklaren wat ik hierboven zag en een opmerking over maakte, en ik kan je ook zeggen dat je het risico loopt op vastlopen van je sketch omdat je buiten je gedeclareerde geheugen werkt.
Dit zijn wel dingen die je al eerder opgelost hebt.
Nog een laatste tip:
Laat je debug in je code staan.
Als jij er geen gebruik meer van denkt te hoeven maken, maak er dan commentaar van.
Dan kan iemand die met je mee wil kijken, dat commentaar weer weghalen en zien wat er gebeurt, zonder dat die je sketch moet gaan zitten hacken om uit te vinden wat er precies gebeurt.
Hmm.
Nu zie ik dat je wel wat debug had laten staan maar dat dat niet werkte in Wokwi.
Pas nadat ik meer debug erin had gezet, werkt die ene regel van jou ook weer.
Kijk goed naar de LEDs en kijk dan ook naar jouw debug informatie.
sterretje heeft gelijk, het is het een of het ander en zijn uitleg klopt ook precies.
Jouw recentste code is inderdaad wat ik in gedachten had, maar het gaat wel ietsje verder.
Want als je alleen maar aan of uit hebt, werken de laatste serie aanpassingen niet zo goed.
Je kunt ze met en zonder fading uitwerken (dat faden gaat je wel wat meer uitdagen), maar ik denk dat met het mooiste resultaat zal geven.
Dit is geen opdracht, maar een voorstel waar je wel of niet (of wat daar ook tussenin te vinden is) kunt oppakken.
Als "hoofdprogramma" je huidige LCD/knoppen/LEDs programma is wordt dat een beetje lastig.
Zoals gezegd zou ik een test programma schrijven met aangepaste pins.h, output.h en output.cpp bestanden.
In het ino bestand zou ik een simpel effect implementeren (FastLed blink.ino of Adafruit's simple.ino) dat gebruik maakt van een aangepaste setOutputs() en de aangepaste pwmLed() / pwmAll() functies.
Dit is gebaseerd op de FastLED bibliotheek. Het gebruikt delay() maar dat is geen probleem als je dit gebruikt om je pwmLED() / pwmAll() te testen hetgeen het doel is van de oefening.