[Non réglé] Problème affichage sur écran lcd avec module RFID

Bonjour, je travaille sur l'amélioration d'une porte automatique et je dois permettre l'accès aux personnes autorisées.
J'ai donc décidé de prendre une module RFID VMA405, un module relai écran LCD RGB Blacklight v2.0, ainsi qu'une carte Arduino UNO.
Je dois afficher sur l'écran LCD le nom de la personne en fonction de la carte présentée, voici mon programme:

#include <SPI.h>      
#include <RFID.h>    
#include <Wire.h>     
#include "rgb_lcd.h"  

#define SS_PIN 10     
#define RST_PIN 9    

RFID rfid(SS_PIN,RST_PIN);  
rgb_lcd lcd;                

const int relaisPin = 8;                                 
const int colorR = 255;
const int colorG = 155;                                  
const int colorB =30;

int serNum[5];                                          

int card1[][5] = {{32,149,77,109,149}};                   
int card2[][5] = {{156,160,140,171,27}};

int access1 = 0;
int access2 = 0;

void setup(){
  
    Serial.begin(9600);                                 
    SPI.begin();                                          
    rfid.init();                                         
    pinMode(relaisPin, OUTPUT);
                          
    lcd.begin(16, 2);                                    
    lcd.setRGB(colorR, colorG, colorB);                  
    lcd.print("Veuillez montrer");                      
    lcd.setCursor(2, 1);                                 
    lcd.print("votre  badge");

}

void loop(){
    
    if(rfid.isCard()){                                               
    
        if(rfid.readCardSerial()){                                   
            
           for(int x = 0; x < sizeof(card1); x++){
              for(int i = 0; i < sizeof(rfid.serNum); i++ ){
                  if(rfid.serNum[i] != card1[x][i]) { 
               
                      access1 = 0;
                      break;

                  } else {

                      access1 = 1;
                  }
              }

              if(access1) break;

            }
           
        }
              if(rfid.readCardSerial()){                                   
            
           for(int x = 0; x < sizeof(card2); x++){
              for(int i = 0; i < sizeof(rfid.serNum); i++ ){
                  if(rfid.serNum[i] != card2[x][i]) {
               
                      access2 = 0;
                      break;

                  } else {

                      access2 = 1;
                  }
              }
              if(access2) break;
            }
           
        }  

        switch (access1 = 1 || access2 = 1) {

          case access1 = 1 :

           lcd.clear();
           lcd.setCursor(0, 0);                          
           lcd.print("Nom1");
           delay(2000);
           lcd.clear();

           delay(1000);
           digitalWrite(relaisPin, HIGH);                          
           delay (2000);
           digitalWrite(relaisPin, LOW);                          
           delay(2000);

           lcd.print("Veuillez montrer");           
           lcd.setCursor(2, 1);
           lcd.print("votre  badge");
           break;
           
           case access2 = 1 :

           lcd.clear();
           lcd.setCursor(0, 0);                          
           lcd.print("Nom2");
           delay(2000);
           lcd.clear();

           delay(1000);
           digitalWrite(relaisPin, HIGH);                         
           delay (2000);
           digitalWrite(relaisPin, LOW);                          
           delay(2000);

           lcd.print("Veuillez montrer");           
           lcd.setCursor(2, 1);
           lcd.print("votre  badge");
           break;
           
           default :

           lcd.clear();
           lcd.setCursor(0, 0);
           lcd.print("Acces refuse");

           delay(2000);

           lcd.clear();

           delay (2000);

           lcd.print("Veuillez montrer");           
           lcd.setCursor(2, 1);
           lcd.print("votre  badge");
        }  
         
       } 
       rfid.halt();       
    }

et voici le message d'erreur qu'il m'affiche :

F:\Revue 2\Test_final\Test_final.ino: In function 'void loop()':

Test_final:74: error: lvalue required as left operand of assignment

         switch (access1 = 1 || access2 = 1) {

                                        ^

Test_final:75: error: expression '(access1 = 1)' is not a constant-expression

           case access1 = 1 :

                          ^

Test_final:75: error: expression '(access1 = 1)' is not a constant-expression

Test_final:91: error: expression '(access2 = 1)' is not a constant-expression

            case access2 = 1 :

                           ^

Test_final:91: error: expression '(access2 = 1)' is not a constant-expression

exit status 1
lvalue required as left operand of assignment

Une comparaison c'est == non ?

Tu es sûr d'avoir compris le fonctionnement de "switch...case" ?

Bonjour,

J'avais écrit une page sur l'emploi d'un afficheur texte et d'un module RFID.

Tu peux peut-être y trouver des pistes.