Followers

Advertising

About This Template

Sunday, May 7, 2017

Bank Vault Security System with Password Protection (2nd Part)

Motor Driver Circuit (H-Bridge):
Two H-bridge motor driver circuits are used for driving the motors of the Door of the bank vault. One is used to rotate the door & another one is used to open/close the bolt of the door for locking purpose.
A PIC micro controller is used to operate the H-Bridges; it was programmed in a way that it sends
command to the H-Bridge to drive the motors clockwise or anti-clockwise for a certain period of time. The PIC micro controller gets it’s command from the Arduino Module after inserting correct or wrong password by the Keypad , if the password is accepted , then the Arduino sends signal to open the door
to the PIC micro controller, then the PIC micro controller drives the bolt motor clockwise for 2 seconds &

then the door rotation motor for another 4 seconds , when closing , after getting command from the Arduino it sends the command to the PIC micro controller , then the pic drives H-bridges in such a way that , the door rotation motor rotates in opposite direction for 4 seconds & then the bolt motor rotates in opposite direction for another 2 seconds & locks the door. The circuit diagram of a common H-Bridge is given below:


H-Bridge Circuit




Input Logic Table of the H-Bridge


Operating Principle of the System:
As it has been said before, it has 3 step security layer, first of all is password protection, a pre- programmed password can be saved & modified if necessary by the user, only authorized persons will know the password, after pressing the password on the keyboard, if the password is accepted, the door will open & will disable all the alarm systems, if the password is not accepted it will ring a warning sound & alert the user, if wrong password is inserted more than 3 times, it will secure the door & alert the law of enforcement team.
The second part of the security layer is physical interrupt alarm, a ‘Laser’ near to the door is aimed at a LDR sensor, if by any chance , anyone cut the bolts of the door or blow it away, the broken particle of the door or the door itself will cut the laser & will trigger the alarm.
The third part of the protection scheme is thermal security system, if anyone plans to get into the vault by breaking the vault floor or wall; the PIR sensor will detect the thermal movement & will alarm the trigger instantly. The second & third part of the protection scheme is only activated when the door is locked & de-activated when the door is unlocked.



Features of this system:
1. Full proof security system.
2. Can be monitored & controlled from distant main office wirelessly by Xbee module.
3. Triple layer security system.
4. Reliable & Durable.
5. Can be used as Home Security System or in Museum as well as Bank Vault.
6. Low power consumption, only 2.4mWatts.
7. No need to keep eye on surveillance continuously.
8. Alert sound & can call law enforcement team if necessary.
9. Battery Operated , can be backed up & also mains operated.
10. 24X7 online protection
11. Heavy duty vault door is controlled by geared motor
12. Auto locking & turning on the Alarm after shutting the vault door.
13. The password can be encrypted & the micro controller can be code protected.
14. Highly sensative thermal sensor for burglars.
15. Each PIR sensors can cover 10-45 meters.
16. More PIRs can be connected parallaly for larger space.
17. Physical interrupt system for blown door particle & man made interruption.
18. Low cost operating system using Arduino module[ATmega328] in C programming language.
19. Motor driver using PIC16F84A & two high current capacity H-bridge circuits.
20. Overall cost effective & parts are easily available on the market.



Programming the micro controllers:
Compiler: Arduino IDE, Micro controller: ATmega 238
#include "Keypad.h"
#include "LiquidCrystal.h"
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] =
{{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}};

byte rowPins[ROWS] = {
6, 7, A5, A4}; //connecting to the row pinouts of the keypad byte colPins[COLS] = {
A3, A2, A1, A0}; // connecting to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
char PIN[6]={'1','2','3','4','5','6'}; // The Password initially inserted in the program
char attempt[6]={0,0,0,0,0,0}; // used for comparison
int z=0;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{ lcd.begin(16, 2);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
pinMode(A4, INPUT);
pinMode(A5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);

pinMode(10, OUTPUT);
incorrectPIN();
lcd.setCursor(0, 0);
lcd.print(" Press '*' & ");
lcd.setCursor(0, 1);
lcd.print(" Enter Password  "); }

void correctPIN() // do this if correct PIN entered
{ lcd.clear();
delay(1);
lcd.setCursor(0, 0);
lcd.print("The Password is: ");
lcd.setCursor(0, 1);
lcd.print("   Accepted   ");
delay(1000);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
lcd.clear();
delay(1);
lcd.setCursor(0, 0);
lcd.print("Security Sensors");
lcd.setCursor(0, 1);
lcd.print(" Are Disabled ");
delay(500);
digitalWrite(9,LOW);
delay(1500); lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" Press '#' to  ");
lcd.setCursor(0, 1);
lcd.print("Enable Security");}

void incorrectPIN() // do this if incorrect PIN entered
{ lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" The Password is ");
lcd.setCursor(0, 1);
lcd.print("  not Accepted     ");
digitalWrite(8, HIGH);
digitalWrite(9,LOW);
delay(500);
digitalWrite(8,LOW);
delay(1400);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Security Sensors");
lcd.setCursor(0, 1);
lcd.print(" Are  Enabled ");
delay(2000);
digitalWrite(10, HIGH);
delay(1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" Press '*' & ");
lcd.setCursor(0, 1);
lcd.print(" Enter Password "); }
void checkPIN()
{ int correct=0;
int incorrect=0;
for (int q=0; q<6 o:p="" q="">
{    if (attempt[q]==PIN[q])
{  correct++; }}
if (correct==6)
{ correctPIN(); }
else {incorrectPIN();
{incorrect++;}
if (incorrect==3)
{ lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Warning!!!");
lcd.setCursor(0, 1);
lcd.print(" Alarm Enabled ");
}}
for (int zz=0; zz<6 attempt="" o:p="" wipe="" zz="">
{ attempt[zz]=0;  }}
void readKeypad()
{ char key = keypad.getKey();
if (key != NO_KEY)
{    switch(key)
{    case '*':
delay(10);
z=0;
break;
case '#':
delay(100); // for extra debounce
checkPIN();
break;
default:
attempt[z]=key; z++;    }}}
void loop()
{ readKeypad();}



Compiler: MikroC for PIC, Micro controller: PIC16F84A

void main()
{    TRISA=0b00000011;
TRISB=0b00000000;
while(1)
{      if(RA0_bit==1)
{ RB4_bit=1;
RB5_bit=0;
RB0_bit=1;
RB1_bit=0;
delay_ms(2000);
RB0_bit=0;
delay_ms(1000);
RB3_bit=1;
RB2_bit=0;
delay_ms(2000);
RB3_bit=0; }
else if(RA1_bit==1)
{     delay_ms(200);
RB5_bit=1;
RB4_bit=0;
RB2_bit=1;
RB3_bit=0;
delay_ms(2000);
RB2_bit=0;
delay_ms(1000);
RB1_bit=1;
RB0_bit=0;
delay_ms(2000);
RB1_bit=0; }
else
{ RB0_bit=0;
RB1_bit=0;
RB2_bit=0;
RB3_bit=0; }
}

}


Photo session:



Picture: The Arduino Module in the Project


Picture: Keypad & LCD interface

Picture: Door Controller H-Bridge & LDR Sensor Circuit


Picture: Circuit of the LDR Sensor & Buzzer


Picture: The bolted vault door


Picture: Complete Bank Vault Security Project


Picture: The Project was displayed in a Project Exhibition in AUST, Bangladesh


Picture: Team αlpha ( Ahsanullah University Of Science & Technology)






0 on: "Bank Vault Security System with Password Protection (2nd Part)"

Translate