RFID BASED SECURITY
SYSTEM
( A PROJECT BASED
ON ARMY DEFENSE
TECH )
TEAM – TITANS
MEMBERS –
1. SPRIHA SINGH
2. AGRIMA SINGH
3. ANANYA SINGH
4. SHIVA YADAV
5. ARADHY SINGH RAWAT
PRINCIPLE :
We have made this project for Army Cantt.
Every person in the army will have a Rfid card and
whenever an army person goes inside the gate. So when
the Rfid touches the card on the reader only then it will
[Link], the gate will remain closed, due to
which every person of the army will be monitored.
If a person goes to Army Cantt, the gate will not open
until he touches the registered card on the [Link] this
way the security of Army Cantt can be further improved.
MATERIALS REQUIRED –
1- Arduino UNO
2- RFID Card Reader
3- Two IR Sensor
4- Servo Motor
5- Male to Male Jumper Wires - 10
6- Male to Female Jumper Wires - 10
7- 5 volt, 2 Amp Adapter
8- Breadboard
CIRCUIT DIAGRAM –
CODE –
#include <SPI.h>
#include <MFRC522.h>
#include <OnewireKeypad.h>
#include <LiquidCrystal.h>
#include <Servo.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
Servo servo;
int servoPos = 0;
#define sensorPin1 A2
#define sensorPin2 A3
int senVal1 = 0;
int senVal2 = 0;
#define RST_PIN 8
#define SS_PIN 10
int card1Balance = 5000;
int card2Balance = 5000;
#define num 7
char Data[num];
byte data_count = 0;
String num1, num2, card, card2;
int a, b;
char Key;
bool recharge = true;
MFRC522 mfrc522(SS_PIN, RST_PIN);
int state = 0;
char KEYS[] = {
'1', '2', '3', 'A',
'4', '5', '6', 'B',
'7', '8', '9', 'C',
'*', '0', '#', 'D'
};
OnewireKeypad <Print, 16 > KP2(Serial, KEYS, 4, 4, A0, 4700, 1000, ExtremePrec );
void setup () {
[Link](16, 2);
[Link](9600);
[Link](9);
[Link](30);
pinMode(sensorPin1, INPUT);
pinMode(sensorPin2, INPUT);
[Link](5.0);
[Link]();
mfrc522.PCD_Init();
[Link](0, 0);
[Link]("Army Safety &");
[Link](0, 1);
[Link]("Security Project");
delay(3000);
[Link]();
}
void loop()
{
if (recharge == 0)
{
reCharge();
}
else
{
[Link](0, 0);
[Link](" Welcome!!!");
sensorRead();
rfid();
KeyPad();
if (senVal1 == 0)
{
servoDown();
[Link]();
[Link](0, 0);
[Link]("Vehicle detected");
delay(1000);
[Link]();
[Link](0, 0);
[Link]("Put your card to");
[Link](0, 1);
[Link]("the reader......");
delay(2000);
[Link]();
}
else if (senVal2 == 0 && state == 1)
{
servoUp();
[Link]();
[Link](0, 0);
[Link]("Have a safe");
[Link](0, 1);
[Link]("journey");
delay(1000);
[Link]();
state = 0;
}
}
}
void servoDown()
{
[Link](9);
for (servoPos = 30; servoPos <= 120; servoPos += 1)
{
[Link](servoPos);
delay(5);
}
}
void servoUp()
{
[Link](9);
for (servoPos = 120; servoPos >= 30; servoPos -= 1)
{
[Link](servoPos);
delay(5);
}
}
void sensorRead()
{
senVal1 = digitalRead(sensorPin1);
senVal2 = digitalRead(sensorPin2);
}
void rfid()
{
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
String content = "";
for (byte i = 0; i < [Link]; i++)
{
[Link](String([Link][i] < 0x10 ? " 0" : " "));
[Link](String([Link][i], HEX));
}
[Link]();
if ([Link](1) == "03 8D F7 11")
{
if (card1Balance >= 500)
{
lcdPrint();
card1Balance = card1Balance - 500;
delay(2000);
[Link]();
state = 1;
}
else
{
card = [Link](1);
LcdPrint();
[Link](9, 1);
[Link](card1Balance);
[Link](" Tk");
delay(2000);
[Link]();
[Link](0, 0);
[Link]("Please Recharge");
delay(1000);
[Link]();
state = 0;
}
}
else if ([Link](1) == "13 99 0B 0C")
{
if (card2Balance >= 500)
{
lcdPrint();
card2Balance = card2Balance - 500;
delay(2000);
[Link]();
state = 1;
}
else
{
card = [Link](1);
LcdPrint();
[Link](9, 1);
[Link](card2Balance);
[Link](" Tk");
delay(2000);
[Link]();
[Link](0, 0);
[Link]("Please Recharge");
[Link]();
delay(1000);
state = 0;
}
}
else {
[Link](0, 0);
[Link]("Unknown Vehicle");
[Link](0, 1);
[Link]("Access denied");
delay(1500);
[Link]();
}
}
void KeyPad()
{
byte KState = KP2.Key_State();
if (KState == PRESSED)
{
Key = [Link]();
if (Key)
{
if (Key == 'A')
{
[Link]();
[Link](0, 0);
[Link]("Recharging Mode.");
[Link](0, 1);
[Link]("................");
delay(1500);
[Link]();
recharge = 0;
}
}
}
}
void clearData()
{
while (data_count != 0)
{
Data[data_count--] = 0;
}
return;
}
void reCharge()
{
[Link](0, 0);
[Link] ("Enter the amount");
delay(1500);
byte KState = KP2.Key_State();
if (KState == PRESSED)
{
Key = [Link]();
if (Key)
{
if (Key == 'D')
{
if (card == "03 8D F7 11")
{
num1 = Data;
card1Balance = [Link]() + card1Balance;
[Link]();
[Link](0, 0);
[Link]("");
[Link](0, 1);
[Link]("");
[Link](" Tk");
delay(3000);
clearData();
[Link]();
recharge = 1;
}
else if (card == "13 99 0B 0C")
{
num2 = Data;
card2Balance = [Link]() + card2Balance;
[Link]();
[Link](0, 0);
[Link]("Welcome");
[Link](0, 1);
[Link](" ");
[Link](9, 1);
[Link] (card2Balance);
[Link](" Tk");
delay(3000);
clearData();
[Link]();
recharge = 1;
}
}
else
{
Data[data_count] = Key;
[Link](data_count, 1);
[Link](Data[data_count]);
data_count++;
}
}
}
}
void lcdPrint()
{
[Link]();
[Link](0, 0);
[Link](" Welcome ");
[Link](0, 1);
[Link](" Comander Vijay ");
delay(1500);
[Link]();
[Link](0, 0);
[Link](" Welcome ");
[Link](0, 1);
[Link](" ");
}
void LcdPrint()
{
[Link]();
[Link](0, 0);
[Link](" Welcome");
[Link](0, 1);
[Link](" ");
delay(1500);
[Link]();
[Link](0, 0);
[Link]("");
[Link](0, 1);
[Link]("");