RFID సెక్యూరిటీ లాక్ సర్క్యూట్ - పూర్తి ప్రోగ్రామ్ కోడ్ మరియు పరీక్ష వివరాలు

సమస్యలను తొలగించడానికి మా పరికరాన్ని ప్రయత్నించండి





ఈ వ్యాసంలో రిలేను నియంత్రించడానికి ఆర్డునో ఆధారిత RFID రీడర్ సర్క్యూట్ ఎలా ఉపయోగించబడుతుందో చూద్దాం, ఇది భద్రతా తలుపు లాక్ అనువర్తనాలలో ఉపయోగించబడుతుంది.

అవలోకనం

మీరు మునుపటి RFID కథనాన్ని ఇంకా తనిఖీ చేయకపోతే, దయచేసి దాన్ని తనిఖీ చేయడానికి ముందుకు సాగండి, అది కవర్ చేస్తుంది RFID టెక్నాలజీ యొక్క ప్రాథమికాలు .



మేము UID ని ఉపయోగించి అధీకృత ట్యాగ్‌లను గుర్తించబోతున్నాము. క్లుప్తంగా, UID అనేది ట్యాగ్ యొక్క ప్రత్యేకమైన గుర్తింపు సంఖ్య, మీరు మీ కార్డును మీ కార్యాలయంలో లేదా మరెక్కడైనా స్కాన్ చేసినప్పుడు, అది కార్డు నుండి UID ని సంగ్రహిస్తుంది.

కార్డు యొక్క UID మీ కార్యాలయం యొక్క డేటాబేస్లో సేవ్ చేయబడుతుంది మరియు ఇది కార్డ్ హోల్డర్ను గుర్తించి మీ హాజరును నమోదు చేస్తుంది.



ట్యాగ్ UID ని బదిలీ చేయడమే కాకుండా, ట్యాగ్‌లో నిల్వ చేయబడిన కొన్ని ఇతర సమాచారాన్ని కూడా బదిలీ చేస్తుంది, ట్యాగ్‌లు సాధారణంగా 1KB నుండి 4KB వరకు నిల్వ చేయగలవు.

ట్యాగ్‌లో సమాచారాన్ని ఎలా నిల్వ చేయాలో మేము చర్చించము, అయితే, ఇది భవిష్యత్ కథనంలో చర్చించబడుతుంది. ఈ పోస్ట్‌లో మేము UID నంబర్‌ను నియంత్రించబోతున్నాం రిలే ఆన్ / ఆఫ్ .

ఈ ప్రాజెక్ట్ యొక్క నినాదం పరికరాన్ని ఆన్ / ఆఫ్ చేయడం, ఇది అధీకృత RFID ట్యాగ్‌తో స్కానింగ్‌లో ఇచ్చిన సెటప్‌తో అనుసంధానించబడి ఉంది.

కార్డ్ యొక్క UID ప్రోగ్రామ్‌లో నిర్వచించబడింది మరియు అధీకృత కార్డ్ కనుగొనబడినప్పుడు, అది మొదటి స్కాన్‌లో రిలేను ఆన్ చేస్తుంది మరియు దాన్ని మళ్లీ స్కాన్ చేస్తే రిలే నిష్క్రియం అవుతుంది.

ఏదైనా అనధికార కార్డు కనుగొనబడితే, అది సీరియల్ మానిటర్‌లో దోష సందేశాన్ని ఇస్తుంది మరియు రిలే దాని ప్రస్తుత పనిని ఎటువంటి అంతరాయం లేకుండా కొనసాగిస్తుంది.

ఇక్కడ అధీకృత కార్డ్ స్కాన్ చేయబడినప్పుడు, రిలే సక్రియం చేస్తుంది / నిష్క్రియం చేస్తుంది, ఈ యంత్రాంగాన్ని ఎక్కడైనా ఉపయోగించవచ్చు, ఉదాహరణకు: డోర్ లాకింగ్ సిస్టమ్, ఇక్కడ తలుపు తెరిచేందుకు అధీకృత కార్డు స్కాన్ చేయాల్సిన అవసరం ఉంది.

అది ఎలా పని చేస్తుంది:

