Erreur de condition (mot de passe avec afficheur lcd)

Bonjour,
Une condition ne s'effectue pas quand mon programme se lance,
Normallement quand je marque le bon code sur un clavier "membrane switch module" ça m'écrit "code valide" sur l'afficheur lcd mais à la place ça me met "code incorrect il te reste 2 essais"

Ma carte :
Arduino Méga 2560

Le code :

#include <LiquidCrystal.h>
#include <Keypad.h>

#define secret "12547"

LiquidCrystal lcd(7, 8, 9, 10, 11, 12);


char hexaKeys[4][4] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
int attemps = 3;
String code;
boolean locked = false;
byte rowPins[4] = {23, 25, 27, 29};
byte colPins[4] = {31, 33, 35, 37};

Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, 4, 4); 

void setup(){
  lcd.begin(16, 2);
}
  
void loop(){
  char customKey = customKeypad.getKey();
  
  if (customKey){
    if (customKey == 'D' && not locked) {
      lcd.clear(); 
    }
    else if (customKey == '#') {
      if (code == secret) {
        lcd.clear();
        lcd.print("Code Valide");
      }
      else {
        lcd.clear();
        if (attemps > 1) {
          attemps = attemps - 1;
          lcd.print("Code Incorrect");
          lcd.setCursor(0,1);
          lcd.print("  essais restants");
          lcd.setCursor(0,1);
          lcd.print(attemps);
          delay(3000);
          lcd.clear();
          
        }
        else {
          lcd.print("Code Bloque");
          lcd.setCursor(16,1);
          locked = true;
        }
      }
    }
    else if (not locked) {
      lcd.print(customKey);
      char strCustomKey = customKey;
      String code = code + strCustomKey;
    }
  }
}

Essayez 'Serial.print' et voyez quel est le résultat. Je n'ai pas beaucoup d'expérience avec une variable 'String' et je ne sais pas si ce 'if (code == secret)' fonctionne comme prévu. A mon avis, cette ligne
String code = code + strCustomKey;
est faux. Ça devrait être
code = code + strCustomKey;
car sinon vous définissez une autre variable locale nommée 'code'.

J'utilise Google Traduction.