Need Help for my Project!! Got some Problems

So i have to create a programm that should have 2 Mode's. 1 Mode for switching with button between the first 5 LED's and when u keep the button pressed u should swap into the other mode and should switch between the other LED's. When u are not doing anything for lets say 20sec it should go back to the first Mode.

My problem now is that i get into the 2. mode but i doesnt do anything there and i dont know why, maybe one of u guys could help me

Here is the code:

int buttonPin = 2;                                      // 
int LED33 = 7;                                                   //Das Wort „LED33“ steht jetzt für den Wert 7
int LED45 = 6;                              //Das Wort „LED45" steht jetzt für den Wert 5
int LED78 = 5;                                           //Das Wort „LED78" steht jetzt für den Wert 5
volatile int mode = 1;                                                // Anfangszustand des 1.Betriebsmodus (33/45/78)
volatile int mode2 = 1;                                           // Definieren des 2.Betriebsmodus (Feineinstellung)
volatile int buttonState = 0;                           // derzeitiger Zustand des Tasters
int lastButtonState = 0;                          // vorheriger Zustand des Tasters
int startPressed = 0;                          // die Zeit an dem der Button gedrückt wurde
int endPressed = 0;                             // die Zeit an dem der Button losgelassen wurde
int timeHold = 0;                               // die Zeit der Button gehalten wurde

void addToMode()
{
  buttonState = digitalRead(buttonPin);
  buttonState = ! buttonState;
  mode++;
  if (mode == 4)
  {
    mode = 1;
  }
}

void addToMode2()
{
  buttonState = digitalRead(buttonPin);
  buttonState = ! buttonState;
  mode2++;
  if (mode2 == 6)
  {
    mode2 = 1;
  }
}


void setup() {
                             
  pinMode(buttonPin, INPUT);  //Taster Eingang definieren, 
  // button Pin wurde oben der Wert 2 zugewiesen deshalb ist der 2.Pin jetzt unser Eingang des Tasters)
  Serial.begin(9600);
  pinMode(LED33, OUTPUT);  //Der Pin mit der LED33 (Pin 7) ist jetzt ein Ausgang.
  pinMode(LED45, OUTPUT);   //Der Pin mit der LED45 (Pin 6) ist jetzt ein Ausgang.
  pinMode(LED78, OUTPUT);   //Der Pin mit der LED78 (Pin 5) ist jetzt ein Ausgang.
  pinMode(1, OUTPUT);      // Relais vom 1. Poti
  pinMode(3, OUTPUT);    // Relais vom 2. Poti
  pinMode(4, OUTPUT);   //Relais vom 3. Poti
  pinMode(8, OUTPUT);   //Relais vom 1. Widederstand
  pinMode(9, OUTPUT);   //Relais vom 2. Widederstand
  pinMode(10, OUTPUT);  //Relais vom 3. Widederstand
  pinMode(11, OUTPUT);  //Relais vom 4. Widederstand
  pinMode(12, OUTPUT);  //LED bei +-0 R
  pinMode(13, OUTPUT);  //LED bei +1 R
  pinMode(A0, OUTPUT);  //LED bei +2 R
  pinMode(A1, OUTPUT);  //LED bei -2 R
  pinMode(A2, OUTPUT);  //LED bei -1 R

  attachInterrupt(digitalPinToInterrupt(2), addToMode, FALLING);
}

