Bug d'affichage écran lcd 16x02

Bonjour,
j'ai créé un sytème d'ouverure de porte RFID mais l'écran lcd affiche des caractères bizarres.
L'infrarouge ne me sert pas et les noms sont inventés dans le programme.
Que puis je faire pour résoudre ce problème ?
Voici mon code :

#define BADGE_PORT_PLAISANCE " C8 45 EB 61"
#define BADGE_BLEU " A9 B2 BB B9" //badge bleu
#define BADGE_NFC "0 4 5B A5 BA 2D 59 81" //tag NFC
#define BADGE_ROUGE " F1 49 2F 3D"
#define CPE " A6 40 2F 3D"
#define ERIC_CAMENEN "0 3 42 2F 3D"
#define LEBODIC " 1F 74 2E 3D"
#define DIRECTEUR " D6 FE 2E 3D"
#define REPARATEUR " 41 4A 2F 3D"
#define DANO " D5 46 2F 3D"

/*
Branchements :
led verte en 7
led rouge en 6
servo en 4
bouton en 3
buzzer en 8
module RFID /
SDA en 53
SCK en 52
MOSI en 51
MISO en 50
RQ en rien
GND en GND
RST en 5
3.3V en 3.3V
*/

#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
#include <IRremote.h>
#include <LiquidCrystal.h> 

// Indicates the pins
#define SS_PIN 53
#define RST_PIN 37
// pour définir la valeur des ouvertures
#define ferme 5
#define ouvert 250

Servo monServomoteur;

// Indicates to which pin the LED is connected
const int ledpin1 = 45; //rouge
const int ledpin2 = 39; //verte
const int buzzer = 8;
int bouton = 3;
int etatbouton = 0;
int bouton2 = 30;
int etatbouton2 = 0;
int RECV_PIN = 10;

long CODE_IR_9 = 0xFF906F;
long CODE_IR_0 = 0xFF9867;
long CODE_IR_1 = 0xFFA25D;
long CODE_IR1_9 = 0xBFEC0EB0;

IRrecv irrecv(RECV_PIN);
decode_results results;

// Creates own veriable for card reader
MFRC522 myReader (SS_PIN, RST_PIN);

LiquidCrystal lcd(10, 2, 4, 5, 6, 7); // Crée un objet LC. Paramètres : (rs, enable, d4, d5, d6, d7) 


void setup ()
{
// définit la broche 4 pour le servo moteur "monServomoteur"
monServomoteur.attach(36);
monServomoteur.write(ferme); //voir #define en haut

irrecv.enableIRIn();
 lcd.begin(16,2); 

// set buzzer to pin 8 as output
pinMode (buzzer, OUTPUT);

// Start communication with the monitor
Serial.begin (9600);

// Library SPI
SPI.begin ();

// Up to version 1.4.5 this call
myReader.PCD_Init ();

// Print on monitor: “..”
Serial.println ("Presentez votre badge d'accès");
Serial.println ();

// initialize pin 7 and 6 as output
pinMode (ledpin1, OUTPUT);
pinMode (ledpin2, OUTPUT);
pinMode(bouton, INPUT);
pinMode(bouton2, INPUT);
}

