Ciao a tutti, ho fatto girare un programma semplice per accendere in sequenza dei led neopixel creando un effetto scia.....
Tutto bene perchè uso dei delay, ora però mi bloccano tutto il resto del programma...
come posso utilizzare i millis al posto del delay?
ho scritto questo
for ( i=0;i<NUMPIXELS+5;i++){
pixels.setPixelColor(i,pixels.Color(8,8,8)); //0x080808
if (i>=5){pixels.setPixelColor(i-5,pixels.Color(200,200,200));}
pixels.show();
delay(delayval);
pixels.setPixelColor(i,pixels.Color(16,16,16)); //0x080808
if (i>=5){pixels.setPixelColor(i-5,pixels.Color(128,128,128));}
pixels.show();
delay(delayval);
if (i<=5){pixels.setPixelColor(i-5,pixels.Color(32,32,32));}
pixels.setPixelColor(i,pixels.Color(32,32,32)); //0x202020
pixels.show();
delay(delayval);
if (i>=5){pixels.setPixelColor(i-5,pixels.Color(16,16,16));}
pixels.setPixelColor(i,pixels.Color(128,128,128)); //0x808080
pixels.show();
delay(delayval);
if (i>=5){pixels.setPixelColor(i-5,pixels.Color(8,8,8));}
pixels.setPixelColor(i,pixels.Color(200,200,200)); //0xC8C8C8
pixels.show();
delay(delayval);
if (i>=5){pixels.setPixelColor(i-5,pixels.Color(0,0,0));}
pixels.setPixelColor(i,pixels.Color(255,255,255)); //0xFFFFFF
pixels.show();
delay(delayval);
}
Delayval è un valore di intervallo tra una sfumatura e l'altra.
Grazie.