Problemas para carregar para o Arduino

Boa tarde,

Sou estudante de técnico em eletrotécnica e estou desenvolvendo meu projeto de conclusão de curso com o Arduino.
Comprei meu Arduino Mega 2560 no começo do ano, e desde então estava funcionando perfeitamente.
Adquiri um módulo RFID e fui testar mas na hora de carregar aparece o seguinte erro:


"O sketch usa 10.188 bytes (4%) de espaço de armazenamento para programas. O máximo são 253.952 bytes.
Variáveis globais usam 525 bytes (6%) de memória dinâmica, deixando 7.667 bytes para variáveis locais. O máximo são 8.192 bytes.
avrdude: ser_open(): can’t set com-state for “\.\COM5”
avrdude: ser_drain(): read error: Identificador inválido.

Problema ao carregar para a placa. Veja http://www.arduino.cc/en/Guide/Troubleshooting#upload para sugestões."


Após isso tentei carregar o exemplo “Blink”(super simples), e apareceu o mesmo erro.
Pesquisei na internet em varios sites e não encontrei uma solução, ainda.
Já tentei trocar o cabo USB, ja testei no outro notebook, já reiniciei o notebook, já desinstalei o Arduino e instalei novamente, e o driver está sm problemas, mas o erro persiste.
Já verifiquei se o modelo, a placa e a COM estão corretos no menu “Ferramentas”.
Já tentei carregar o programa sem nenhum componente conectado ao arduino, mas aparece a mesma coisa.
As luzes da placa estão acendendo e piscando normalmente.
Gostaria da ajuda de vocês, pois apesar de já possuir o Arduino a certo tempo não sou muito expert no assunto, e é muito importante pois estou desenvolvendo meu TCC com o Arduino.

Agradeço desde já.

P.S.:

// Programa : RFID - Controle de acesso / cancela
// Autor : Arduino e Cia

#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h> 
 
Servo microservo9g;

#define SS_PIN 53
#define RST_PIN 9
// Definicoes pino modulo RC522
MFRC522 mfrc522(SS_PIN, RST_PIN); 

// Leds indicadores acesso liberado ou negado
int led_liberado = 5;
int led_negado = 6;

char st[20];

void setup() 
{
  pinMode(led_liberado, OUTPUT);
  pinMode(led_negado, OUTPUT);
  // Define que o servo esta ligado a porta digital 3
  microservo9g.attach(3);
  // Move o servo para a posicao inicial (cancela fechada)
  microservo9g.write(90);
  // Inicia a serial
  Serial.begin(9600);
  // Inicia  SPI bus
  SPI.begin();
  // Inicia MFRC522
  mfrc522.PCD_Init(); 
  // Mensagens iniciais no serial monitor
  Serial.println("Aproxime o seu cartao do leitor...");
  Serial.println();
}

void loop() 
{
  // Aguarda a aproximacao do cartao
  if ( ! mfrc522.PICC_IsNewCardPresent()) 
  {
    return;
  }
  // Seleciona um dos cartoes
  if ( ! mfrc522.PICC_ReadCardSerial()) 
  {
    return;
  }
  // Mostra UID na serial
  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();
  
  // Testa se o cartao1 foi lido
  if (conteudo.substring(1) == "D8 4B 12 22")
  {
    // Levanta a cancela e acende o led verde
    microservo9g.write(-90);
    digitalWrite(led_liberado, HIGH);
    Serial.println("Cartao1 - Acesso liberado !");
    Serial.println();
    delay(3000);
    microservo9g.write(90);
    digitalWrite(led_liberado, LOW);
    }
    
  // Testa se o cartao2 foi lido
  if (conteudo.substring(1) == "87 4B DC 8A")
  {
    Serial.println("Cartao2 - Acesso negado !!!");
    Serial.println();
    // Pisca o led vermelho
    for (int i= 1; i<5 ; i++)
    {
      digitalWrite(led_negado, HIGH);
      delay(200);
      digitalWrite(led_negado, LOW);
      delay(200);
    }
  }
  delay(1000);
}

esse é o código que estou tentando carregar

Desligou o PC e voltou a ligar?

Já sim.

Como é que sabe que a COM é essa e não outra?

No "Gerenciador de Dispositivos" do Notebook aparece a COM em que está o Arduino. E na IDE dele, no menu "Ferramentas">"Porta", aparece "COM5 (Arduino Mega or Mega 2560)"