Striscia led WS2812 led sempre accesi di verde

Stavo costruendo un secondo orologio fatto con una striscia led da 5 volt di tipo WS2812 con un Arduino nano un rtc ed un encoder. L’encoder è l’arduino nano li ho recuperati da vecchi progetti. L’encoder infatti funziona ma solo interurtore quindi potrebbe essere una causa del problema (ma non credo). In pratica l’orologio funziona e si vedono i led delle ore e minuti e secondi che si illuminano per segnare l’ora solo che i led che dovrebbero essere spenti rimangono sempre accesi di colore verde. Cosa più causare il problema? Vi allego lo schema di collegamento

Il Tuo schema:

Cosa più causare il problema?

Secondo me é lo sketch che non ci stai facendo vedere.
Quanti WS2812 Stai usando e quanta corrente fornisce l'alimentatore?
Ciao Uwe

Ho provato sia con una striscia da 1 mt 60 led e sia con 2 da un metro collegate assieme da 30 led al metro. Il tutti e 2 i casi i led che dovrebbero essere spenti rimangono accesi di verde. Sto alimentando con un trasformatore da 5 volt di un tablet. Vi allego lo sketch. Ma lo avevo già fatto anni fa questo tipo di orologio ma era andato tutto bene ma alimentato con un piccolo alimentatore.

riseandshine_clock_v0_28_Rotary_Infinity.ino (35.4 KB)

Il problema si verifica anche se accendi un solo LED e lo fai giare?

Mi ripeto. Sará l' alimentatore troppo debole. Hai bisogno di uno che da 3,6A

Ciao Uwe

Il problema si presenta con l'orologio in funzione si vedono i led delle ore' minutine secondi che cambiano illustrazione ma i led che dovrebbero esser spenti sono accesi di verde e i led dei Min ore e secondi hanno i colori sballati perché c'è sempre il verde acceso. Ho provato ad alimentare con 2 trasformatori per un totale di 4.8 A, con uno la striscia di led è con l'altro l'arduino e l'rtc. Ma come immaginavo non è un problema di amperaggio. Ho anche provato a cambiare Arduino ed rtc ma a sto punto credo siano le strisce di led che sono fasulle.

Allora dacci un codice semplificato, senza tutti gli effetti luminosi, dove si verifica il problema.
Ciao Uwe

... meglio ancora, per provare la LED-strip di WS2812, ti scarichi la libreria NeoPixel di Adafruit e provi con l'esempio più banale, "simple", così sai subito se è un problema di quella striscia o del tuo software.

Guglielmo

gpb01:
... meglio ancora, per provare la LED-strip di WS2812, ti scarichi la libreria NeoPixel di Adafruit e provi con l'esempio più banale, "simple", così sai subito se è un problema di quella striscia o del tuo software.

Guglielmo

Ho provato a fare il test e con quello i led funzionano perfettente. Lo sketch so che funziona perché lo avevo già usato tempo fa. Può essere che questi siano ws2812 e per l'orologio servono i ws2812b? Cambia qualcosa tra i 2 modelli?

No, se con il "simple" la striscia funziona è sicuramente un errore nel tuo codice ...
... dovrai fare un bel po' di debug :wink:

Guglielmo

gpb01:
No, se con il "simple" la striscia funziona è sicuramente un errore nel tuo codice ...
... dovrai fare un bel po' di debug :wink:

Guglielmo

Ho cercato e nello sketch è specificato ws2811 non ws2812 come le strisce che sto usando.

