آریفآئڈی سیکیورٹی لاک سرکٹ۔ مکمل پروگرام کوڈ اور جانچ کی تفصیلات

مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں





اس مضمون میں ہم دیکھیں گے کہ ریلے کو کنٹرول کرنے کے لئے کس طرح آرڈوینو پر مبنی آریفآئڈی ریڈر سرکٹ استعمال کیا جاسکتا ہے ، جس کے نتیجے میں حفاظتی دروازے پر لاک ایپلی کیشنز میں استعمال کیا جاسکتا ہے۔

جائزہ

اگر آپ نے ابھی تک پچھلے آریفآئڈی آرٹیکل کو چیک نہیں کیا ہے تو ، براہ کرم آگے جاکر اس کی جانچ پڑتال کریں ، اس نے اس کا احاطہ کیا آریفآئڈی ٹکنالوجی کی بنیادی باتیں .



ہم UID استعمال کرکے مجاز ٹیگوں کی شناخت کرنے جارہے ہیں۔ مختصر طور پر UID ٹیگ کا انوکھا شناخت نمبر ہوتا ہے ، جب آپ اپنے دفتر میں یا کسی اور جگہ اپنا کارڈ اسکین کرتے ہیں تو ، یہ کارڈ سے UID نکالتا ہے۔

کارڈ کی UID آپ کے دفتر کے ڈیٹا بیس پر محفوظ کی جاتی ہے اور اس سے کارڈ ہولڈر کو پہچان لیا جائے گا اور آپ کی حاضری رجسٹر ہوجائے گی۔



ٹیگ نہ صرف یو آئی ڈی منتقل کرتا ہے ، بلکہ کچھ دیگر معلومات کو بھی منتقل کرتا ہے جو ٹیگ میں محفوظ ہے ، ٹیگ عام طور پر 1KB سے 4KB میں کبھی کبھی اس سے بھی زیادہ اسٹور کرسکتے ہیں۔

ہم ٹیگ پر معلومات کو ذخیرہ کرنے کے طریق پر تبادلہ خیال نہیں کریں گے لیکن ، اس پر آئندہ مضمون میں تبادلہ خیال کیا جائے گا۔ اس پوسٹ میں ہم UID نمبر کو استعمال کرنے جا رہے ہیں ریلے آن / آف .

اس پروجیکٹ کا مقصد آلہ کو آن / آف کرنا ہے ، جو دیئے گئے سیٹ اپ سے منسلک RFID ٹیگ کی مدد سے اسکیننگ کے ساتھ ہے۔

کارڈ میں UID کی وضاحت پروگرام میں کی جاتی ہے اور جب مجاز کارڈ کا پتہ چل جاتا ہے تو ، یہ پہلے اسکین پر ریلے کو آن کرے گا اور اس کو دوبارہ اسکین کرنا ریلے کو غیر فعال کردے گا۔

اگر کسی بھی غیر مجاز کارڈ کا پتہ چلا ہے تو ، وہ سیریل مانیٹر پر غلطی کا پیغام دے گا اور ریلے بغیر کسی مداخلت کے اپنا موجودہ کام جاری رکھے گا۔

یہاں جب مجاز کارڈ اسکین کیا جاتا ہے تو ، ریلے چالو / غیر فعال ہوجاتا ہے ، اس طریقہ کار کو کہیں بھی استعمال کیا جاسکتا ہے ، مثال کے طور پر: ڈور لاکنگ سسٹم ، جہاں دروازہ کھولنے کے لئے مجاز کارڈ اسکین کرنے کی ضرورت ہوتی ہے۔

یہ کیسے کام کرتا ہے:

آرڈوینو کا استعمال کرتے ہوئے آریفآئڈی سیکیورٹی لاک سرکٹ

آریفآئڈی سرکٹ ایل ای ڈی پر مشتمل ہے جو ریلے کی حیثیت کی نشاندہی کرتا ہے ، بی سی 548 ٹرانجسٹر نے ریلے کو ڈرائیو کیا اور 1N4007 ڈایڈڈ ریلے کے اس پار جڑا ہوا ہے تاکہ سوئچنگ کے وقت ہائی وولٹیج کی بڑھتی ہوئی وارداتوں کو پکڑ سکے۔

اگر آپ ہائی ولٹیج والے ریٹیڈ ریلے (9V یا 12V) کو جوڑنا چاہتے ہیں تو آپ بیرونی + Ve فراہمی کو ریلے سے مربوط کرسکتے ہیں اور supplyہم سپلائی کو ارڈینو کے GND پن کی بنیاد پر فراہم کرسکتے ہیں۔ براہ کرم اس اقدام کو آگے بڑھاتے وقت زیادہ سے زیادہ احتیاط کریں ، کیونکہ اگر آپ کے رابطے ٹھیک نہیں ہیں تو بورڈ کو نقصان پہنچا سکتے ہیں۔

ہارڈویئر سیٹ اپ مکمل کرنے کے بعد اگلا مرحلہ یہ ہے کہ آپ UID کی 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 کے ساتھ تبدیل کریں۔

مصنف کا پروٹو ٹائپ جو دروازوں اور سیفس کیلئے فول پروف آر ایف آئی ڈی سیکیورٹی لاک کے طور پر مؤثر طریقے سے استعمال کیا جاسکتا ہے:

جب کسی مجاز کارڈ کو اسکین کیا جاتا ہے:

جب غیر مجاز ٹیگ اسکین کیا جاتا ہے:

اگر آپ کو اس ارڈینوو آریفآئڈی سیکیورٹی لاک سرکٹ کے بارے میں کوئی سوالات ہیں تو ، براہ کرم نیچے تبصرہ سیکشن میں ہم سے پوچھیں۔




پچھلا: پی ڈبلیو ایم ٹائم تناسب کا استعمال کرتے ہوئے ٹریک فیز کنٹرول اگلا: روشن کراس واک سیفٹی لائٹ سرکٹ