پاس ورڈ سیکیورٹی لاک سرکٹ 4 × 4 کیپیڈ اور ارڈینو کا استعمال کرتے ہوئے

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





اس پوسٹ میں ہم پاس ورڈ سیکیورٹی لاک سرکٹ تعمیر کرنے جارہے ہیں ، جس تک 6 عددی پاس ورڈ حاصل کیا جاسکتا ہے۔ زیادہ واضح ہونے کے ل it یہ الفا عددی پاس ورڈ ہے۔

اس پروجیکٹ کے لئے ہارڈ ویئر

ہم 4x4 کیپیڈ استعمال کرنے جارہے ہیں ، جس میں 0 سے 9 اعشاریہ 2 اقدار ، دو خاص کردار ‘#’ اور ‘*’ اور A سے D حرفی شامل ہیں۔ ان حروف کا امتزاج بطور پاس ورڈ استعمال کیا جاسکتا ہے۔



ارڈینو سسٹم کا دماغ ہے ، جب درست پاس ورڈ کا حکم دیا جاتا ہے تو ، ایک ریلے کو آرڈوینو کو چالو اور غیر فعال کرنے کے لئے انٹرفیس کیا جاتا ہے۔ لاک سسٹم کی حیثیت کی نشاندہی کرنے کے لئے یہاں دو اشارے ایل ای ڈی استعمال کیا جاتا ہے۔

اگر آپ 4x4 کیپیڈ سے واقف نہیں ہیں تو ، براہ کرم میرے پہلے مضمون کو دیکھیں ، جس پر جامع گفتگو ہوئی 4x4 میٹرکس کیپیڈ کی بنیادی باتیں



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

اس پروجیکٹ میں صرف ایک ہی حصہ جس میں قدرے مشکل ہے کوڈنگ ہے ، کوڈ کو اس پراجیکٹ میں دیئے جانے کی فکر کرنے کی ضرورت نہیں ہے۔ پروگرام کو اس طرح لکھا جانا چاہئے کہ ، یہ فول پروف ہے اور کوئی ہائی جیکر سسٹم کو ہیک نہیں کرسکتا ہے۔

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

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

نوٹ: حالیہ محدود مزاحم 4.7K ٹرانجسٹر کی بنیاد سے منسلک ہونا چاہئے ، جو آریھ میں نہیں دکھایا گیا ہے۔

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

سرکٹ ڈایاگرام

4x4 کیپیڈ استعمال کرکے آرڈینوو پاس ورڈ سیکیورٹی لاک سرکٹ

کی بورڈ اور آرڈینو کو انٹرفیس کرنے کے طریقے کی دو مثال یہ ہیں۔

ایردوینو پاس ورڈ سیکیورٹی لاک ٹیسٹ کے نتائج

• جب سرکٹ چلتا ہے تو ، اس سے پاس ورڈ طلب ہوتا ہے ، آپ سیریل مانیٹر پر دیکھ سکتے ہیں (سیریل مانیٹر لازمی نہیں ہے ، لیکن ، جانچ کے مقصد کے لئے استعمال کیا جاسکتا ہے)۔

iling پاس ورڈ درج کریں جس کو مرتب کرنے سے پہلے آپ نے پروگرام میں داخل کیا تھا۔

• جب آپ چابیاں دباتے ہو تو ، سبز ایل ای ڈی پلکیں ایک سیکنڈ کے دسواں حصے کے لئے ، یہ ظاہر کرتا ہے کہ صارف کے ذریعہ کچھ کلید دبائی گئی ہے۔

• ایک بار جب آپ نے 6 ہندسوں کا پاس ورڈ داخل کیا تو ، کیپیڈ میں ‘D’ دبائیں جو ’درج کریں‘ کا کام کرتا ہے۔ اگر آپ کا پاس ورڈ درست ہے تو ، ریلے چالو ہوجاتا ہے ، گرین ایل ای ڈی آن ہوجاتا ہے۔

the ریلے کو غیر فعال کرنے کے لئے ، کیپیڈ میں ‘C’ دبائیں۔ جب ، یہ ہوجائے تو ، گرین ایل ای ڈی بند ہوجاتا ہے اور ریلے غیر فعال ہوجاتا ہے۔ کوئی دوسری کلید ریلے کو غیر فعال نہیں کر سکتی ہے۔

• اگر صارف کے ذریعہ درج کردہ پاس ورڈ غلط ہے تو ، پھر ایل ای ڈی ایل ای ڈی روشن ہوجائے اور اگلی کوشش میں داخل ہونے کے لئے صارف کو 30 سیکنڈ انتظار کرنا پڑے گا۔ جب 30 سیکنڈ ختم ہوجاتا ہے تو ، سرخ ایل ای ڈی بند ہوجاتا ہے ، صارف کو آگاہ کرتا ہے کہ ، صارف صارف سے ان پٹ حاصل کرنے کے لئے تیار سسٹم۔

