Errore Ciclo con WS2812 RGB 8X8 e millis()

ciao a tutti,sono nuovissimo su questo forum e in questa bella comunità.
Sono sempre rimasto affascinato dalla programmazione e dal mondo ARDUINO.

Quest’anno ho preso coraggio e ho cercato di fare un presepe controllato dalla mia centralina Arduino MEGA 256.

Ho scritto le righe sotto di codice ma ho un problema sui tempi.
Ho creato 5 cicli indipendenti,per quanto riguarda i led sembra che tutto rispetti i piani,ma il mio problema sta nel primo ciclo dove vado a controllare una WS2812 RGB matrix 8x8.
Con questa volevo fare le fasi del giorno(alba e tramonto in fade) e le altre fasi in accensione costante.

Ho fatto una prima versione con i delay() dentro ogni fase del giorno e tutto sembra andare bene,ma perdo al possibilità di avere più cicli in parallelo.

Così mi sono dato al millis().
Ancora però qualcosa non torna.L’alba avviene in un istante così come la transizione al rosso del tramonto e il fade.

Ho deciso di scrivere a voi perchè grazie al forum ho trovato molti aiuti,ma il tempo stringe e natale è alle porte…

Qualcuno sa aiutarmi?

grazie mille e tanti auguri!!!

Gianni

fade_coml_v6.ino (6.31 KB)

Buonasera,
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:

nessuno mi può dare una mano?
auguri di buon natale!

Gigainrete:
nessuno mi può dare una mano?
auguri di buon natale!

Nel ricambiare gli AUGURI, ti rammento che sotto le feste ... difficile ottenere risposte in tempi brevi ... in questi giorni tutti sono impegnati in altre cose :smiley: :smiley: :smiley: ... porta pazienza ... :wink:

Guglielmo

Primo: auguri

secondo: durante l'alba, quando aggiorni passo a passo la luminosità dei varii neopixel, io direi che sarebbe il caso di mettere un piccolo tempo di attesa dopo aver aggiornato con Matrix1.show() altrimenti non credo che tu abbia il tempo di vedere l'effettiva rampa di accensione
questo probabilmente ti rovina tutto il lavoro di millis e il ciclo con le case, le stelle etc etc
non ci posso fare nulla, il programma è così e così funziona
tempo fa avevo pubblicato qualcosa di simile, che prevedeva un po' tutti i casi, ma ormai è tardi per ripartire da capo, prova a vedere cosa si può fare giocando coi tempi