How to make an spiral animation in Arduino Uno?

Hi. I’m new to Arduino and I don’t actually have the real board with me. I’m using the Tinkercad platform, partly because of the situation right now and partly because how hard is to get an Arduino board where I live. We got an assignment to make an spiral animation using Arduino Uno and LCD 16x2. I did my best to find something here or anywhere on the internet but with no luck. Code should start at the top left corner of the LCD screen and go from left to right one by one byte until it reaches the end of the screen, than it should go down until the end of the screen, than from right to left and so on, until the whole screen is full. Here is what I got for now:

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

byte p00[8] = {B10000,B00000,B00000,B00000,B00000,B00000,B00000,B00000};
byte p01[8] = {B11000,B00000,B00000,B00000,B00000,B00000,B00000,B00000};
byte p02[8] = {B11100,B00000,B00000,B00000,B00000,B00000,B00000,B00000};
byte p03[8] = {B11110,B00000,B00000,B00000,B00000,B00000,B00000,B00000};
byte p04[8] = {B11111,B00000,B00000,B00000,B00000,B00000,B00000,B00000};
byte p05[8] = {B11111,B00001,B00000,B00000,B00000,B00000,B00000,B00000};
byte p06[8] = {B11111,B00001,B00001,B00000,B00000,B00000,B00000,B00000};
byte p07[8] = {B11111,B00001,B00001,B00001,B00000,B00000,B00000,B00000};
byte p08[8] = {B11111,B00001,B00001,B00001,B00001,B00000,B00000,B00000};
byte p09[8] = {B11111,B00001,B00001,B00001,B00001,B00001,B00000,B00000};
byte p10[8] = {B11111,B00001,B00001,B00001,B00001,B00001,B00001,B00000};
byte p11[8] = {B11111,B00001,B00001,B00001,B00001,B00001,B00001,B00001};

byte *array[12] = {p00,p01,p02,p03,p04,p05,p06,p07,p08,p09,p10,p11};/*Putting the custom characters in array for easier use later in the code*/
int j=0;
int k=0;
int m=0;
int p=0;
void setup() {
  lcd.begin(16, 2);
}
void loop() {
  FirstArray(); 
  SecondArray();
  delay(2000);
  lcd.clear();
}
/*This function will make the first horizontal row of the LCD screen light up, but only the first character (there are 5x8 in one box, the width of the row that lights up is 1x1), I'm not sure if I can do better than that*/
void FirstArray(){
  for (int row=0; row<5;row++)
  {
    lcd.createChar(m,red1[row]);//Creating the custom characters from the array
    m++;
  }
  for(int n=0;n<16;n++)
  {
    for(int i=0;i<5;i++)
    {
        lcd.setCursor(j,k);
        lcd.write(i);
        delay(100);
    }
    j++;
  }
  j=0;
  m=0;
}
/* This should light up the 15x0 box on top and right part of it and also the 15x1 on the right, but here is where I encounter the problem. I think that the Arduino can take only 8 custom characters before you need to clean the screen and I can't find the way to pass that*/
void SecondArray(){
  
  for (int row=5; row<12;row++)
  {
    lcd.createChar(p,red1[row]);
    p++;
  }
   for(int n=0;n<2;n++)
  {
    for(int i=0;i<7;i++)
    {
        lcd.setCursor(15,k);
        lcd.write(i);
        delay(100);
    }
    k++;
  }
  k=0;
  p=0;
}

If someone could suggest something what I’m doing wrong it would help immensely. Thank you in advance.

[EDIT]
My bad, I forgot I’m not using English variables. I hope this improves it.

Your first post and using code tags for the code. Well done! Karma++.

You need to use comments in the code, comments telling what is done, what the variable stands for etc… It looks like a birdnest to me, lots of not understandable variables.

Hi,
The graphics-oriented language PROCESSING SEE HERE is the project that Arduino came from. It runs on desktop/laptop computers. You can get it HERE .

I THINK there have been examples where people produced graphics in PROCESSING that could be downloaded and displayed by Arduino.. Anyone??

You don’t actually say what is going wrong. But that code is way too complex to do what you describe.
It is a simple case of writing code that sets a pixel and moves that point to the right, so increments the X component of the point, until it reaches the limit of the screen. Then it moves the Y to go down, then up to not the top but one pixel short of the top.

Then you repeat this process but going not to the end but the one before the screen limit.

So think of the screen limits as variables that you decrement each time round the above loop.

It is not a hard thing to do.

I THINK there have been examples where people produced graphics in PROCESSING that could be downloaded and displayed by Arduino.

While you can generate a display using processing and display the resulting frame on an Arduino, you can’t produce anamations like this because it would involve storing every frame, and there is not enough memory for that.
I do use processing for a pixel editor for generating splash screens though, and store it in programming memory.

The thing that's going wrong is I can't use more than 8 special characters without clearing the screen. The problem that I see with your suggestion is that (at least with my current knowledge) you can't set specific X and Y coordinates, only from 0 to 15 and 0 to 1.

You did not make it apparent that you did not have a LCD that you could not set individual pixels. I don’t know how you are going to fulfil your brief with that hardware.