Effetto luci (Running + fade)

Ciao a tutti, mi sono appena iscritto al forum essendo un nuovo utilizzatore di arduino. In realtà non sono un programmatore ma un modellista che sta cercando di ricreare un effetto per un modello che sto costruendo; per chi la conosce la Space Battleship Yamato (Starblazer). Prima di scrivere sul forum a chiedere aiuto ho provato a vedere diverse soluzioni su libri, forum, ecc. ma non riesco a capire l'utilizzo di alcune funzioni e variabili. Cerco di descrivere l'effetto finale che vorrei creare... Elementi: 4 led 1 led RGB

Esecuzione:

I 4 led fanno un running che accelera ad ogni ciclo: sono riuscito a farlo... nel mentre il led RGB passa da un colore (giallo) ad un altro (blu) una sola volta mentre il ciclo sopra è in esecuzione: non sono riuscito a farlo. Quando il running arriva ad una certa velocità il led RGB (blu) brilla ancora di più e i 4 led si spengono... dopo un tempo N il led RGB fa un fade-out a spegnersi: non sono riuscito a farlo.

Sono riuscito a fare il cambio di colore del led RGB su uno sketch a parte, ma come lo inserisco si blocca l'esecuzione del running.

Ho provato a mettere insieme dei codici che ho trovato su diversi forum, ma non riescono a lavorare insieme.

Credo che il problema sia l'istruzione "delay" che blocca il tutto quando metto insieme il tutto (i 4 led fanno un "giro" e si blocca sull'ultimo acceso).

Qualcuno riesce a darmi una mano? Grazie per il tempo che mi vorrete dedicare.

Prima di tutto, essendo il tuo primo post, dovresti presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione) e leggere con attenzione il REGOLAMENTO ...

... poi, per il tuo problema, devi studiarti come si usa la millis() prima QUI, poi QUI ed infine leggi anche QUI e QUI ... vedrai che ti sarà tutto più chiaro ;)

Guglielmo

P.S.: Mi raccomando le resistenze sui LED o ... bruci Arduino ...

Ciao Guglielmo,
grazie per la pronta risposta…
leggo le guide che mi hai indicato e provo a riscrivere lo sketch.
Ho già inviato le presentazioni sul topic giusto.
Come ho aggiornamenti riscriverò sul forum.
A presto

Angelo

Bene !

Ricorda sempre che hai ha disposizione il loop() che gira in continuazione ... ... sfruttando questa cosa, ed il tempo che passa, in realtà puoi gestire molte cose senza mai fermarti (... delay() ), ma solo verificando se è il momento o meno di fare una data cosa ;)

Guglielmo