Probleme mit Programmcode für Türschloßprojekt

hallo,

der Sketch funktioniert nun. Menüebene ist auch realisiert worden. Danke an alle für die gute Unterstützung.
Bei Interesse, hier ist der Sketch (PS: Der Sketch ist in mehrere Tabs aufgeteilt diese habe ich einzeln unten angehängt):

#include <MyAnalogKeyPad.h>
#include <LiquidCrystal.h>
#define analogPinKeyPad 0 // Definition des analogen Pins
#define RS 12 // Register Select
#define E 11 // Enable
#define D4 5 // Datenleitung 4
#define D5 4 // Datenleitung 5
#define D6 3 // Datenleitung 6
#define D7 2 // Datenleitung 7
#define COLS 16 // Anzahl der Spalten
#define ROWS 2 // Anzahl der Zeilen
char CODE[5] = "9200";
char MENUECODE[5] = "#100";
char Eingabe[5]; // max. 5 stellige Zahl generieren
char Menueauswahl[2];
char aktuellercodea[5];
char neuercodea[5];
byte stelle;
byte stellezwei;
byte stelledrei = 0;
byte stellevier = 0;
byte stellefuenf;
byte stellesechs;
int ende = 0;
int endezwei = 0;
int endedrei = 0;
int endevier = 0;

MyAnalogKeyPad myOwnKeyPad (analogPinKeyPad); // KeyPad Instanziieren
LiquidCrystal lcd ( RS,E,D4,D5,D6,D7); // LCD Instanziieren

void setup(){
Eingabe[4]= 0;
Menueauswahl[4] = 0;
MENUECODE[4]=0;
aktuellercodea[4]=0;
neuercodea[4] = 0;
CODE[4] = 0;
myOwnKeyPad.setDebounceTime(200);
lcd.begin(COLS, ROWS);
Willkommensbildschirm();
}
void loop(){
ende = 0;
endezwei = 0;
char myKey = myOwnKeyPad.readKey();
if (myKey != KEY_NOT_PRESSED){
Eingabe[stelle] = myKey;
stelle++;
lcd.print("*");
}
if (stelle == 4){
if (strcmp(CODE,Eingabe)== 0){
delay(500);
Tuer_oeffnen();
}
if (strcmp(MENUECODE,Eingabe)== 0){
delay(500);
Menue_oeffnen();
}
else if (strcmp(CODE,Eingabe)!= 0){
delay(500);
Fehlermeldung();
}
}
}

void Fehlermeldung(){
lcd.clear();
stelle = 0;
lcd.print("CODE VERWEIGERT!");
delay(2000);
lcd.clear();
stelle = 0;
lcd.print(" CODE EINGABE:");
lcd.setCursor(6,1);
}

void Menue_oeffnen(){

lcd.clear();
stelle = 0;
lcd.print("Menue oeffnen...");
delay(2000);
lcd.clear();
lcd.print("Code aendern?");
lcd.setCursor(0,1);
lcd.print("1= ja / 2= nein");

while ( ende != 1){
char Menueeingabe = myOwnKeyPad.readKey();
if (Menueeingabe != KEY_NOT_PRESSED){ // Abfragen ob irgendein Taster gedrückt ist
Menueauswahl[stellezwei] = Menueeingabe;
stellezwei++;
if (stellezwei == 1){
int b = atoi(Menueauswahl);
if (b == 2){
lcd.clear();
lcd.print("Abbrechen...");
delay(2000);
lcd.clear();
stellezwei = 0;
ende = 1;
Willkommensbildschirm();
}
if ( b == 1){
lcd.clear();
lcd.print("Code aendern");
delay(2000);
lcd.clear();
stellezwei = 0;
ende = 1;
code_aendern();
}

if (b != 1 && b!= 2){
ende = 1;
stellezwei = 0;
Willkommensbildschirm();
}
}
}
}
}

void Tuer_oeffnen(){
lcd.clear();
stelle = 0;
lcd.print("Tuer oeffnen");
delay(2000);
lcd.clear();
stelle = 0;
delay(20);
Willkommensbildschirm();
}

void Willkommensbildschirm(){
lcd.clear(); // Display Anzeige löschen
lcd.print(" AUSBILDUNG");
delay(2000); // 4 Sekunden warten
lcd.clear();
lcd.print(" CODE EINGABE:");
lcd.setCursor(6,1);

}

void code_aendern(){
endezwei = 0;
endedrei = 0;
stelle = 0;
stellezwei = 0;
stelledrei = 0;
stellevier = 0;
lcd.clear();
lcd.print("aktueller CODE:");
lcd.setCursor(0,1);

while ( endezwei != 1){
char aktuellercode = myOwnKeyPad.readKey();
if (aktuellercode != KEY_NOT_PRESSED){
aktuellercodea[stelledrei] = aktuellercode;
stelledrei++;
lcd.print("*");
}
if (stelledrei == 4){
if (strcmp(CODE,aktuellercodea)== 0){
lcd.clear();
lcd.print("neuer Code:");
lcd.setCursor(0,1);
endezwei = 1;

while ( endedrei != 1){
char neuercode = myOwnKeyPad.readKey();
if (neuercode != KEY_NOT_PRESSED){
neuercodea[stellevier] = neuercode;
stellevier++;
lcd.print(neuercode);
}
if (stellevier == 4){
strcpy (CODE,neuercodea);
lcd.clear();
endedrei = 1;
Willkommensbildschirm();

}
else if (strcmp(CODE,aktuellercodea)!= 0){
endezwei = 1;
lcd.clear();
lcd.print("CODE VERWEIGERT!");
delay(2000);
lcd.clear();
Willkommensbildschirm();
}
}
}
}
}
}