ఆర్డునో ఉపయోగించి RFID సెక్యూరిటీ లాక్ సర్క్యూట్

RFID సర్క్యూట్ LED ని కలిగి ఉంటుంది, ఇది రిలే యొక్క స్థితిని సూచిస్తుంది, BC 548 ట్రాన్సిస్టర్ రిలేను డ్రైవ్ చేస్తుంది మరియు 1N4007 డయోడ్ రిలే అంతటా అనుసంధానించబడి అధిక వోల్టేజ్ స్పైక్‌ను స్విచ్ చేసిన వెంటనే అరెస్టు చేస్తుంది.

మీరు అధిక వోల్టేజ్ రేటెడ్ రిలే (9 వి లేదా 12 వి) ను కనెక్ట్ చేయాలనుకుంటే, మీరు రిలేకు బాహ్య + వీ సరఫరాను కనెక్ట్ చేయవచ్చు మరియు ఆర్డునో యొక్క జిఎన్డి పిన్ భూమికి సరఫరా చేయవచ్చు. కనెక్షన్లు సరిగ్గా లేకుంటే మీరు బోర్డును దెబ్బతీసే అవకాశం ఉన్నందున, ఈ దశను కొనసాగించేటప్పుడు దయచేసి చాలా జాగ్రత్తగా ఉండండి.

హార్డ్వేర్ సెటప్ పూర్తయిన తర్వాత తదుపరి దశ మీ ట్యాగ్ యొక్క UID ని కనుగొనడానికి కోడ్‌ను అప్‌లోడ్ చేయడం.
ఇప్పుడు క్రింద ఇచ్చిన ప్రోగ్రామ్‌ను ఆర్డునోకు అప్‌లోడ్ చేయండి, సీరియల్ మానిటర్‌ను తెరిచి ట్యాగ్‌ను స్కాన్ చేయండి.

UID ని కనుగొనడానికి ప్రోగ్రామ్:

#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 ()
}

సీరియల్ మానిటర్‌లోని అవుట్పుట్ (ఉదాహరణ):

మీ కార్డు యొక్క UID: AA: BB: CC: DD

సీరియల్ మానిటర్‌లో, మీరు కొన్ని హెక్సాడెసిమల్ కోడ్‌ను చూస్తారు, ఇది ట్యాగ్ యొక్క UID. దీన్ని గమనించండి, ఇది ట్యాగ్‌ను గుర్తించడానికి తదుపరి ప్రోగ్రామ్‌లో ఉపయోగించబడుతుంది.
ఈ దశ పూర్తయిన తర్వాత, అదే సెటప్‌లో క్రింది కోడ్‌ను అప్‌లోడ్ చేయండి.

కార్డును గుర్తించడానికి మరియు రిలేను నియంత్రించడానికి ప్రోగ్రామ్:

//---------------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------------//

చార్ UID [] = 'XX: XX: XX: XX' // మీ ట్యాగ్ యొక్క UID ని ఇక్కడ ఉంచండి.
XX: XX: XX: XX ను మీ UID తో భర్తీ చేయండి.

రచయిత యొక్క నమూనా తలుపులు మరియు సేఫ్‌ల కోసం ఫూల్‌ప్రూఫ్ RFID భద్రతా లాక్‌గా సమర్థవంతంగా ఉపయోగించబడుతుంది:

అధీకృత కార్డు స్కాన్ చేసినప్పుడు:

అనధికార ట్యాగ్ స్కాన్ చేసినప్పుడు:

ఈ Arduino RFID సెక్యూరిటీ లాక్ సర్క్యూట్‌కు సంబంధించి మీకు ఏవైనా ప్రశ్నలు ఉంటే, దయచేసి వ్యాఖ్య విభాగంలో క్రింద అడగడానికి సంకోచించకండి.




మునుపటి: పిడబ్ల్యుఎం టైమ్ ప్రొపార్షనల్ ఉపయోగించి ట్రయాక్ ఫేజ్ కంట్రోల్ తర్వాత: ప్రకాశవంతమైన క్రాస్‌వాక్ సేఫ్టీ లైట్ సర్క్యూట్