Ciao a tutti, ho preso questi LED ed ho iniziato a giocare con la libreria Adafruit_NeoPixel.h.
Volevo fare un gioco di dissolvenze, praticamente lo scopo è accendere quattro led di colore bianco in assolvenza (cioè da valore minimo 0 a valore massimo 255).
Ho scritto questo:
#include <Adafruit_NeoPixel.h>
// Quale pin di Arduino hai collegato al NeoPixels?
#define PIN 6
// Quanti led NeoPixel sono collegati ad Arduino?
#define NUMPIXELS 16
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int delayval = 50;
void setup() {
pixels.setBrightness(1);
pixels.begin(); // Avvia il funzionamento del modulo NeoPixel.
Serial.begin(9600);
}
void loop() {
for (int i=0;i<256;i++){
pixels.setBrightness(i);
pixels.setPixelColor(0,pixels.Color(255,255,255));
pixels.show();
Serial.println(i);
delay(delayval);}
for (int i=0;i<256;i++){
pixels.setBrightness(i);
pixels.setPixelColor(1,pixels.Color(255,255,255));
pixels.show();
delay(delayval);}
for (int i=0;i<256;i++){
pixels.setBrightness(i);
pixels.setPixelColor(2,pixels.Color(255,255,255));
pixels.show();
delay(delayval);}
for (int i=0;i<256;i++){
pixels.setBrightness(i);
pixels.setPixelColor(3,pixels.Color(255,255,255));
pixels.show();
delay(delayval);}
}
Scritto così, quando passa ad esempio dal led 0 al led1, dopo aver illuminato il led 0 al massimo, lo spegne e fa il ciclo del secondo e così via, mentre io voglio che il led precedente resti acceso e magari più avanti decido di spegnerlo in dissolvenza.
Domanda: sto sbagliando approcio e/o metodo?
Cosa mi consigliate di fare?
Grazie