WS2812 LED bstrisce indirizzabili

ciao ragazzi, sto imparando ad usare le strisce indirizzabili, ma c'è una cosa che non riesco a capire:

supponiamo di avere una striscia da 60 led e io ne voglio semplicemente accendere 10 contemporaneamente e dal led 20 fino al 30, come potrei fare?

ho letto i dettagli della libreria ma non trovo niente a riguardo, qualcuno sa darmi qualche dritta?

libreria:GitHub - adafruit/Adafruit_NeoPixel: Arduino library for controlling single-wire LED pixels (NeoPixel, WS2812, etc.)

Ogni volta mandi i dati per tutti i 60 LED WS2812. Metti i LED da 1 a 20 spenti, quelli da 21 al 30 li accendi e quelli da 31 a 60 li spegni mettendo come colore 0.0.0 .
Ciao Uwe

ricordati che le istruzioni principali sono due nel ciclo:
setPixelColour(indexLed,0xRRGGBB) e send() , premetto che non mi ricordo più le istruzioni precise ma dovrebbero essere più o meno così :wink:

a giusto ricordati che se metti il valore in esadecimale i colorri sono posti in questo ordine 0xBBGGRR e non l' ordine naturale RRGGBB

ok Uwe, ma quello che mi chiedo io è se esiste una funzione per accendere più led contemporaneamente oppure ogni volta devo scrivere ad esempio:

strip.setPixelColor(0,0,255,0);
strip.setPixelColor(1,0,255,0);
strip.setPixelColor(2,0,255,0);

ecc...

In quel modo carichi valori in un buffer ma non li stai accendendo subito, puoi utilizzare cicli for per riempire in modo "leggibile" questo fantomatico buffer e poi con l istruzione .show() vai a inviare tutti i dati buffe rizzati ai driver dei singoli led e solo in quel momento i led si accenderanno o faranno la loro variazione di colore .
Per come è fatta la libreria la scrittura di valori e l effettivo comando di esecuIone dei valori sono separate .

perfetto, grazie ragazzi

Ciao Erik86 :slight_smile:

hai poi risolto la tua problematica? Te lo chiedo perché vorrei effettuare la stessa cosa al fine di poter realizzare un display a 7 segmenti con un unica striscia di WS2812b.
In pratica vorrei assegnare un gruppo di led (ad esempio 56) per ogni digit;
quindi 56 led / 7 segmenti = 8 led per ogni segmento.

Ho trovato nel web un esempio di questa logica di realizzazione che forse potrà servire anche a Te:

Domanda: essendo un novizio di Arduino, mi chiedevo se fosse possibile aumentare il numero di Led per segmento (nell'esempio 3) a 8 che ho ipotizzato. Lo chiedo perché mi sorge il dubbio sul fatto che Arduino possa gestire una variabile di bit così grande.

Grazie mille, Umberto :slight_smile: