SoftwareSerial RFID = SoftwareSerial(2, 2);
Do you have the TX pin of the RFID connected to the same Arduino pin as the RX pin? That's a most unusual way of doing things.
SoftwareSerial LCD = SoftwareSerial(0, 3);
Using the hardware serial pin for SoftwareSerial is a bad idea.
void loop()
{
receiveRFIDCardInfo();
}
Why?
void receiveRFIDCardInfo()
{
static byte data[4];
static byte temp[14];
byte len;
static int i = 0;
unsigned long currentId;
if(RFID.available())
{
Why are data and temp static? Why is i static?
Looks like you forgot to put RFID in listen mode.
currentId = (unsigned long)data[0]*16777216 + (unsigned long)data[1]*65536 + (unsigned long)data[2]*256 + (unsigned long)data[3];
Bit shifting would be so much more efficient.
if(dat >= 0x30 && dat <= 0x39)
{
return (dat - 0x30);
}else if(dat >= 0x41 && dat <= 0x46)
{
return (dat - 55);
}
What's with all the magic numbers? Why the mix of hex and decimal?