RFID check

One more problem..
All works good, but after few hours, arduino needs a reset because it don't read anymore..
RFID reader's led blink, but door didn't open (arduino don't send any signal to relay)

#include "SoftwareSerial.h"

#define txPin 11
#define rxPin 10

SoftwareSerial RFID(rxPin, txPin);

int val=0;
byte data[5];
byte tag1[4] = {0xAA,0xBB,0xCC,0xDD};
byte tag2[4] = {0xAE,0xBE,0xCE,0xDE};
boolean tag1_card = false;

void setup(){
  
  pinMode(txPin, OUTPUT); 
  pinMode(rxPin, INPUT);
  pinMode(6,OUTPUT);
  pinMode(12,OUTPUT);
  
  digitalWrite(12, HIGH);
  
  delay(2000);
  
  RFID.begin(28800);
  
  RFID.write(0x02);
  
  delay(100);   
}

void loop() {
 
  if(RFID.available()>=4){
        
    for(int x=0; x<4; x++)
      data[x]=RFID.read();
    
    for (int i=0; i<4; i++)
      if(memcmp(data,tag1,4)==0) tag1_card = true;
      else if(memcmp(data,tag2,4)==0) tag1_card = true;
        
    if (tag1_card) {
      digitalWrite(6,HIGH);
      delay(500);
      digitalWrite(6,LOW);
      tag1_card=false;
    }
    for (int d=0; d<4; d++) data[d]=0;
  }
}