hi i have a problem about tlc5940 's blank function.. help..

hi i make 8x8 led display by using tlc 5940 pwm controller and 74595 shift register.

but bleeding is occured. so i think this is because of randomly blank wave like this osciloscope image.

wave1 is blank wave, 2 is 74595’s one pin output, 3 is 74595 latch.

this image shows that wave 1(blank wave) is randomly occured.

i don’t know why the wave is randomly occured…

and i want this wave occured periodically based on my source code.

please help… ( i’m really sorry that my English skill is very bad…)

and this is arduino source code

#include <Tlc5940.h>
#include <tlc_config.h>
#include <tlc_shifts.h>
#include <tlc_fades.h>

int DataPin=7;
int LatchPin=6;
int ClockPin=5;
byte row[8]={B00000001,B00000010,B00000100,B00001000,B00010000,B00100000,B01000000,B10000000};
double col[8][8] ={{0,0,0,0,0,0,0,0}, {0,4000,4000,0,0,4000,4000,0},{4000,4000,4000,4000,4000,4000,4000,4000},{4000,4000,4000,4000,4000,4000,4000,4000},{0,4000,4000,4000,4000,4000,4000,0},{0,0,4000,4000,4000,4000,0,0},{0,0,0,4000,4000,0,0,0},{0,0,0,0,0,0,0,0}};

void setup(){
  Tlc.init(0);
  pinMode(LatchPin,OUTPUT);
  pinMode(ClockPin,OUTPUT);
  pinMode(DataPin,OUTPUT);
}
void loop() {
   for(int i=0;i<8;i++){
   digitalWrite(LatchPin,LOW);
   shiftOut(DataPin,ClockPin,LSBFIRST,row[i]);  
   digitalWrite(LatchPin,HIGH);
   for(int a=1;a<9;a++){ 
     Tlc.set(a,col[i][a-1]);          
   }
   digitalWrite(10,LOW);
   Tlc.update();
  
    digitalWrite(10,HIGH);
   delay(1);
   }         
}

Post a wiring diagram!

thank you for your replying!!!

i’m really sorry that i don’t have any ‘wire diagram’ using specific tools…

so i made self wire diagram attached by using my pen…

i really appreciate if you reply my question!!

thank you very much!!!

2 is 74595's one pin output

If you mean QA by "74595's one pin output", the following line must be changed

shiftOut(DataPin,ClockPin,LSBFIRST,row[i]);

to

shiftOut(DataPin,ClockPin,MSBFIRST,row[i]);

wave1 is blank wave

Does that mean D10?

   digitalWrite(10,LOW);
   Tlc.update();
  
    digitalWrite(10,HIGH);

You must not touch pin D10 if you use the Tlc5940.h library as the library is handling that pin.