Quale board per illuminazione led?

Salve,
avrei bisogno di suggerimenti su quale potrebbe essere l'hardware appropriato da inserire nell'impianto di 1400 led addressabili che ho costruito (sono dei ws2815)

Attualmente sto usando un arduino mega, ma il limite del clock si fa sentire (o meglio vedere) perchè quando attivo degli effetti luce va tutto a rilento, cosa che non succede se invece ad esempio imposto solo 200 led attivi, allora l'effetto si vede abbastanza fluido

Una cosa fondamentale è che ho bisogno della connessione wifi e che sia supportato dalla libreria Fastled

Grazie in anticipo per l'aiuto

Ovviamente, più led piloti e più lento è, perchè i led sono pilotati per via seriale.
Però, sul datasheet leggo:

  • Data transmitting at speeds of up to 800 Kbps.
  • When the refresh rate is 30 fps, cascade numbers is at least 1024 pixels.
    Tu sei vicino a questi valori, per cui non dovresti vedere rallentamenti.
    Come piloti la sequenza? Magari quello che rallenta è il calcolo che fai prima di dare in pasto il tutto alla libreria che passa i dati ai led.

Maurizio

Se vuoi provare qualcosa di più performante e che costa poco, potresti valutare la board ESP32.
Lavora a 160 o 240 MHz ma la cosa bella è che (oltre ad avere integrato wifi) puoi lavorare con due core separati.

Per un progetto avevo bisogno che nulla si bloccasse durante la connessione wifi (riconnessione wifi e mqtt) ed avevo proprio spostato su un core la gestione delle connessioni e sull'altro core il funzionamento dello sketch base.

Non ho approfondito il discorso della libreria fastled ma ho provato banalmente una strip led con dei WS2815 (pochi led, un centinaio circa) ed ha funzionato senza problemi.

... e se passi ad ESP32, guarda la libreria NeoPixelBus ... estremamente più performate di TUTTE le altre e capace di gestire i neopixel tramite il DMA. Ne avevo parlato anche QUI in relazione all'ESP8266.

Guglielmo

maubarzi:

Ho usato degli sketch di esempio di fastled

khriss75:

Anche i tuoi sono addressabili?
Sarebbe esattamente quello a cui punto, la connessione mi serve appunto per mqtt
Per curiosità, che board e che libreria hai usato?

Avrei una portenta h7 a disposizione, ma non sono riuscito a trovare una libreria che funzioni (o forse sono io il problema)

gpb01:
... e se passi ad ESP32, guarda la libreria NeoPixelBus ... estremamente più performate di TUTTE le altre e capace di gestire i neopixel tramite il DMA. Ne avevo parlato anche QUI in relazione all'ESP8266.

Guglielmo

Ho guardato un pò in rete, quale esp32 mi consigli che abbia almeno 100/120mhz e che mi mandi il segnale in 5v?

bakust:
... mi mandi il segnale in 5v?

... gli ESPxxxx sono tutti a 3.3V, devi usare un level converter tipo QUESTO (... che va benissimo visto che lo uso normalmente con dette schede).

Guglielmo

gpb01:
... gli ESPxxxx sono tutti a 3.3V, devi usare un level converter tipo QUESTO (... che va benissimo visto che lo uso normalmente con dette schede).

Guglielmo

Scusami per lo strafalcione :smiley:

In tal caso opterei per un WeMos D1 R2 e prendo il convertitore; la libreria di cui parlavi nell'altro post ho visto che supporta anche i WS2813, quindi dovrebbe andare bene anche con i WS2815 giusto?
Sono gli stessi solo che invece di avere una tensione di 5v sono a 12v

bakust:
In tal caso opterei per un WeMos D1 R2

... parliamo di MCU di classe piuttosto diversa ... gli ESP8266 sono dei mono core, gli ESP32 sono dual core !!!

Guglielmo

gpb01:
... parliamo di MCU di classe piuttosto diversa ... gli ESP8266 sono dei mono core, gli ESP32 sono dual core !!!

