Ik hoop dat ik je vraag goed begrepen heb, en dat is dat je wil dat je LEDs allemaal knipperen maar wel in een ander ritme.
Als dat zo is, maak dan een hoofdteller die voor alle 3 de LEDs telt; de hartslag. [edit]Ik denk namelijk dat je tot nog toe voor elke LED een eigen teller hebt gemaakt, waardoor ze niet tegelijkertijd knipperen[/edit]
De snelle knipperaar laat je bij elke hartslag aan of uit gaan.
De middelste laat je bij elke 2e hartslag aan of uit gaan.
De langzame laat je dan bij elke 4e hartslag aan of uit gaan.
Volgens mij kun je op die manier de opdracht uitvoeren.
Natuurlijk kun je nadat je dit gedaan hebt, ook bijvoorbeeld de middelste elke 4e hartslag laten nemen en de 3e elke 10 hartslag, waarmee je een heel ander visueel effect maakt.
Die 2e variant die ik hier noem, dat zijn de dingen die boven de opdrachten uitgaan en waarvan ik overtuigd ben dat je daar het meeste van gaat leren en er plezier aan zult beleven.
Zeker wanneer je zelf een variant gaat bedenken op die opdracht, en die succesvol uitvoert.
Voor dit voorbeeld heb je dat nog niet nodig, omdat voor zover ik het begrijp de sketch alleen maar het knipperen van de LEDs behelst.
Deze oefening is bedoeld om dat met de hartslag te leren en het volstaat nu om je daar nog even toe te beperken.
Je gaat er later veel profijt van hebben dat je dit nu geleerd zal hebben.
De cursus volgt een zekere volgorde om je bekend te maken met de Arduino en programmeer ideeen. Dus zou het niet nodig moeten zijn om een paar hoofdstukken over te slaan om het gebruik van millis() te bestuderen.
Wat @MAS3 met een hartslag bedoeld is een klok met bv alleen de sekonden wijzer. Iedere keer dat die verspringt is dat een tik en kun je iets doen; die tik van de sekonden wijzer kun je bv implementeren met delay(1000).
In de suggestie van MAS3 is het "iets doen" het tellen van tikken; je houdt een teller bij voor iedere LED en als die teller een bepaalde waarde bereikt schakel je de bijbehorende LED aan of uit. Voor een LED die snel knippert kan die waarde van de teller 1 zijn, voor de langzame LED bv 10 en voor de LED die daar tusenin zit kwa snelheid kun je bv 7 gebruiken.
oke, en dan de "klok" eeuwig laten doorlopen of op een bepaald moment weer op nul zettten.
Kan me voorstellen als ik de "klok" eeuwig laat doorlopen dat het geheugen een keer vol loopt en de arduino "crasht"
Het gebruik van de voorwaardelijke operator "ternary operator" wordt soms over het hoofd gezien om dergelijke code te vergemakkelijken: 3 LEDs, different speed - Pastebin.com (quick & dirty code voor een ESP32)
Vooruit denken is juist een goede eigenschap, dus dat moet je vooral blijven doen.
Uiteraard moet het wel in balans blijven
Ik denk ook niet dat de cursus die je nu volgt er bij gebaat is om de oplossingen te gaan googlen, waarbij je dan uitkomt op een code die voor een beginner niet te volgen is ook al doet die precies wat er beschreven is in de opdracht.
kijk vooral eens naar de les2 waar uitgelegd wordt voor een timer zonder delay (maar dus wel mills() dat is even puzzelen maar als je dat eenmaal doorhebt gaat de werled open voor allerlei multi dingen
Bedankt voor de link naar de cursus; ik weet nu in ieder geval dat je Engels verstaat
Een advies: in les 4 (die ik bekeken heb) lijkt het erop dat bedrading wordt veranderd terwijl de Arduino nog aan is. Hoewel dat in dit geval niet al te gevaarlijk is moet je dat eigenljk nooit doen; je loopt het risico dat je je Arduino of aangesloten componenten beschadigd.
ja, verkeerde zaken.
En dan heel veel tijd moeten steken om de goede te leren.
Daarom ben ik ook helemaal afgeknapt op web design. Van een "mentor" hele verkeerde zaken geleerd zodat ik met complexe sites helemaal in de knoop kwam.