⚠️ : RC522 is 3.3V only . Use a POWER = 3.3V terminal in Proteus, not 5V.
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
Why? Because the RC522 communicates via (sometimes I2C/UART) and involves complex anti-collision algorithms for reading multiple cards. Modeling that in a simulator is genuinely hard.
Here is a minimal code example to read the card UID:
