I have noticed that there were some threads about ghosting LEDs on matrixes. I have been reading up on it and trying some approaches suggested such as "blanking out the LEDs" to no luck for the last hour. It seems my top two rows have the most amount of ghosting.
Here is the thread I was trying to understand: 74HC595 ghosting/shadowing problem - Interfacing - Arduino Forum
void intro_scroll() {
for (int p = 0; p < 8; p++)
{
r++;
// take the latchPin low so
// the LEDs don't change while you're sending in bits:
digitalWrite(latchPin, LOW);
// shift out the bits:
if (p < 7)
{
shiftOut(dataPin, clockPin, MSBFIRST, introArray[p+q]);
}
else if (p == 7)
{
shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);
}
//take the latch pin high so the LEDs will light up:
digitalWrite(latchPin, HIGH);
// Increment the 4017 to scan all the rows
if (p > 0)
{
digitalWrite(clock, HIGH);
digitalWrite(clock, LOW);
}
delay(1);
if (p == 7)
{
// Clear the shift register so it displays correctly row 1
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, 0);
// reset the 4017 to go back to row 1
digitalWrite(reset, HIGH);
digitalWrite(reset, LOW);
digitalWrite(latchPin, HIGH);
}
// Used to display the image statically for a 100 cycles
if (r % 100 == 0)
{
q++;
if (q == (sizeof(introArray)-7))
{
livescount--;
}
}
}
}