void loop() {

  if (mode == 1) {
    digitalWrite(LED33, HIGH);
    digitalWrite(LED78, LOW);
    digitalWrite(LED45, LOW);
    digitalWrite(1, HIGH);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);//Modus 1 = an
    buttonState = digitalRead(buttonPin);



    // button state changed
    if (buttonState != lastButtonState) {


      if (buttonState == HIGH) {
        startPressed = millis();



        // the button was just released
      } else {
        endPressed = millis();
        timeHold = endPressed - startPressed;




        if (timeHold >= 2000 ) {

        
          Mode2();


        }
    
    } lastButtonState = buttonState;
    }
  }


  



  // save the current state as the last state,
  //for next time through the loop
  else if (mode == 2) {      //Modus 2 = 45
    digitalWrite(LED33, LOW);
    digitalWrite(LED45, HIGH);
    digitalWrite(LED78, LOW);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(1, LOW);
    buttonState = digitalRead(buttonPin);


    if (buttonState != lastButtonState) {


      // the button was just pressed
      if (buttonState == HIGH) {
        startPressed = millis();


      }
      else {
        endPressed = millis();
        timeHold = endPressed - startPressed;



      if (timeHold >= 2000 ) {

          
          Mode2();
    } lastButtonState = buttonState;

  }
    }
  }






  else if (mode == 3) {               //Modus 3 = 78
    digitalWrite(LED78, HIGH);
    digitalWrite(LED45, LOW);
    digitalWrite(LED33, LOW);
    digitalWrite(4, HIGH);
    digitalWrite(3, LOW);
    digitalWrite(1, LOW);
    buttonState = digitalRead(buttonPin);

    if (buttonState != lastButtonState) {




      if (buttonState == HIGH) {
        startPressed = millis();


      }
      else {
        endPressed = millis();
        timeHold = endPressed - startPressed;



        if (timeHold >= 2000 ) {

          
          Mode2();

        }
      lastButtonState = buttonState;

  }



  lastButtonState = buttonState;
}
  }
}
    
  
 

void Mode2() {
            
            attachInterrupt(digitalPinToInterrupt(2), addToMode2, FALLING);
            
            
            switch (mode2)
            {
              case 1:
                digitalWrite(8, LOW);
                digitalWrite(9, LOW);
                digitalWrite(10, HIGH);
                digitalWrite(11, HIGH);
                digitalWrite(12, HIGH);
                digitalWrite(13, LOW);
                digitalWrite(A0, LOW);
                digitalWrite(A1, LOW);
                digitalWrite(A2, LOW);
                break;

              case 2:
                digitalWrite(8, LOW);
                digitalWrite(9, LOW);
                digitalWrite(10, LOW);
                digitalWrite(11, HIGH);
                digitalWrite(13, HIGH);
                digitalWrite(12, LOW);
                digitalWrite(A0, LOW);
                digitalWrite(A1, LOW);
                digitalWrite(A2, LOW);
                break;

              case 3:
                digitalWrite(8, LOW);
                digitalWrite(9, LOW);
                digitalWrite(10, LOW);
                digitalWrite(11, LOW);
                digitalWrite(A0, HIGH);
                digitalWrite(12, LOW);
                digitalWrite(13, LOW);
                digitalWrite(A1, LOW);
                digitalWrite(A2, LOW);
                break;

              case 4:
                digitalWrite(8, HIGH);
                digitalWrite(9, HIGH);
                digitalWrite(10, HIGH);
                digitalWrite(11, HIGH);
                digitalWrite(A2, HIGH);
                digitalWrite(A0, LOW);
                digitalWrite(A1, LOW);
                digitalWrite(13, LOW);
                digitalWrite(12, LOW);
                break;

              case 5:
                digitalWrite(8, LOW);
                digitalWrite(9, HIGH);
                digitalWrite(10, HIGH);
                digitalWrite(11, HIGH);
                digitalWrite(A1, HIGH);
                digitalWrite(A2, LOW);
                digitalWrite(12, LOW);
                digitalWrite(A0, LOW);
                digitalWrite(13, LOW);
                break;
            }
          }

Moderator edit:
</mark> <mark>[code]</mark> <mark>

</mark> <mark>[/code]</mark> <mark>
tags added.

This link has some good info to help you get started: https://forum.arduino.cc/index.php/topic,148850.0.html

