Sensore MIFARE RFID RC522 non funziona

Ciao a tutti, premetto che il mio arduino Uno è stato attraversato dal 220v =( durante una prova di domotica.. Ho bruciato il processore e l'ho sostituito con uno nuovo con bootloader precaricato.. Funziona tutto tranne il lettore rfid, i collegamenti sono giusti:

  • Reset 9 RST
  • SPI SS 10 SDA
  • SPI MOSI 11 MOSI
  • SPI MISO 12 MISO
  • SPI SCK 13 SCK

Anche la programmazione è giusta, o almeno dovrebbe rilevare qualcosa. Ma così non è.. Inoltre ho notato che togliendo il filo dei 3,3V che vanno al sensore il Led rimane accesso aumentando la luminosità! E' normale? Prende corrente da qualche altra parte?
Spero non si sia danneggiato. Ecco il codice

void key(){ //2.parte relativa al sensore RC522 mc522!!
  slave = EEPROM.read(0);
  
  
  // Rileva un tag...
  if (RC522.isCard()) {
    Serial.println("HO LETTO QUALCOSA");
      // Legge il seriale...
      
      
      if (RC522.readCardSerial()) {
        sernum0 = RC522.serNum[0];
        sernum1 = RC522.serNum[1];
        sernum2 = RC522.serNum[2];
        sernum3 = RC522.serNum[3];
        sernum4 = RC522.serNum[4];
        
        Serial.println(sernum0);
        Serial.println(sernum1);
        Serial.println(sernum2);
        Serial.println(sernum3);
        Serial.println(sernum4);
        
        
                // Se il seriale letto corrisponde con il seriale Master
                // attiva o disattiva la modalita Memorizzazione chiavi
                // e in più visualizza l'elenco della chiavi salvate... 
                if (sernum0 == masnum0
                && sernum1 == masnum1
                && sernum2 == masnum2
                && sernum3 == masnum3
                && sernum4 == masnum4) {
                if (cardmas==0) {
                  lcd.clear();
                  
                  Serial.print("GESTIONE CHIAVI");
                cardmas = 1;
                lcd.setCursor(0, 1);
                lcd.print("Chiavi slave: ");
                lcd.setCursor(15, 1);
                lcd.print(slave);
                
                lcd.clear();
                }  else { cardmas = 0;
                  lcd.setCursor(0, 1);
                  lcd.print("Annullata       ");
                
                
                }
                } 
                // Se invece il seriale letto corrisponde con uno dei tre gruppi 
                // di chiavi memorizzate allora attiva o disattiva l'allarme.
                else if (sernum0 == EEPROM.read(1) || EEPROM.read(6) || EEPROM.read(11)
                             && sernum1 == EEPROM.read(2) || EEPROM.read(7) || EEPROM.read(12)
                             && sernum2 == EEPROM.read(3) || EEPROM.read(8) || EEPROM.read(13)
                             && sernum3 == EEPROM.read(4) || EEPROM.read(9) || EEPROM.read(14)
                             && sernum4 == EEPROM.read(5) || EEPROM.read(10) || EEPROM.read(15)) {
                              
                             if (statoAllarme == 0) {  
                               oldstatoAllarme = 1;
                               
                               
                               tone(buzzer,2500);
                               delay(500);
                               noTone(buzzer);
                               lcd.setCursor(0, 1);
                         lcd.clear();
                             lcd.print("Chiave Ale");
                           
                             
                           lcd.clear();
                        
                             } 
                              else {
                                   statoAllarme = 0;
                                   tone(buzzer,2500);
                               delay(500);
                               noTone(buzzer);
                               
                               
                                   lcd.setCursor(0, 1);
                                   
                                 
                                    lcd.clear();
                                  
                                   lcd.print("Chiave Ale");
                                  
                                   
                                   
                                    lcd.clear();
                    } 
                } 
                // Se il seriale letto è diverso dal master e nemmeno presente in memoria,
                // e se è attiva la modalita Memorizzazione chiavi, salva il seriale in memoria
                // come slave1, slave2 o slave3.
                else if (cardmas == 1 && slave == 0) {
                    lcd.clear();
                    lcd.print("Chiave rilevata!");
                    EEPROM.write(0, 1);
                    EEPROM.write(1, sernum0);
                    EEPROM.write(2, sernum1);
                    EEPROM.write(3, sernum2);
                    EEPROM.write(4, sernum3);
                    EEPROM.write(5, sernum4);
                    cardmas = 0;
                    
                    lcd.setCursor(0, 1);
                    lcd.print("Slave 1 salvata!");
                    

                                        
                }
                    else if (cardmas == 1 && slave == 1) {
                              lcd.clear();
                              lcd.print("Chiave rilevata!");
                              EEPROM.write(0, 2);
                              EEPROM.write(6, sernum0);
                              EEPROM.write(7, sernum1);
                              EEPROM.write(8, sernum2);
                              EEPROM.write(9, sernum3);
                              EEPROM.write(10, sernum4);
                              cardmas = 0;
                              
                              lcd.setCursor(0, 1);
                              lcd.print("Slave 2 salvata!");
                              

                    }
                              else if (cardmas == 1 && slave == 2) {
                                       lcd.clear();
                                       lcd.print("Chiave rilevata!");
                                       EEPROM.write(0, 3);
                                       EEPROM.write(11, sernum0);
                                       EEPROM.write(12, sernum1);
                                       EEPROM.write(13, sernum2);
                                       EEPROM.write(14, sernum3);
                                       EEPROM.write(15, sernum4);
                                       cardmas = 0;
                                       lcd.setCursor(0, 1);
                                       lcd.print("Slave 3 salvata!");
                                       

                              }
                }
                }
  
  }
//2.end

Grazie mille!

Dovresti controllare se nella scheda non si siano creati cortocircuiti tra i vari pin.
L'Arduino è progettato per gestire tensioni di 5V, se veramente ne sono transitati 220 un controllo è d'obbligo.