void loop () {
if(Serial.available()){
  char c = Serial.read();
  Serial.println("Valeur entrée:");
  Serial.println(c);
  if (c == '8'){ // si 8 est tapé dans le moniteur série, la porte s'ouvre
    monServomoteur.write(ouvert);
    digitalWrite (ledpin1, LOW);
    digitalWrite (ledpin2, HIGH);
    tone (buzzer, 1000);
    delay (1000);
    // stop, sound
    noTone(buzzer);
    delay(800);
    digitalWrite (ledpin1, LOW);
    digitalWrite (ledpin2, LOW);
  }
  if (c == '3'){ // si 3 est tapé dans le moniteur série, la porte s'ouvre
    monServomoteur.write(ferme);
    tone (buzzer, 500);
    delay (1000);
    // stop, sound
    noTone(buzzer);
  }
}
//if (irrecv.decode(&results))
//{
//  Serial.println(results.value,HEX);
//  irrecv.resume();
//}
//if (results.value == CODE_IR_9)
//{
//  monServomoteur.write(ouvert);
//}
//if (results.value == CODE_IR_0)
//{
//  monServomoteur.write(ferme);
//}
etatbouton = digitalRead (bouton);
  if (etatbouton==HIGH) {
    Serial.println("FERMETURE EN COURS");
    delay(1000);
    monServomoteur.write(ferme); //voir #define en haut
    tone (buzzer, 500);
    // wait 1 second
    delay (1000);
    // stops sound
    noTone(buzzer);
    delay(250);
    Serial.println("FERMETURE TERMINEE");
  }
  etatbouton2 = digitalRead (bouton2);
  if (etatbouton2==HIGH) {
    Serial.println("OUVERTURE EN COURS");
    delay(1000);
    monServomoteur.write(ouvert); //voir #define en haut
    tone (buzzer, 1000);
    // wait 1 second
    delay (1000);
    // stops sound
    noTone(buzzer);
    delay(250);
    Serial.println("OUVERTURE TERMINEE");
  }
// see if no new maps are detected
digitalWrite (ledpin1, LOW);
if (! myReader.PICC_IsNewCardPresent ())
{

// not found, stops searching
return;
}
// Checks whether the key tag can be read
if (! myReader.PICC_ReadCardSerial ())
{
// failed to read
return;
}
// Show UID on serial monitor
String key = "";
for (byte i = 0; i <myReader.uid.size; i ++)
{
key.concat (String (myReader.uid.uidByte [i] <0x10? "0 ":" "));
key.concat (String (myReader.uid.uidByte [i], HEX));
}
// Uppercase code of found key for better comparison
key.toUpperCase ();

// Print to monitor so you know which key is being read
Serial.println ();
Serial.print ("Badge d'accès :");
Serial.print (key);

// Grants access if key “..” is the same
// Each key tag has its own code, read your code via monitor
Serial.println ();
Serial.print ("ACCES:");
lcd.clear();
lcd.setCursor(0,0);
lcd.println("ACCES: ");

if (key == BADGE_PORT_PLAISANCE)   // RFID d'accès : bracelet HELLFEST (id:RYNWDG)
{

// LED rouge off, LED verte on
digitalWrite (ledpin1, LOW);
digitalWrite (ledpin2, HIGH);
// Determines the frequency of the buzzer
tone (buzzer, 1000);
delay (1000);
// stop, sound
noTone(buzzer);
monServomoteur.write(ouvert); //voir #define en haut
  

// Print on monitor
Serial.print ("AUTORISE : MALO LENORMAND");
lcd.setCursor(8,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MALO LENORMAND");
delay (3000);
digitalWrite (ledpin1, LOW);
digitalWrite (ledpin2, LOW);
}

else if (key == BADGE_BLEU)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : MALO LENORMAND");
    lcd.setCursor(8,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MALO LENORMAND");
    delay (3000);
    digitalWrite (ledpin1, LOW);
    digitalWrite (ledpin2, LOW);
  }

else if (key == BADGE_NFC)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : MALO LENORMAND");
    lcd.setCursor(8,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MALO LENORMAND");
    delay (3000);
    digitalWrite (ledpin1, HIGH);
    digitalWrite (ledpin2, LOW);
  }

else if (key == BADGE_ROUGE)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : MALO LENORMAND");
    lcd.setCursor(8,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MALO LENORMAND");
    delay (3000);
    digitalWrite (ledpin1, HIGH);
    digitalWrite (ledpin2, LOW);
  }

else if (key == CPE)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : CPE");
    lcd.setCursor(8,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MR LE BAGOUSSE");
    delay (3000);
    digitalWrite (ledpin1, HIGH);
    digitalWrite (ledpin2, LOW);
  }

else if (key == ERIC_CAMENEN)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : ERIC CAMENEN");
    lcd.setCursor(8,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MR CAMENEN");
    delay (3000);
    digitalWrite (ledpin1, HIGH);
    digitalWrite (ledpin2, LOW);
  }

else if (key == LEBODIC)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : STEPHANE LE BODIC");
    lcd.setCursor(8,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MR LE BODIC");
    delay (3000);
    digitalWrite (ledpin1, HIGH);
    digitalWrite (ledpin2, LOW);
  }

else if (key == DIRECTEUR)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : MR LE PICARD");
    lcd.setCursor(8,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MR LE PICARD");
    delay (3000);
    digitalWrite (ledpin1, HIGH);
    digitalWrite (ledpin2, LOW);
  }

else if (key == REPARATEUR)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : TECHNICIEN");
    lcd.setCursor(8,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("TECHNICIEN");
    delay (3000);
    digitalWrite (ledpin1, HIGH);
    digitalWrite (ledpin2, LOW);
  }

else if (key == DANO)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : MR DANO");
    lcd.setCursor(8,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MR DANO");
    delay (3000);
    digitalWrite (ledpin1, HIGH);
    digitalWrite (ledpin2, LOW);
  }

else {

// Red LED on, green off
digitalWrite (ledpin1, HIGH);
digitalWrite (ledpin2, LOW);

// Determines the frequency of the buzzer
tone (buzzer, 500);
// wait 1 second
delay (1000);
// stops sound
noTone(buzzer);

// Print on monitor
Serial.print ("REFUSE");
lcd.setCursor(8,0);
lcd.print("REFUSE");
delay (3000);
}
Serial.println ();

//etatbouton2 = digitalRead (bouton2);
//  if (etatbouton2==HIGH) {
//   Serial.println("lecture en cours...");
//   #define BADGE key
//  }

}

Merci d'avance.
Cordialement,
Geek56.

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans Les bonnes pratiques du Forum Francophone

Merci de ne pas poster end double.

➜ "Les bonnes pratiques du Forum Francophone”

j'ai fermé l'autre post

Ah oui ok y'a eu un bug donc j'en ai créé un autre sauf que les deux sont restés

Première question : quel LCD utilisez-vous exactement ? Écrivez le link vers le produit exact que vous avez acheté.
Deuxième question : Avez-vous essayé le LCD avec un des exemples livrés avec la librairie ? Et il fonctionne?
Troisième question : qu'entendez-vous exactement par "polices étranges" ? Peux-tu poster une photo de l'affichage ?

Bonjour,
1.Voilà le lien : [https://fr.aliexpress.com/item/32763867041.html?spm=a2g0o.productlist.0.0.3b923009h3qn9M&algo_pvid=4299c060-2351-42a9-829e-e1933a660ddd&algo_exp_id=4299c060-2351-42a9-829e-e1933a660ddd-8&pdp_ext_f={"sku_id"%3A"67412362500"}&pdp_npi=2%40dis!EUR!3.24!2.53!!!1.38!!%400b0a0ac216697426875708697ec76e!67412362500!sea&curPageLogUid=IWmBdLKyvbZq]
2. Oui je viens de tester et ça affiche hello, world avec l'exemple hello world de liquidcrystal
3.


Et petit changement pour le code dans le premier post !
Merci !

Hello
La pin 1est utilisée par la liaison série.
Et ho scandale, tu l'utilises aussi pour le LCD.

ok merci donc d'après toi je devrais la déplacer en 12 ou 13 par exemple ?

Prendre une autre pinoche que la 0 ou la 1, lesquelles sont déjà utilisées par la liaison série.
Pour l'instant, lorsque tu écris sur le moniteur, tu dois perturber le LCD.
Avec l'exemple "Hello World" la liaison série n'est pas utilisée, c'est pour ça que ça fonctionne correctement.

J'ai fait ce que tu as dit, merci : l'écran marche mais après le ACCES: il y a les caractères bizarres sur l'image du dessus case 6 et 8 !

La ligne qui affiche "accès: " sur le LCD
lCD.println("accès: ");
Doit être remplacée par:
lCD.print("accès : ");

Print seul, pas println

Erreur

Ok merci, je vais essayer !

J'ai essayé et ça marche !
Merci beaucoup !!!!!!!!!!!!!!!!!!!
Voilà mon programme modifié et amélioré !

#define BADGE_PORT_PLAISANCE " C8 45 EB 61"
#define BADGE_BLEU " A9 B2 BB B9" //badge bleu
#define BADGE_NFC "0 4 5B A5 BA 2D 59 81" //tag NFC
#define BADGE_ROUGE " F1 49 2F 3D"
#define CPE " A6 40 2F 3D"
#define ERIC_CAMENEN "0 3 42 2F 3D"
#define LEBODIC " 1F 74 2E 3D"
#define DIRECTEUR " D6 FE 2E 3D"
#define DE_CRUZ " 41 4A 2F 3D"
#define DANO " D5 46 2F 3D"

/*
Branchements :
led verte en 7
led rouge en 6
servo en 4
bouton en 3
buzzer en 8
module RFID /
SDA en 53
SCK en 52
MOSI en 51
MISO en 50
RQ en rien
GND en GND
RST en 5
3.3V en 3.3V
*/

#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
#include <IRremote.h>
#include <LiquidCrystal.h> 

// Indicates the pins
#define SS_PIN 53
#define RST_PIN 37
// pour définir la valeur des ouvertures
#define ferme 5
#define ouvert 250

Servo monServomoteur;

// Indicates to which pin the LED is connected
const int ledpin1 = 45; //rouge
const int ledpin2 = 39; //verte
const int buzzer = 8;
int bouton = 3;
int etatbouton = 0;
int bouton2 = 30;
int etatbouton2 = 0;
int RECV_PIN = 10;

long CODE_IR_9 = 0xFF906F;
long CODE_IR_0 = 0xFF9867;
long CODE_IR_1 = 0xFFA25D;
long CODE_IR1_9 = 0xBFEC0EB0;

IRrecv irrecv(RECV_PIN);
decode_results results;

// Creates own veriable for card reader
MFRC522 myReader (SS_PIN, RST_PIN);

LiquidCrystal lcd(10, 2, 4, 5, 6, 7); // Crée un objet LC. Paramètres : (rs, enable, d4, d5, d6, d7) 


void setup ()
{
// définit la broche 4 pour le servo moteur "monServomoteur"
monServomoteur.attach(36);
monServomoteur.write(ferme); //voir #define en haut

irrecv.enableIRIn();
 lcd.begin(16,2); 

// set buzzer to pin 8 as output
pinMode (buzzer, OUTPUT);

// Start communication with the monitor
Serial.begin (9600);

// Library SPI
SPI.begin ();

// Up to version 1.4.5 this call
myReader.PCD_Init ();

// Print on monitor: “..”
Serial.println ("Presentez votre badge d'accès");
Serial.println ();

// initialize pin 7 and 6 as output
pinMode (ledpin1, OUTPUT);
pinMode (ledpin2, OUTPUT);
pinMode(bouton, INPUT);
pinMode(bouton2, INPUT);
}

void loop () {
lcd.clear();
lcd.setCursor(0,0);
lcd.print("PRESENTEZ BADGE");
lcd.setCursor(4,1);
lcd.print("D'ACCES");
if(Serial.available()){
  char c = Serial.read();
  Serial.println("Valeur entrée:");
  Serial.println(c);
  if (c == '8'){ // si 8 est tapé dans le moniteur série, la porte s'ouvre
    monServomoteur.write(ouvert);
    digitalWrite (ledpin1, LOW);
    digitalWrite (ledpin2, HIGH);
    tone (buzzer, 1000);
    delay (1000);
    // stop, sound
    noTone(buzzer);
    delay(800);
    digitalWrite (ledpin1, LOW);
    digitalWrite (ledpin2, LOW);
  }
  if (c == '3'){ // si 3 est tapé dans le moniteur série, la porte s'ouvre
    monServomoteur.write(ferme);
    tone (buzzer, 500);
    delay (1000);
    // stop, sound
    noTone(buzzer);
  }
}
//if (irrecv.decode(&results))
//{
//  Serial.println(results.value,HEX);
//  irrecv.resume();
//}
//if (results.value == CODE_IR_9)
//{
//  monServomoteur.write(ouvert);
//}
//if (results.value == CODE_IR_0)
//{
//  monServomoteur.write(ferme);
//}
etatbouton = digitalRead (bouton);
  if (etatbouton==HIGH) {
    Serial.println("FERMETURE EN COURS");
    lcd.clear();
    lcd.setCursor(3,0);
    lcd.print("FERMETURE");
    lcd.setCursor(3,1);
    lcd.print("EN COURS");
    delay(1000);
    monServomoteur.write(ferme); //voir #define en haut
    tone (buzzer, 500);
    // wait 1 second
    delay (1000);
    // stops sound
    noTone(buzzer);
    delay(250);
    Serial.println("FERMETURE TERMINEE");
    lcd.clear();
    lcd.setCursor(3,0);
    lcd.print("FERMETURE");
    lcd.setCursor(3,1);
    lcd.print("TERMINEE");
    delay(2000);
    lcd.clear();
  }
  etatbouton2 = digitalRead (bouton2);
  if (etatbouton2==HIGH) {
    Serial.println("OUVERTURE EN COURS");
    lcd.clear();
    lcd.setCursor(3,0);
    lcd.print("OUVERTURE");
    lcd.setCursor(3,1);
    lcd.print("EN COURS");
    delay(1000);
    monServomoteur.write(ouvert); //voir #define en haut
    tone (buzzer, 1000);
    // wait 1 second
    delay (1000);
    // stops sound
    noTone(buzzer);
    delay(250);
    Serial.println("OUVERTURE TERMINEE");
    lcd.clear();
    lcd.setCursor(3,0);
    lcd.print("OUVERTURE");
    lcd.setCursor(3,1);
    lcd.print("TERMINEE");
    delay(2000);
    lcd.clear();
  }
// see if no new maps are detected
digitalWrite (ledpin1, LOW);
if (! myReader.PICC_IsNewCardPresent ())
{

// not found, stops searching
return;
}
// Checks whether the key tag can be read
if (! myReader.PICC_ReadCardSerial ())
{
// failed to read
return;
}
// Show UID on serial monitor
String key = "";
for (byte i = 0; i <myReader.uid.size; i ++)
{
key.concat (String (myReader.uid.uidByte [i] <0x10? "0 ":" "));
key.concat (String (myReader.uid.uidByte [i], HEX));
}
// Uppercase code of found key for better comparison
key.toUpperCase ();

// Print to monitor so you know which key is being read
Serial.println ();
Serial.print ("Badge d'accès :");
Serial.print (key);

// Grants access if key “..” is the same
// Each key tag has its own code, read your code via monitor
Serial.println ();
Serial.print ("ACCES:");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ACCES: ");

if (key == BADGE_PORT_PLAISANCE)
{

// LED rouge off, LED verte on
digitalWrite (ledpin1, LOW);
digitalWrite (ledpin2, HIGH);
// Determines the frequency of the buzzer
tone (buzzer, 1000);
delay (1000);
// stop, sound
noTone(buzzer);
monServomoteur.write(ouvert); //voir #define en haut
  

// Print on monitor
Serial.print ("AUTORISE : MALO LENORMAND");
lcd.setCursor(7,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MALO LENORMAND");
delay (3000);
digitalWrite (ledpin1, LOW);
digitalWrite (ledpin2, LOW);
}

else if (key == BADGE_BLEU)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : MALO LENORMAND");
    lcd.setCursor(7,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MALO LENORMAND");
    delay (3000);
    digitalWrite (ledpin1, LOW);
    digitalWrite (ledpin2, LOW);
  }

else if (key == BADGE_NFC)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : MALO LENORMAND");
    lcd.setCursor(7,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MALO LENORMAND");
    delay (3000);
    digitalWrite (ledpin1, HIGH);
    digitalWrite (ledpin2, LOW);
  }

else if (key == BADGE_ROUGE)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : MALO LENORMAND");
    lcd.setCursor(7,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MALO LENORMAND");
    delay (3000);
    digitalWrite (ledpin1, HIGH);
    digitalWrite (ledpin2, LOW);
  }

else if (key == CPE)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : CPE");
    lcd.setCursor(7,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MR LE BAGOUSSE");
    delay (3000);
    digitalWrite (ledpin1, HIGH);
    digitalWrite (ledpin2, LOW);
  }

else if (key == ERIC_CAMENEN)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : ERIC CAMENEN");
    lcd.setCursor(7,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MR CAMENEN");
    delay (3000);
    digitalWrite (ledpin1, HIGH);
    digitalWrite (ledpin2, LOW);
  }

else if (key == LEBODIC)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : STEPHANE LE BODIC");
    lcd.setCursor(7,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MR LE BODIC");
    delay (3000);
    digitalWrite (ledpin1, HIGH);
    digitalWrite (ledpin2, LOW);
  }

else if (key == DIRECTEUR)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : MR LE PICARD");
    lcd.setCursor(7,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MR LE PICARD");
    delay (3000);
    digitalWrite (ledpin1, HIGH);
    digitalWrite (ledpin2, LOW);
  }

else if (key == DE_CRUZ)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : TECHNICIEN");
    lcd.setCursor(7,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MR DE CRUZ");
    delay (3000);
    digitalWrite (ledpin1, HIGH);
    digitalWrite (ledpin2, LOW);
  }

else if (key == DANO)
    {
      
      // LED rouge off, LED verte on
      digitalWrite (ledpin1, LOW);
      digitalWrite (ledpin2, HIGH);
      // Déterminer la fréquence du buzzer
      tone (buzzer, 1000);
      delay (1000);
      // Stoper le son
      noTone(buzzer);
      monServomoteur.write(ouvert); // voir #define en haut


    // Écrire sur le moniteur
    Serial.print ("AUTORISE : MR DANO");
    lcd.setCursor(7,0);
lcd.print("AUTORISE");
lcd.setCursor(0,1);
lcd.print("MR DANO");
    delay (3000);
    digitalWrite (ledpin1, HIGH);
    digitalWrite (ledpin2, LOW);
  }

else {

// Red LED on, green off
digitalWrite (ledpin1, HIGH);
digitalWrite (ledpin2, LOW);

// Determines the frequency of the buzzer
tone (buzzer, 500);
// wait 1 second
delay (1000);
// stops sound
noTone(buzzer);

// Print on monitor
Serial.print ("REFUSE");
lcd.setCursor(7,0);
lcd.print("REFUSE");
delay (3000);
}
Serial.println ();

//etatbouton2 = digitalRead (bouton2);
//  if (etatbouton2==HIGH) {
//   Serial.println("lecture en cours...");
//   #define BADGE key
//  }

}

Cordialement,
Geek56.