successful جب کامیاب ایکٹیویشن کے بعد ریلے کو غیر فعال کردیا جاتا ہے تو ، ریلے کو دوبارہ چالو کرنے کے ل the ، صارف کو دوبارہ پاس ورڈ داخل کرنے اور 'D' دبانے کی ضرورت ہوتی ہے۔

یہ ایک خاص معاملہ ہے۔

password جب درست پاس ورڈ درج کیا جاتا ہے تو ، ریلے ایکٹیویٹ ہوجاتا ہے اور کامیاب ناکارہ ہونے کے بعد ، جب صارف کسی بھی غلط کی اسٹروک (پورے پاس ورڈ کو نہیں) مارتا ہے تو ، پروگرام کو غلط پاس ورڈ کے طور پر پہچانا جاتا ہے اور صارف کو مزید 30 سیکنڈ انتظار کرنے کی ضرورت ہوتی ہے۔ اگر یہ ہائی جیکر تھا تو یہ ہائی جیکر کی کوششوں کی تعداد میں تاخیر کرے گا۔

attempt جب پہلی کوشش پر درست کی اسٹروک دبایا جاتا ہے ، تب ہی یہ اگلی کلید داخل کرنے کی اجازت دیتا ہے۔ یہ صرف پہلی کی اسٹروک کیلئے ہے نہ کہ پے در پے پے در پے سارے کیسٹروکس کے لئے۔

explained مذکورہ بالا وضاحت کے مقصد کا مقصد یہ ہے کہ ہائی جیکر کی کوششوں کی تعداد میں تاخیر کرنا ہے۔

پروگرام کا کوڈ:

