Preciso de ajuda com RFID MFRC522

Bom dia, estou elaborando um projeto de graduação com RFID e estou precisando adicionar no código uma maneira de adicionar novas tag por qualquer usuário, ou seja enquanto o botão X estiver pressionado se for reconhecido uma tag ele altera o valor da TAG1 para o valor lido, ao soltar o botão ele salva no Arduíno como TAG1 o valor lido anteriormente na nova tag, tentei fazer o codigo, mas não entendi a biblioteca do MFRC522, se alguém puder ajudar ficarei muito grato.

#include <SPI.h>
#include <MFRC522.h>
 
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance.
 
char st[20];
 
void setup(){
  Serial.begin(9600);   // Inicia a serial
  SPI.begin();      // Inicia  SPI bus
  mfrc522.PCD_Init();   // Inicia MFRC522
  Serial.println("Aproxime o seu cartao do leitor");
}
 
void loop(){
  if (!mfrc522.PICC_IsNewCardPresent()){ //procura cartões
    return;
  }

  if(!mfrc522.PICC_ReadCardSerial()){ //seleciona um cartão
    return;
  }
  Serial.print("UID da tag :");
  String conteudo= "";
  byte letra;
  for (byte i = 0; i < mfrc522.uid.size; i++){
     Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
     Serial.print(mfrc522.uid.uidByte[i], HEX);
     conteudo.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
     conteudo.concat(String(mfrc522.uid.uidByte[i], HEX));
  }
  Serial.println();
  Serial.print("Mensagem : ");
  conteudo.toUpperCase();
  if (conteudo.substring(1) == "ED 78 03 CA"){ //UID 1 - Chaveiro
    Serial.println("Acesso concedido!");
    Serial.println();
    delay(3000);
  }
 
  if (conteudo.substring(1) == "BD 9B 06 7D"){ //UID 2 - Cartao
    Serial.println("Acesso negado!");
    Serial.println();
    delay(3000);
  }
}

Esse exemplo dá bem para entender o funcionamento do MFRC522, para gravar os cartões dê uma estudada na utilização da memória EEPROM.