MFRC522 stockage dans une variable

Salut,

J'utilise également un MFRC522 pour les tags rfid voici ce que j'utilise et qui marche pour le moment

#include <Wire.h>
#include <rgb_lcd.h>
#include <SPI.h>
#include <MFRC522.h>

rgb_lcd lcd;

const int colorR = 0;
const int colorG = 150;
const int colorB = 150;

#define SS_PIN 53    
#define RST_PIN 40

byte tagok = 0;

unsigned long sernum[2] = {0, 3643072285, };  // <-ICI Tu marques le numéro de ta carte

MFRC522 mfrc522(SS_PIN, RST_PIN);        // Create MFRC522 instance.
MFRC522::MIFARE_Key key;
void setup() {
  lcd.begin(16, 2);       
  lcd.setRGB(colorR, colorG, colorB);
  SPI.begin();                // Init SPI bus
  mfrc522.PCD_Init();        // Init MFRC522 card
lcd.print("Init afficheur ");
delay (2500);
lcd.clear();
lcd.print("Scan du badge ?");
lcd.setCursor(0, 2);
}

void loop() {

  // Look for new cards
  if ( ! mfrc522.PICC_IsNewCardPresent()) {
    return;
  }

  // Select one of the cards
  if ( ! mfrc522.PICC_ReadCardSerial())    return;

  
  for (byte i = 0; i < 4; i++) {

  }

  sernum[0] = *((unsigned long *)mfrc522.uid.uidByte); //recup num serie lu long unsigned

  tagok = 0;
  for  (byte i = 1; i < 10; i++) {
    if (sernum[0] == sernum[i]) tagok = 1; // carte reconnue dans la liste

  }

  if (tagok == 0) { // faire si carte inconnue
    lcd.print("Scan du badge");
    lcd.setCursor(0, 2);
    lcd.print("Badge Invalide");
    delay(3000);
    lcd.clear();
    lcd.print("Scan du badge :");
    
  }
  if (tagok >0) //faire si carte reconnue
  {

    lcd.setCursor(0, 1);
    if (sernum[0] == sernum[1]) lcd.print("Tag Reconnu" ); 
    lcd.clear();
    }

 
mfrc522.PICC_HaltA(); // Halt PICC

}

PS: Mon ecran LCD est branché en I2C