tempo e variazione intensità

Salve a tutti, ho bisogno di far si che l'intensità della mia luce, prodotta da striscia neopixel, vari col passare del tempo per il quale il bottone rimane premuto, e mi trovo in difficolta in quanto per usare i neopixel devo inserire all'interno di un ciclo for(per il tempo) un altro ciclo for che per accendere i led mi fa impostare il valore analogico(es 255 per massimo intensità) e posso quindi scegliere solamente un valore fisso. come posso risolvere la cosa?

buttonState = digitalRead(buttonPin);
if (buttonState == HIGH)&& (r< limiteostacolo)
{ for (int k = 0; k<255; k+5)
{ for(int i=0;i<NUMPIXELS;i++)
pixels.setPixelColor(i, pixels.Color(255,255,255));
pixels.show();
}

grazie in anticipo!!

Ciao,
essendo il tuo primo post, ti chiederei cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il REGOLAMENTO ... Grazie.

Guglielmo

P.S.: Inoltre, se chiarifichi quello che esattamente vuoi fare è meglio, perché ... da quello che hai scritto non è che si capisce molto eh :wink:

Non credo ci sia questa limitazione, la Color() può anche ricevere i 3 valori da una o più variabili:

pixels.setPixelColor(i, pixels.Color(k,k,k));

P.S. il ciclo for è errato, k+5 non vuol dire nulla. O fai k+=5 oppure k=k+5

P.S numero 2:
Il codice devi racchiuderlo nei tag code, vedi sezione 7 del regolamento, spiega bene come fare ( pulsante </> ).
Altrimenti parte del codice può essere visualizzata male o mancare perchè interpretato come attributo del testo stesso.