РФИД круг сигурносне браве - пуни програмски код и детаљи о испитивању

Испробајте Наш Инструмент За Елиминисање Проблема





У овом чланку ћемо видети како би се круг РФИД читача заснован на Ардуину могао користити за управљање релејем, који би се заузврат могао користити у апликацијама сигурносних брава.

Преглед

Ако још увек нисте проверили претходни РФИД чланак, изволите, погледајте га, он је обухватио основе РФИД технологије .



Идентификоваћемо овлашћене ознаке помоћу УИД-а. Укратко, УИД је јединствени идентификациони број ознаке, када скенирате картицу у канцеларији или негде другде, он извлачи УИД са картице.

УИД картице се чува у бази података ваше канцеларије и препознаће власника картице и регистровати ваше присуство.



Ознака не преноси само УИД, већ такође преноси и неке друге информације које се чувају у ознаци, ознаке углавном могу да ускладиште од 1КБ до 4КБ, понекад и више.

Нећемо расправљати о начину чувања информација на ознаци, али о томе ће бити речи у будућем чланку. У овом посту ћемо користити УИД број за контролу релеј ОН / ОФФ .

Мото овог пројекта је УКЉУЧИВАЊЕ / ИСКЉУЧИВАЊЕ уређаја који је повезан са датим подешавањем за скенирање са овлашћеном РФИД ознаком.

УИД картице је дефинисан у програму и када се детектује ауторизована картица, укључиће релеј при првом скенирању, а поновно скенирање ће деактивирати релеј.

Ако се открије било која неовлашћена картица, она ће издати поруку о грешци на серијском монитору и релеј ће наставити свој тренутни задатак без икаквих прекида.

Овде када се овлашћена картица скенира, релеј се активира / деактивира, овај механизам се може користити било где, на пример у: систему закључавања врата, где је потребно скенирати овлашћену картицу да би се отворила врата.

Како то ради:

РФИД круг сигурносне браве помоћу Ардуина

РФИД коло се састоји од ЛЕД диода које указују на статус релеја, БЦ 548 транзистор покреће релеј и 1Н4007 диода је повезана преко релеја да заустави високонапонски скок у тренутку пребацивања.

Ако желите да прикључите релеј вишег напона (9В или 12В), можете повезати спољно напајање + Ве на релеј и –Ве напајање на масу ардуино-овог ГНД пина. Будите максимално опрезни док прелазите са овим кораком, јер можете оштетити плочу ако везе нису исправне.

Следећи корак након завршетка постављања хардвера је отпремање кода да бисте пронашли УИД ваше ознаке.
Сада отпремите доленаведени програм на ардуино, отворите серијски монитор и скенирајте ознаку.

Програм за проналажење УИД-а:

#include
#include
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN)
MFRC522::MIFARE_Key key
void setup()
{
Serial.begin(9600)
SPI.begin()
rfid.PCD_Init()
}
void loop() {
if ( ! rfid.PICC_IsNewCardPresent())
return
if ( ! rfid.PICC_ReadCardSerial())
return
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak)
if(piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
piccType != MFRC522::PICC_TYPE_MIFARE_4K)
{
Serial.println(F('Your tag is not of type MIFARE Classic, your card/tag can't be read :('))
return
}
String StrID = ''
for (byte i = 0 i <4 i ++) {
StrID +=
(rfid.uid.uidByte[i]<0x10? '0' : '')+
String(rfid.uid.uidByte[i],HEX)+
(i!=3?':' : '' )
}
StrID.toUpperCase()
Serial.print('Your card's UID: ')
Serial.println(StrID)
rfid.PICC_HaltA ()
rfid.PCD_StopCrypto1 ()
}

Излаз на серијском монитору (пример):

УИД ваше картице је: АА: ББ: ЦЦ: ДД

На серијском монитору видећете неки хексадецимални код, који је УИД ознаке. Забележите то, што ће се користити у следећем програму за идентификацију ознаке.
Након што је овај корак завршен, отпремите доњи код на исто подешавање.

Програм за идентификацију картице и управљачког релеја:

//---------------Program developed by R.Girish------------//
#include
#include
#define SS_PIN 10
#define RST_PIN 9
int flag=0
int op=8
char UID[] = 'XX:XX:XX:XX' //Place your UID of your tag here.
MFRC522 rfid(SS_PIN, RST_PIN)
MFRC522::MIFARE_Key key
void setup()
{
Serial.begin(9600)
SPI.begin()
rfid.PCD_Init()
pinMode(op,OUTPUT)
}
void loop()
{
if ( ! rfid.PICC_IsNewCardPresent())
return
if ( ! rfid.PICC_ReadCardSerial())
return
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak)
if(piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
Serial.println(F('Your tag is not of type MIFARE Classic, your tag can't be read :('))
return
}
String StrID = ''
for (byte i = 0 i <4 i ++)
{
StrID +=
(rfid.uid.uidByte[i]<0x10? '0' : '')+
String(rfid.uid.uidByte[i],HEX)+
(i!=3?':' : '' )
}
StrID.toUpperCase()
if(StrID!=UID)
{
Serial.println('This is an invalid tag :(')
Serial.println('***************************************')
delay(2000)
}
if (StrID==UID && flag==0)
{
flag=1
digitalWrite(op,HIGH)
Serial.println('This is a vaild tag :)')
Serial.println('Status: ON')
Serial.println('***************************************')
delay(2000)
}
else if(StrID==UID && flag==1)
{
flag=0
digitalWrite(op,LOW)
Serial.println('This is a vaild tag :)')
Serial.println('Status: OFF')
Serial.println('***************************************')
delay(2000)
}
rfid.PICC_HaltA ()
rfid.PCD_StopCrypto1 ()
}
//---------------Program developed by R.Girish------------//

цхар УИД [] = 'КСКС: КСКС: КСКС: КСКС' // Овде ставите свој УИД своје ознаке.
Замените КСКС: КСКС: КСКС: КСКС са својим УИД.

Ауторски прототип који се ефикасно може користити као сигурносна брава РФИД за врата и сефове:

Када се скенира овлашћена картица:

Када се скенира неовлашћена ознака:

Ако имате било каквих питања у вези са овим кругом сигурносне браве Ардуино РФИД, слободно поставите питање у одељку за коментаре.




Претходно: Контрола фазе тријака помоћу пропорционалног ПВМ времена Следеће: Осветљени прелазни сигурносни светлосни круг