beh, io ho un paio di domande:

  1. dove hai preso la libreria? nei commenti è citato un repositorio decaduto e il link rimanda a una versione nuova che NON compila il tuo codice (occhio: non parlo per sentito dire)
  2. hai visto che alla riga 113 quello che ha scritto il programma ha usato dei led differenti dai tuoi (sì, questo lo hai visto) e che ha inoltre dovuto cambiare la sequenza colore da RGB a GRB? negli esempi della libreria (aggiornata, non c'è traccia di questo)

medioman-ita:
Ho cercato e nello sketch è specificato ws2811 non ws2812 come le strisce che sto usando.

Il WS2811 é il controller senza LED al quale devi collegare 3 LED RGB.
Il WS2812 è un LED RGb con il controller WS2811 integrato.
Il WS2812B è simile al WS2812 ma ha solo 4 piedini. I 2 Pin mancanti sono uno non usato e l' altro la selezione della velocitá dei dati. Per Questo il Ws2812B ha solo una velocitá di comunicazione (quella piú alta).

Anche se la sequenza dei colori é sbaglaita se tutti i LED devono essere spenti lo sono indipendentemente dalla sequenza dei colori.

Ciao Uwe

uwefed:
Il WS2811 é il controller senza LED al quale devi collegare 3 LED RGB.
Il WS2812 è un LED RGb con il controller WS2811 integrato.
Il WS2812B è simile al WS2812 ma ha solo 4 piedini. I 2 Pin mancanti sono uno non usato e l' altro la selezione della velocitá dei dati. Per Questo il Ws2812B ha solo una velocitá di comunicazione (quella piú alta).

Anche se la sequenza dei colori é sbaglaita se tutti i LED devono essere spenti lo sono indipendentemente dalla sequenza dei colori.

Ciao Uwe

La cosa strana e anche se cambio la sequenza e i led dei minuti ore e secondi cambiano colore. Il colore dei led che dovrebbero essere spenti rimane sempre il verde.

Standardoil:
beh, io ho un paio di domande:

  1. dove hai preso la libreria? nei commenti è citato un repositorio decaduto e il link rimanda a una versione nuova che NON compila il tuo codice (occhio: non parlo per sentito dire)
  2. hai visto che alla riga 113 quello che ha scritto il programma ha usato dei led differenti dai tuoi (sì, questo lo hai visto) e che ha inoltre dovuto cambiare la sequenza colore da RGB a GRB? negli esempi della libreria (aggiornata, non c’è traccia di questo)

Si la cosa della sequenza dei colori me ne ero accorto da solo e nel mio caso va messo BRG se non ricordo male. In fondo vi metto il link del video e nella sua descrizione c’è il link dove si trova tutto il progetto. Il bello e che so che funziona e non c’è da sistemare il codice. Perchè lo avevo già fatto anni fa e non aveva dato problemi. Ho provato sia con i file che avevo messo da parte io sia con quelli riscaricati. Possibile che a distanza di anni i led siano cambiati e quindi ci sia da modificare qualcosa nello sketch per fargli usare le librerie nuove? P.s Ho visto video più recenti fatto da alti dove usavano lo stesso sketch ma a loro gli rimaneva tutto acceso ma di bianco.

Non credo che un WS2812 di 3 anni fa sia diverso da un Ws2812 di oggi.

Ripeto la mia richiesta.
Dacci uno sketch minimale che Ti da il problema. Non ho voglia di analizzare il sketch che ci hai dato che ha 10000 funzioni aggiuntive di lampeggi.
Ciao Uwe

uwefed:
Non credo che un WS2812 di 3 anni fa sia diverso da un Ws2812 di oggi.

Ripeto la mia richiesta.
Dacci uno sketch minimale che Ti da il problema. Non ho voglia di analizzare il sketch che ci hai dato che ha 10000 funzioni aggiuntive di lampeggi.
Ciao Uwe

Adesso ho capito cosa avevi chiesto. Ho provato cercare solo quello che mi hai chiesto ma non ci capisco nulla. Ma visto che questo problema lo da sempre non credo che il problema si possa individuare nel codice del tipo di illuminazione dell'orario.
Lo sketch ha diversi tipi di illuminazioni per la schermata dell'ora il timer e sveglia e si comanda tutto con un encoder.

Ho scoperto che erano le librerie dei led. Ho preso l'ultima versione delle librerie e messo un file dalle librerie originali che mancava in quelle nuove. Adesso funziona come si deve.

Bene; abbiamo risolto.
Ciao Uwe