#include <SoftwareSerial.h>
SoftwareSerial RFID(2, 3); // RX and TX
int data[14];
int angq[14] = {2,53,49,48,48,54,69,70,48,52,51,56,67,3};
int nando[14] = {2,53,49,48,48,54,69,53,70,52,69,50,69,3};
int monci[14] = {2,53,49,48,48,54,69,69,70,68,68,48,68,3};
int milan[14] = {2,53,49,48,48,54,69,69,70,69,50,51,3};
int newtag[14] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0}; // used for read comparisons
const int tes1 = 13;
const int tes2 = 12;
const int tes3 = 11;
const int tes4 = 10
void setup()
{
pinMode(tes1, OUTPUT);
pinMode(tes2, OUTPUT);
pinMode(tes3, OUTPUT);
pinMode(tes4, OUTPUT);
RFID.begin(9600);
}
boolean comparetag(int angq[14], int nando[14],int monci[14], int milan[14])
{
boolean ff = false;
int fg = 0;
for (int cc = 0 ; cc < 14 ; cc++)
{
if (angq[cc] == nando[cc] == monci[cc] == milan[cc])
{
fg++;
}
}
if (fg == 14)
{
ff = true;
}
return ff;
}
void checkmytags()
{
ok = 0;
if (comparetag(newtag, angq) == true)
digitalWrite(tes1, HIGH);
{
ok++;
}
if (comparetag(newtag, nando) == true)
digitalWrite(tes2, HIGH);
{
ok++;
}
if (comparetag(newtag, monci) == true)
digitalWrite(tes3, HIGH);
{
ok++;
}
if(comparetag(newtag, milan) == true)
digitalWrite(tes4, HIGH);
{
ok++;
}
}
void readTags()
{
ok = -1;
if (RFID.available() > 0)
{
delay(100);
for (int z = 0 ; z < 14 ; z++)
{
data1 = RFID.read();
newtag[z] = data1;
}
RFID.flush();
checkmytags();
}
if (ok > 0)
{
ok = -1;
}
else if (ok == 0)
{
ok = -1;
}
}
void loop()
{
readTags();
}