So i have to create a programm that should have 2 Mode's. 1 Mode for switching with button between the first 5 LED's and when u keep the button pressed u should swap into the other mode and should switch between the other LED's. When u are not doing anything for lets say 20sec it should go back to the first Mode.

My problem now is that i get into the 2. mode but i doesnt do anything there and i dont know why, maybe one of u guys could help me

int buttonPin = 2;                                      //
int LED33 = 7;                                                   //Das Wort „LED33" steht jetzt für den Wert 7
int LED45 = 6;                              //Das Wort „LED45" steht jetzt für den Wert 5
int LED78 = 5;                                           //Das Wort „LED78" steht jetzt für den Wert 5
volatile int mode = 1;                                                // Anfangszustand des 1.Betriebsmodus (33/45/78)
volatile int mode2 = 1;                                           // Definieren des 2.Betriebsmodus (Feineinstellung)
volatile int buttonState = 0;                           // derzeitiger Zustand des Tasters
int lastButtonState = 0;                          // vorheriger Zustand des Tasters
int startPressed = 0;                          // die Zeit an dem der Button gedrückt wurde
int endPressed = 0;                             // die Zeit an dem der Button losgelassen wurde
int timeHold = 0;                               // die Zeit der Button gehalten wurde

void addToMode()
{
  buttonState = digitalRead(buttonPin);
  buttonState = ! buttonState;
  mode++;
  if (mode == 4)
  {
    mode = 1;
  }
}

void addToMode2()
{
  buttonState = digitalRead(buttonPin);
  buttonState = ! buttonState;
  mode2++;
  if (mode2 == 6)
  {
    mode2 = 1;
  }
}


void setup() {
                             
  pinMode(buttonPin, INPUT);  //Taster Eingang definieren,
  // button Pin wurde oben der Wert 2 zugewiesen deshalb ist der 2.Pin jetzt unser Eingang des Tasters)
  Serial.begin(9600);
  pinMode(LED33, OUTPUT);  //Der Pin mit der LED33 (Pin 7) ist jetzt ein Ausgang.
  pinMode(LED45, OUTPUT);   //Der Pin mit der LED45 (Pin 6) ist jetzt ein Ausgang.
  pinMode(LED78, OUTPUT);   //Der Pin mit der LED78 (Pin 5) ist jetzt ein Ausgang.
  pinMode(1, OUTPUT);      // Relais vom 1. Poti
  pinMode(3, OUTPUT);    // Relais vom 2. Poti
  pinMode(4, OUTPUT);   //Relais vom 3. Poti
  pinMode(8, OUTPUT);   //Relais vom 1. Widederstand
  pinMode(9, OUTPUT);   //Relais vom 2. Widederstand
  pinMode(10, OUTPUT);  //Relais vom 3. Widederstand
  pinMode(11, OUTPUT);  //Relais vom 4. Widederstand
  pinMode(12, OUTPUT);  //LED bei +-0 R
  pinMode(13, OUTPUT);  //LED bei +1 R
  pinMode(A0, OUTPUT);  //LED bei +2 R
  pinMode(A1, OUTPUT);  //LED bei -2 R
  pinMode(A2, OUTPUT);  //LED bei -1 R

  attachInterrupt(digitalPinToInterrupt(2), addToMode, FALLING);
}

