ہماری روز مرہ کی زندگی میں سیکیورٹی ایک بہت بڑا تشویش ہے ، اور ڈیجیٹل لاک ان سیکیورٹی سسٹمز کا ایک اہم حصہ بن چکے ہیں۔ اس طرح کے ایک ڈیجیٹل کوڈ لاک کی تقلید آرڈینو بورڈ اور میٹرکس کیپیڈ کے ذریعہ کی جاتی ہے۔
اجزاء
- اردوینو
- کیپیڈ ماڈیول
- بزر
- 16x2 LCD
- BC547 ٹرانجسٹر
- مزاحم (1 ک)
- روٹی بورڈ
- طاقت
- مربوط تاروں
اس سرکٹ میں ہم نے سسٹم میں پاس ورڈ ان پٹ کے لئے کیپیڈ کو انٹرفیس کرنے کے لئے ملٹی پلیکسنگ ٹکنیک استعمال کیا ہے۔ یہاں ہم 4x4 کیپیڈ استعمال کر رہے ہیں جس میں 16 کلید ہیں۔ اگر ہم 16 چابیاں استعمال کرنا چاہتے ہیں تو پھر ہمیں ارڈینو کے سلسلے میں 16 پن کی ضرورت ہوگی لیکن ملٹی پلیکس تکنیک میں ہمیں 16 چابیاں انٹرفیس کرنے کے لئے صرف 8 پن استعمال کرنے کی ضرورت ہے۔ تاکہ کیپیڈ ماڈیول کو انٹرفیس کرنے کا یہ زبردست طریقہ ہے۔
ملٹی پلیکس تکنیک: ان پٹ یا پاس ورڈ یا اعداد فراہم کرنے کے لئے مائکروکنٹرولر کے ساتھ استعمال ہونے والی پنوں کی تعداد کو کم کرنے کا ملٹی پلیکس تکنیک ایک بہت ہی موثر طریقہ ہے۔ بنیادی طور پر اس تکنیک کا استعمال دو طریقوں سے ہوتا ہے۔ لیکن اس ارڈوینو پر مبنی پروجیکٹ میں ہم نے کیپیڈ لائبریری کا استعمال کیا ہے لہذا ہمیں اس سسٹم کے لئے کوئی ملٹی پلیکسنگ کوڈ بنانے کی ضرورت نہیں ہے۔ ہمیں صرف ان پٹ فراہم کرنے کے لئے کیپیڈ لائبریری استعمال کرنے کی ضرورت ہے۔
سرکٹ کی تفصیل
اس پروجیکٹ کا سرکٹ بہت آسان ہے جس میں آرڈینو ، کیپیڈ ماڈیول ، بوزر اور ایل سی ڈی ہے۔ ایردوینو مکمل عمل کو کنٹرول کرتی ہے جیسے پاس ورڈ فارم کیپیڈ ماڈیول لینا ، پاس ورڈز کا موازنہ کرنا ، بوزر ڈرائیونگ کرنا اور LCD ڈسپلے پر اسٹیٹس بھیجنا۔ کیپیڈ پاس ورڈ لینے کے لئے استعمال ہوتا ہے۔ Buzzer اشارے کے لئے استعمال ہوتا ہے اور LCD اس پر اسٹیٹس یا پیغامات کی نمائش کے لئے استعمال ہوتا ہے۔ بزر این پی این ٹرانجسٹر کا استعمال کرکے چلتا ہے۔
کیپیڈ ماڈیول کے کالم پنوں کو براہ راست پن 4 ، 5 ، 6 ، 7 سے منسلک کیا گیا ہے اور قطار پنوں ارڈینو اونو سے 3 ، 2 ، 1 ، 0 سے منسلک ہیں۔ ایک 16x2 LCD 4-بٹ وضع میں ارڈینو کے ساتھ منسلک ہے۔ کنٹرول پن آر ایس ، آر ڈبلیو اور این براہ راست ارڈینو پن 13 ، جی این ڈی اور 12 سے جڑے ہوئے ہیں۔ اور ڈیٹا پن D4-D7 ارڈینو کے 11 ، 10 ، 9 اور 8 پنوں سے جڑا ہوا ہے۔ اور ایک بوزر BC547 NPN ٹرانجسٹر کے ذریعے ارڈینو کے پن 14 (A1) پر منسلک ہوتا ہے۔
کام کرنا
ہم نے پاس ورڈ کو بچانے کے لئے ان بلٹ آرڈینوو کے ای ای پی آر ایم کا استعمال کیا ہے ، لہذا جب ہم اس سرکٹ کو چلاتے ہیں تو پہلی بار انبیلٹ ارڈوینو کے ایپرووم سے کوڑے کے کوائف پڑھتے ہیں اور اس کا ان پٹ پاس ورڈ سے موازنہ کرتے ہیں اور ایل سی ڈی پر ایک میسج دیتے ہیں جو رسائی سے انکار ہے کیونکہ پاس ورڈ مماثل نہیں ہے۔ اس مسئلے کو حل کرنے کے لئے ہمیں ذیل میں دیا گیا پروگرامنگ استعمال کرکے پہلی بار پہلے سے طے شدہ پاس ورڈ ترتیب دینے کی ضرورت ہے۔
(int j = 0؛ j <4؛ j ++) EEPROM.write (j، j + 49)؛
lcd.print ("ur Passkey درج کریں:")؛ lcd.setCursor (0،1)؛ (int j = 0؛ j <4؛ j ++) پاس = EEPROM.read (j)؛
اس سے اردوینو کے EEPROM میں "1234" پاس ورڈ متعین ہوگا۔
اسے پہلی بار چلانے کے بعد ہمیں اسے پروگرام سے ہٹانے اور دوبارہ کوڈ کو ارڈینو میں لکھ کر چلانے کی ضرورت ہے۔ اب آپ کا سسٹم ٹھیک چل جائے گا۔ اور آپ کی دوسری بار استعمال شدہ پاس ورڈ اب "1234" ہے۔ اب آپ اسے # بٹن دبانے سے تبدیل کرسکتے ہیں اور پھر اپنا موجودہ پاس ورڈ درج کریں اور پھر اپنا نیا پاس ورڈ درج کریں۔
جب آپ اپنا پاس ورڈ درج کریں گے تو ، نظام آپ کے داخل کردہ پاس ورڈ کا موازنہ اس پاس ورڈ سے کرے گا جو ارڈینو کے EEPROM میں محفوظ ہے۔ اگر میچ ہوتا ہے تو ایل سی ڈی دکھائے گا "رسائی عطا" اور اگر پاس ورڈ غلط ہے تو ایل سی ڈی کچھ دیر تک "رسائی سے انکار" ہوجائے گا اور بزر مسلسل بیپنگ کرے گا۔ اور جب بھی صارف کیپیڈ سے کوئی بٹن دبائے گا تو بززر ایک بار بھی بیپ ہوتا ہے۔
پروگرامنگ کی تفصیل
کوڈ میں ہم نے ارڈوینو کے ساتھ کیپیڈ کو انٹرفیس کرنے کے لئے کیپیڈ لائبریری کا استعمال کیا ہے۔
# شامل کریں
کانس بائٹ ROWS = 4؛ // چار قطاریں ضبط بائٹ COLS = 4؛ // چار کالم چار ہیکساکیز = {{'1'، '2'، '3'، 'A'}، {'4'، '5'، '6'، 'B'}، {'7'، ' 8 '،' 9 '،' C '}، {' * '،' 0 '،' # '،' D '}}؛ بائٹ قطار پنز = {3، 2، 1، 0}؛ // کیپیڈ بائٹ کالپینز کے قطار پن آؤٹ سے منسلک کریں = {4، 5، 6، 7}؛ // کیپیڈ کے کالم پن آؤٹ سے جڑیں // کلاس کی ایک مثال شروع کریں نیوکیپیڈ کیپیڈ کسٹ کیپیڈ = کیپیڈ (میک کییمپ (ہیکساکیز) ، قطار پنز ، کالپینز ، روڈز ، سی او ایل)؛
ہم نے LCD انٹرفیسنگ اور EEPROM کو انٹرفیس کرنے کے لCD LCD لائبریری شامل کی ہے ، اور پھر اجزاء کے ل for لائبریری EEPROM.h شامل کیا ہے۔
# ڈیفائن بزر 15 لیکویڈ کرسٹل ایل سی ڈی (13،12،11،10،9،8)؛ چار پاس ورڈ؛ چار پاس ، پاس 1؛ انٹ i = 0؛ چار کسٹمکی = 0؛
اور پھر ہم نے LCD کو شروع کیا اور سیٹ اپ فنکشن میں پنوں کو سمت دی
باطل سیٹ اپ () c lcd.begin (16،2)؛ پن موڈ (قیادت ، آؤٹ پٹ)؛ پن موڈ (بوزر ، آؤٹپٹ)؛ پن موڈ (ایم 11 ، آؤٹپٹ)؛ پن موڈ (ایم 12 ، آؤٹپٹ)؛ lcd.print ("الیکٹرانک")؛ lcd.setCursor (0،1)؛ lcd.print ("کیپیڈ لاک")؛ تاخیر (2000)؛ lcd.clear ()؛ lcd.print ("ur Passkey درج کریں:")؛ lcd.setCursor (0،1)؛
اس کے بعد ہم لوپ فنکشن میں کیپیڈ پڑھتے ہیں
کسٹمکی / کسٹکیپیڈ.بیٹکی ()؛ اگر (کسٹمرکیی == '#') تبدیل ()؛ if (customKey) {پاس ورڈ = کسٹکی؛ lcd.print (کسٹمکی)؛ بیپ ()؛ }
اور پھر اسٹرنگ موازنہ کے طریقہ کار کو استعمال کرتے ہوئے پاس ورڈ کو سیف پاس ورڈ سے موازنہ کریں
اگر (i == 4) {تاخیر (200)؛ (int j = 0؛ j <4؛ j ++) پاس = EEPROM.read (j)؛ اگر (! بیپ ()؛ lcd.clear ()؛ lcd.print ("Passkey Accepted")؛ تاخیر (2000)؛ lcd.setCursor (0،1)؛ lcd.print ("#. پاسکی کو تبدیل کریں")؛ تاخیر (2000)؛ lcd.clear ()؛ lcd.print ("پاسکی داخل کریں:")؛ lcd.setCursor (0،1)؛ i = 0؛ ڈیجیٹل رائٹ (ایل ای ڈی ، کم)؛ }
یہ پاس ورڈ چینج فنکشن اور بوزر بیپ فنکشن ہے
باطل تبدیلی () j int j = 0؛ lcd.clear ()؛ lcd.print ("UR موجودہ پاسک")؛ lcd.setCursor (0،1)؛ جبکہ (j <4) {چار کلید = کسٹ کیپیڈ.بیٹکی ()؛ if (key) {pass1 = key؛ lcd.print (key)؛ باطل بیپ () {ڈیجیٹل رائٹ (بزر ، ہائی)؛ تاخیر (20)؛ ڈیجیٹل رائٹ (بزر ، کم)؛ }