tlc 5940 e leds

Ciao a tutti,
utilizzando un TLC5040 sto tentando di far scorrere su 16 led una sequenza circolare con 3 led sempre accesi, ho fatto un piccolo filmato che spiega meglio:

Dal filmato avrete subito notato che c’è qualcosa che non va, infatti la sequenza circolare viene “rovinata” nel finale, per poi iniziare nuovamente un altro giro.
Vi posto il codice nel caso qualche buon’anima mi volesse aiutare spiegandomi dove sbaglio!

#include "Tlc5940.h"
void setup()
{

  Tlc.init();
}

void loop()
{

  for (int channel = 0; channel < NUM_TLCS * 16; channel ++) {

    Tlc.clear();

    Tlc.set(channel, 50);
    Tlc.set(channel +1, 50);
    Tlc.set(channel +2, 50);

    Tlc.update();

    delay(500);
  }

}

Nel tuo ciclo il problema credo succeda appena channel arriva a 15, poiché channel+2 fa 17 e invece dovrebbe essere il primo led cioè1.

Credo dovresti cambiare il channel+1 con (channel+1)%16, e channel+2 con (channel+2)%16

Ciao Zoomx
come dici tu funziona.

#include "Tlc5940.h"

void setup()
{

  Tlc.init();
}

void loop()
{

  for (int channel = 0; channel < NUM_TLCS * 16; channel ++) {

 
    Tlc.clear();


    Tlc.set(channel, 50);
    Tlc.set((channel +1)%16, 50);
    Tlc.set((channel +2)%16, 50);



    Tlc.update();

    delay(100);
  }

}

Grazie!

Visto che piloti i LED con un valore molto basso ( 50 contro i 4096 possibili) é meglio che abbassi la corrnete dei LED.
Ciao Uwe

Ok, grazie del consiglio.