void loop() {

  if (mode == 1) {
    digitalWrite(LED33, HIGH);
    digitalWrite(LED78, LOW);
    digitalWrite(LED45, LOW);
    digitalWrite(1, HIGH);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);//Modus 1 = an
    buttonState = digitalRead(buttonPin);



    // button state changed
    if (buttonState != lastButtonState) {


      if (buttonState == HIGH) {
        startPressed = millis();



        // the button was just released
      } else {
        endPressed = millis();
        timeHold = endPressed - startPressed;




        if (timeHold >= 2000 ) {

       
          Mode2();


        }
   
    } lastButtonState = buttonState;
    }
  }


 



  // save the current state as the last state,
  //for next time through the loop
  else if (mode == 2) {      //Modus 2 = 45
    digitalWrite(LED33, LOW);
    digitalWrite(LED45, HIGH);
    digitalWrite(LED78, LOW);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(1, LOW);
    buttonState = digitalRead(buttonPin);


    if (buttonState != lastButtonState) {


      // the button was just pressed
      if (buttonState == HIGH) {
        startPressed = millis();


      }
      else {
        endPressed = millis();
        timeHold = endPressed - startPressed;



      if (timeHold >= 2000 ) {

         
          Mode2();
    } lastButtonState = buttonState;

  }
    }
  }






  else if (mode == 3) {               //Modus 3 = 78
    digitalWrite(LED78, HIGH);
    digitalWrite(LED45, LOW);
    digitalWrite(LED33, LOW);
    digitalWrite(4, HIGH);
    digitalWrite(3, LOW);
    digitalWrite(1, LOW);
    buttonState = digitalRead(buttonPin);

    if (buttonState != lastButtonState) {




      if (buttonState == HIGH) {
        startPressed = millis();


      }
      else {
        endPressed = millis();
        timeHold = endPressed - startPressed;



        if (timeHold >= 2000 ) {

         
          Mode2();

        }
      lastButtonState = buttonState;

  }



  lastButtonState = buttonState;
}
  }
}
   
 
 

void Mode2() {
           
            attachInterrupt(digitalPinToInterrupt(2), addToMode2, FALLING);
           
           
            switch (mode2)
            {
              case 1:
                digitalWrite(8, LOW);
                digitalWrite(9, LOW);
                digitalWrite(10, HIGH);
                digitalWrite(11, HIGH);
                digitalWrite(12, HIGH);
                digitalWrite(13, LOW);
                digitalWrite(A0, LOW);
                digitalWrite(A1, LOW);
                digitalWrite(A2, LOW);
                break;

              case 2:
                digitalWrite(8, LOW);
                digitalWrite(9, LOW);
                digitalWrite(10, LOW);
                digitalWrite(11, HIGH);
                digitalWrite(13, HIGH);
                digitalWrite(12, LOW);
                digitalWrite(A0, LOW);
                digitalWrite(A1, LOW);
                digitalWrite(A2, LOW);
                break;

              case 3:
                digitalWrite(8, LOW);
                digitalWrite(9, LOW);
                digitalWrite(10, LOW);
                digitalWrite(11, LOW);
                digitalWrite(A0, HIGH);
                digitalWrite(12, LOW);
                digitalWrite(13, LOW);
                digitalWrite(A1, LOW);
                digitalWrite(A2, LOW);
                break;

              case 4:
                digitalWrite(8, HIGH);
                digitalWrite(9, HIGH);
                digitalWrite(10, HIGH);
                digitalWrite(11, HIGH);
                digitalWrite(A2, HIGH);
                digitalWrite(A0, LOW);
                digitalWrite(A1, LOW);
                digitalWrite(13, LOW);
                digitalWrite(12, LOW);
                break;

              case 5:
                digitalWrite(8, LOW);
                digitalWrite(9, HIGH);
                digitalWrite(10, HIGH);
                digitalWrite(11, HIGH);
                digitalWrite(A1, HIGH);
                digitalWrite(A2, LOW);
                digitalWrite(12, LOW);
                digitalWrite(A0, LOW);
                digitalWrite(13, LOW);
                break;
            }
          }

This question seems identical to the one you posted here: https://forum.arduino.cc/index.php?topic=615690.0. Please don't double post.

They are not called voids; they are functions. The void keyword indicates that they return noting (void).

It sounds like what you want is a "state machine", coupled with millis() for timekeeping. There are many guides and threads here (and elsewhere) about state machines, and even more about using millis() for timing ("doing multiple things at once", "blink without delay" etc).

@il1ketrains, please do not cross-post. Threads merged.