//---------------------------------Program Developed by R.Girish--------------------------//
#include
const byte ROWS = 4
const byte COLS = 4
char pass[] = '123ABC' // 6 digit password only (no less or no more)
int OP=10
int green=12
int red=11
char key1
char key2
char key3
char key4
char key5
char key6
char dumpkey
char keyOK
char ok[]='D'
char offkey
char off[]='C'
int z
char keys[ROWS][COLS] =
{
{'D','#','0','*'},
{'C','9','8','7'},
{'B','6','5','4'},
{'A','3','2','1'}
}
byte rowPins[ROWS] = {6,7,8,9} //connect to the row pinouts of the keypad
byte colPins[COLS] = {2,3,4,5} //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS )
void setup()
{
Serial.begin(9600)
pinMode(OP,OUTPUT)
pinMode(green,OUTPUT)
pinMode(red,OUTPUT)
digitalWrite(OP,LOW)
}
void loop()
{
top:
Serial.println('')
Serial.println('[Press D = Enter]')
Serial.print('Enter the password: ')
key1=keypad.waitForKey()
if(key1 == pass[0])
{
digitalWrite(green,HIGH)
delay(100)
digitalWrite(green,LOW)
{
z=1
Serial.print('*')
goto A

}
}
اور
{
جاؤ ڈمپ
}
TO:
key2 = کیپیڈ.ویٹفورکی ()
اگر (key2 == پاس [1])
{
ڈیجیٹل رائٹ (سبز ، اعلی)
تاخیر (100)
ڈیجیٹل رائٹ (سبز ، کم)
{
z = 2
سیریل.پرنٹ ('*')
گوٹو بی
}
}
اور
{
جاؤ ڈمپ
}
بی:
key3 = کیپیڈ.ویٹفورکی ()
اگر (key3 == پاس [2])
{
ڈیجیٹل رائٹ (سبز ، اعلی)
تاخیر (100)
ڈیجیٹل رائٹ (سبز ، کم)
{
z = 3
سیریل.پرنٹ ('*')
گوٹو سی
}
}
اور
{
جاؤ ڈمپ
}
سی:
key4 = کیپیڈ.ویٹفورکی ()
اگر (key4 == پاس [3])
{
ڈیجیٹل رائٹ (سبز ، اعلی)
تاخیر (100)
ڈیجیٹل رائٹ (سبز ، کم)
{
z = 4
سیریل.پرنٹ ('*')
گوٹو ڈی
}
}
اور
{
جاؤ ڈمپ
}
D:
key5 = کیپیڈ.ویٹفورکی ()
اگر (key5 == پاس [4])
{
ڈیجیٹل رائٹ (سبز ، اعلی)
تاخیر (100)
ڈیجیٹل رائٹ (سبز ، کم)
{
z = 5
سیریل.پرنٹ ('*')
GETO E
}
}
اور
{
جاؤ ڈمپ
}
ہے:
key6 = کیپیڈ.ویٹفورکی ()
اگر (key6 == پاس [5])
{
ڈیجیٹل رائٹ (سبز ، اعلی)
تاخیر (100)
ڈیجیٹل رائٹ (سبز ، کم)
{
z = 6
سیریل.پرنٹ ('*')
ٹھیک ہے
}
}
اور
{
جاؤ ڈمپ
}
ٹھیک ہے:
keyOK = کیپیڈ.ویٹ فورکی ()
اگر (keyOK == ٹھیک ہے [0])
{
ڈیجیٹل رائٹ (او پی ، ہائی)
ڈیجیٹل رائٹ (سبز ، اعلی)
سیریل.پرنٹ لین ('')
سیریل.پرنٹلن ('ریلے کو چالو کیا ہوا ،' C 'دبائیں غیر فعال کرنے کے لئے')
}
اور
{
سیریل.پرنٹ لین ('')
سیریل.پرنٹلن ('داخل کرنے کے لئے' D 'دبائیں)
ٹھیک ہے
}
بند:
آفکی = کیپیڈ.ویٹفورکی ()
اگر (آفکی == آف [0])
{
ڈیجیٹل رائٹ (او پی ، کم)
ڈیجیٹل رائٹ (سبز ، کم)
سیریل.پرنٹ لین ('ریلے ڈیٹایکٹٹیٹ ڈاٹ این')
سب سے اوپر
}
اور
{
سیریل.پرنٹلن ('C' دبائیں تاکہ 'غیر فعال کریں')
ہو گیا
}
ڈمپ:
اگر (z == 0)
{
ڈیجیٹل رائٹ (سبز ، اعلی)
تاخیر (100)
ڈیجیٹل رائٹ (سبز ، کم)
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
بہت خرابی
}
اگر (z == 1)
{
ڈیجیٹل رائٹ (سبز ، اعلی)
تاخیر (100)
ڈیجیٹل رائٹ (سبز ، کم)
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
بہت خرابی
}
اگر (z == 2)
{
ڈیجیٹل رائٹ (سبز ، اعلی)
تاخیر (100)
ڈیجیٹل رائٹ (سبز ، کم)
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
بہت خرابی
}
اگر (z == 3)
{
ڈیجیٹل رائٹ (سبز ، اعلی)
تاخیر (100)
ڈیجیٹل رائٹ (سبز ، کم)
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
بہت خرابی
}
اگر (z == 4)
{
ڈیجیٹل رائٹ (سبز ، اعلی)
تاخیر (100)
ڈیجیٹل رائٹ (سبز ، کم)
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
بہت خرابی
}
اگر (z == 5)
{
ڈیجیٹل رائٹ (سبز ، اعلی)
تاخیر (100)
ڈیجیٹل رائٹ (سبز ، کم)
سیریل.پرنٹ ('*')
ڈمپکی = کیپیڈ.ویٹفورکی ()
سیریل.پرنٹ ('*')
بہت خرابی
}
غلطی:
سیریل.پرنٹ لین ('')
سیریل ڈاٹ پرنٹ ('غلط پاس ورڈ ، 30 سیکنڈ تک انتظار کریں۔')
ڈیجیٹل رائٹ (سرخ ، اعلی)
تاخیر (10000)
تاخیر (10000)
تاخیر (10000)
ڈیجیٹل رائٹ (سرخ ، کم)
سب سے اوپر
}
// --------------------------------- R.Girish کے ذریعہ تیار کردہ پروگرام --------- ----------------- //

نوٹ: پاس ورڈ متعین کرنے کے لئے: چار پاس [] = '123ABC' // صرف 6 ہندسوں کا پاس ورڈ (کم یا زیادہ نہیں)
کوٹیشن نشان کے اندر ، اپنے پاس ورڈ سے '123ABC' تبدیل کریں۔

اس بات کو یقینی بنائیں کہ پروگرام میں ترتیب دیا گیا پاس ورڈ صرف 6 ہندسوں کا ہے ، کم یا زیادہ نہیں بلکہ ، بالکل 6 ہندسوں کا۔ بصورت دیگر یہ پروگرام صحیح طور پر کام نہیں کرے گا۔

اگر آپ کو پاس ورڈ سے متعلق سیکیورٹی لاک سرکٹ کے بارے میں مزید کوئی شکوک ہے تو ، براہ کرم اپنے تاثرات کے ذریعے انھیں پوسٹ کریں




پچھلا: طلوع آفتاب غروب سمیلیٹر ایل ای ڈی سرکٹ اگلا: بلوٹوت موٹر کنٹرولر سرکٹ