Programming Atmega8 using arduino troubleshooting

I am making a POV (persistance of vision) project using atmega8 ,which is being programmed by arduino (uno) as ISP
i am following this( How to program an Arduino on a breadboard (without USB) || Arduino tutorial - YouTube ) tutorial videos
and blink led code is working well :slight_smile: :smiley: for me as in the video, I tired the same code by changing the delay for verifying whether the circuit works properly ;D and i was working nice
But i uploaded my persistance of vision code(POV) its no working :slightly_frowning_face: none of the leds is blinking
I using the correct pin i verified it with arduino uno atmega8 pin mapping

Here is my Persistance of vision code

int _[] = {0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0};
int A[] = {0,1,1,1,1, 1,0,1,0,0, 0,1,1,1,1};
int B[] = {1,1,1,1,1, 1,0,1,0,1, 0,1,0,1,0};
int C[] = {0,1,1,1,0, 1,0,0,0,1, 1,0,0,0,1};
int D[] = {1,1,1,1,1, 1,0,0,0,1, 0,1,1,1,0};
int E[] = {1,1,1,1,1, 1,0,1,0,1, 1,0,1,0,1};
int F[] = {1,1,1,1,1, 1,0,1,0,0, 1,0,1,0,0};
int G[] = {0,1,1,1,0, 1,0,1,0,1, 0,0,1,1,0};
int H[] = {1,1,1,1,1, 0,0,1,0,0, 1,1,1,1,1};
int I[] = {0,0,0,0,1, 1,0,1,1,1, 0,0,0,0,1};
int J[] = {1,0,0,0,0, 1,0,0,0,1, 1,1,1,1,1};
int K[] = {1,1,1,1,1, 0,0,1,0,0, 0,1,0,1,1};
int L[] = {1,1,1,1,1, 0,0,0,0,1, 0,0,0,0,1};
int M[] = {1,1,1,1,1, 0,1,1,0,0, 0,1,1,1,1};
int N[] = {1,1,1,1,1, 1,0,0,0,0, 0,1,1,1,1};
int O[] = {0,1,1,1,0, 1,0,0,0,1, 0,1,1,1,0};
int P[] = {1,1,1,1,1, 1,0,1,0,0, 0,1,0,0,0};
int Q[] = {0,1,1,1,1, 1,0,0,1,1, 0,1,1,1,1};
int R[] = {1,1,1,1,1, 1,0,1,0,0, 0,1,0,1,1};
int S[] = {0,1,0,0,1, 1,0,1,0,1, 1,0,0,1,0};
int T[] = {1,0,0,0,0, 1,1,1,1,1, 1,0,0,0,0};
int U[] = {1,1,1,1,1, 0,0,0,0,1, 1,1,1,1,1};
int V[] = {1,1,1,1,0, 0,0,0,0,1, 1,1,1,1,0};
int W[] = {1,1,1,1,0, 0,0,1,1,0, 1,1,1,1,0};
int X[] = {1,1,0,1,1, 0,0,1,0,0, 1,1,0,1,1};
int Y[] = {1,1,0,0,0, 0,0,1,0,0, 1,1,1,1,1};
int Z[] = {1,0,0,1,1, 1,0,1,0,1, 1,1,0,0,1};
int letterSpace;
int dotTime;
void setup()
{
  // setting the ports of the leds to OUTPUT
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
 
  // defining the space between the letters (ms)
  letterSpace = 6;
  // defining the time dots appear (ms)
  dotTime = 3;
 
}
void printLetter(int letter[])
{
  int y;
 
  // printing the first y row of the letter
  for (y=0; y<5; y++)
  {
    digitalWrite(y+2, letter[y]);
  }
  delay(dotTime);
 
  // printing the second y row of the letter
  for (y=0; y<5; y++)
  {
    digitalWrite(y+2, letter[y+5]);
  }
  delay(dotTime);
 
  // printing the third y row of the letter
  for (y=0; y<5; y++)
  {
    digitalWrite(y+2, letter[y+10]);
  }
  delay(dotTime);
 
  // printing the sspace between the letters
  for (y=0; y<5; y++)
  {
    digitalWrite(y+2, 0);
  }
  delay(letterSpace);
}
void loop()
{
  // you can print your own text by modifing here :) 
 printLetter(M);
 printLetter(A);
 printLetter(Y);
 printLetter(O);
 printLetter(O);
 printLetter(G);
 printLetter(H);
 printLetter(_);
  
}

Is there any solution ???

You are addressing the wrong digital pin numbers in your code.

i didn't got you addressing wrong digital pin number in the code!!! :relaxed: so which are the correct digital pins??

What pins are your LEDs connected to? What pins are the digitalWrite trying to control?

int _[] = {0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0};
  :
int Z[] = {1,0,0,1,1, 1,0,1,0,1, 1,1,0,0,1};

This is 810 bytes of memory, which is quite a substantial amount on a chip that only has 1K.
OTOH, you’re only using a few of the letters, and the compiler will remove the unused data, so this probably isn’t causing your current set problems.

But you may want to look into PROGMEM