Led matrix brightness problem

No, this line is wrong:

byte dataToSend = (1 << (i+4)) | (15 & ~ledData);

Or maybe you just forgot your code tags?