Guglielmo

QUESTO é quello di cui parlo, è marcato ERP8266

Ma a che ti serve così grande? :o

Non vanno bene le varie schedine WeMos D1 Mini (per restare su ESP8266) o una delle tante ESP32 che hanno tutte una dimensione molto più ridotta?

Guglielmo

Tipo questo,
questo oppure questo?

Sono equivalenti esatto?

gpb01:
Ma a che ti serve così grande? :o

Non vanno bene le varie schedine WeMos D1 Mini (per restare su ESP8266) o una delle tante ESP32 che hanno tutte una dimensione molto più ridotta?

Guglielmo

Scusa se ti rompo le scatole ancora, ma di elettronica so solo le basi :cry:

Ho preso le wemos d1 mini e il level converter, ma guardando un pò in giro vedo che ognuno ha la sua versione su come collegarli, poi ho visto che ci sono svariati schemi con alimentazione esterna a 5v, ma non si può usare il pin 5v del wemos per alimentare il level converter?

Non vorrei fare qualche cavolata

PS: tra l'altro ho fatto una prova con 10 led che mi erano avanzati e funziona anche senza level converter

Il 5V del WeMos vanno al VHIGH del Level Converter, i 3.3V del WeMos al VLOW del level converter ... poi entri con il WeMos sui pin lato 3.3V ed esci sui pin dal lato 5V ... non ci sono molte possibilità.

E NO non è assolutamnete garantito che i WS2812 funzionino a 3.3V ... può andare come non può andare, le specifiche parlano di 5V.

Ah ... i WS21812 si distruggono all'istante se arriva il segnale sul pin DIN prima che ci sia l'alimentazione, quindi ... evita giochi strani con le alimentazioni.

Guglielmo

Ok, quindi se ho capito bene, il level converter va alimentato sia sui 5v che sui 3.3v, la GND è collegata insieme, mentre nell'esempio del d1 mini devo uscire sul GPIO3, andare a collegarmi su un pin lato Low Voltage del level converter ed uscire sul pin corrispondente a 5v che poi va collegato alla striscia a led.
Con arduino usavo una resistenza da 470 Ohm nel pin del segnale per evitare rumori, posso aggiungerla anche qui in uscita dalla 5v?

Per quanto riguarda l'alimentazione, io volevo lasciare sempre in tensione i led e comandare l'accensione , spegnimento, effetti e quant'altro tramite il wemos, con mqtt collegato ad home assistant, è corretto o dovrei togliere l'alimentazione anche ai led quando devo spegnere?

>bakust: Quando si quota un post, NON è necessario riportarlo (inutilmente) tutto; bastano poche righe per far capire di cosa si parla ed a cosa ci si riferisce, inoltre, se si risponde al post immediatamente precedente, normalmente NON è necessario alcun "quote" dato che è sottinteso. :slight_smile:

Gli utenti da device "mobile" (piccoli schermi) ringrazieranno per la cortesia :wink:

Guglielmo

P.S.: Ho eliminato io il "quote" dal tuo post qui sopra :wink:

bakust:
Ok, quindi se ho capito bene, il level converter va alimentato sia sui 5v che sui 3.3v ...

... esatto !

bakust:
Con arduino usavo una resistenza da 470 Ohm nel pin del segnale per evitare rumori, posso aggiungerla anche qui in uscita dalla 5v?

... NO, ci sono vari post al riguardo e ... anche la mia esperienza ... con l'ESP8266 quella resistenza da problemi e crea, ogni tanto, fastidiosi flickering. Non va quindi messa.

bakust:
Per quanto riguarda l'alimentazione, io volevo lasciare sempre in tensione i led e comandare ...

...esattamente. Quando li devi accendere mandi i colori che vuoi, quando li devi tenere spenti ... mandi il colore rgb 0,0,0 (ovvero LED spento) :slight_smile:

Guglielmo