Arduino Forum

International => Italiano => Software => Topic started by: imho on May 19, 2013, 12:25 pm

Title: tlc 5940 e leds
Post by: imho on May 19, 2013, 12:25 pm
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:
http://youtu.be/t_ePDOPOhhE (http://youtu.be/t_ePDOPOhhE)

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!

Code: [Select]

#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);
  }

}
Title: Re: tlc 5940 e leds
Post by: zoomx on May 19, 2013, 12:59 pm
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
Title: Re: tlc 5940 e leds
Post by: imho on May 19, 2013, 01:19 pm
Ciao Zoomx
come dici tu funziona.
Code: [Select]


#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!
Title: Re: tlc 5940 e leds
Post by: uwefed on May 19, 2013, 01:21 pm
Visto che piloti i LED con un valore molto basso ( 50 contro i 4096 possibili) é meglio che abbassi la corrnete dei LED.
Ciao Uwe
Title: Re: tlc 5940 e leds
Post by: imho on May 19, 2013, 05:54 pm
Ok, grazie del consiglio.