CARTE SD & VARIABLE

Bonjours tous le monde dans le cadre d’un projet je dois crée une interface homme machine (graphique) pour actionné l’ouverture d’une porte connecté par un câble Ethernet…
J’ai finis cette interface, cependant j’ai un problème sur un point… L’administrateur doit être capable de changer le code des autres utilisateur, j’ai alors pensé a stocker cette variable sur une carte SD et à chaque fois que le programme devrais comparé le code saisi et celui modifié, le programme devrais faire un appelle alors a la variable

CARTE : ARDUINO LEONARDO ETH
Bibliothèque:

#include <SD.h>

#include <stdint.h>
#include <TFTv2.h>
#include <SPI.h>
#include <SeeedTouchScreen.h>
#include <Password.h>

Voila les parties de code utile:

Dans un premier temps les variables sont initialisé

Password passwordC = Password( "1234" ); // Civils
Password password1A = Password( "1111" );     // Admin

Dans un second temps les variables réinitialisé

passwordC.reset();  //reset MDP
  password1A.reset();

Ensuite j’ajoute 1,2,3… au code
pour finir dans le ci-dessous en appelant passwordC.evaluate le programme compare le passwordC lors de l’inisialisation et le passwordC après avoir étais reset…

void Verification() //Verifie si les MDP sont bon
{


  
  if (passwordC.evaluate()) { //si civil est bon 

    Tft.TFTinit();
    Tft.drawString("CODE BON", 20, 150, 4, WHITE);
    delay(500);
    Tft.TFTinit();

    //CODE OUVERTURE PORTE

    Tft.drawString("OUVERTURE ", 10, 150, 4, WHITE);
    Tft.drawString("PORTE", 50, 200, 4, WHITE);
    Code_Faux =-1;

    delay(5000);
   
    Tft.TFTinit();
    
   
   

 }

   if (password1A.evaluate()){
 Tft.TFTinit();  
while( Loop_Admin <= 1)
{
 Menu_Admin();
 Code_Faux = -1;
 

 
}
}
  
if(Code_Faux == 0)

{
  Tft.TFTinit();
  Tft.drawString("CODE ", 70, 100, 4, WHITE);
  Tft.drawString("FAUX ", 70, 140, 4, WHITE);
  Tft.TFTinit();
}

}

Voila pour la partie password…

Maintenant la partie SD:

void Verification_SD()
{



if (!SD.begin(4)) {
  Serial.println("Initialisation impossible !");
  return;
}
Serial.println("Initialisation OK.");



}



void Ouverture_SD()
{

fichierSD = SD.open("Changement_Code_C.txt", FILE_WRITE); //Ouvre le fichier en écriture


}

void Verification_Ouverture_SD()
{


if (fichierSD) {
  Serial.print("Fichier ouvert");
  
} else {
  Serial.println("Fichier non ouvert");
}


}

void Ecriture()
{



fichierSD.println(passwordC);
fichierSD.close();




}

Je ne vais l’expliqué je pense que vous avez compris enfin maintenant dans le void ecriture()
j’aimerais que quand l’admin change le code C celle soit enregistré dans la carte SD et qui change la valeurs de Password passwordC = Password( “1234” ); Cependant quand "j’appelle
fichierSD.println(passwordC); dejà ça me met une erreur mais surtout comment changé la valeur de cette ligne la fichierSD.println(passwordC); car en fessant passwordC ce n’est pas la valeur "merè du password donc en gros la valeur du password ne change pas =( et enfin comment faire appelle au fichier au début du code pour dire Password passwordC = Password( “1234” ); vaut telle valeur

Voici le code entier pour mieux comprendre
ATTENTION ne faite pas attention à l’orthograhe j’ai écris les mots vite fais pour avoir un ordre d’idée dans le code et merci a vous pour votre attention & lecture

Lien fichier ONEDRIVE