ہماری روز مرہ کی زندگی میں سیکیورٹی ایک بہت بڑا تشویش ہے ، اور ڈیجیٹل لاک ان سیکیورٹی سسٹمز کا ایک اہم حصہ بن چکے ہیں۔ ہماری جگہ کو محفوظ بنانے کے لئے بہت ساری قسم کی ٹیکنالوجیز دستیاب ہیں ، جیسے پی آئی آر بیسڈ سیکیورٹی سسٹمز ، آریفآئڈی پر مبنی سیکیورٹی سسٹم ، لیزر سیکیورٹی الارمز ، بائیو میٹرکس سسٹم وغیرہ۔ اب بھی ، ڈیجیٹل لاک موجود ہیں جو ہمارے سمارٹ فونز کے ذریعے چل سکتے ہیں ، اس کا مطلب نہیں مختلف چابیاں رکھنے کی زیادہ ضرورت ہے ، صرف ایک سمارٹ فون ہی تمام تالے چل سکتا ہے ، یہ تصور انٹرنیٹ آف چیزوں پر مبنی ہے۔
اس پروجیکٹ میں ، ہم نے 8051 مائکروکونٹرلر کا استعمال کرتے ہوئے ایک سادہ الیکٹرانک کوڈ لاک کی وضاحت کی ہے ، جو صرف متعین کوڈ کے ذریعہ ہی کھلا ہوسکتا ہے ، اگر ہم غلط کوڈ درج کرتے ہیں تو ، بزنر سائرن کے ذریعہ سسٹم الرٹ کرتا ہے۔ ہم پہلے ہی ارڈینو کا استعمال کرتے ہوئے ڈیجیٹل لاک تیار کر چکے ہیں۔
ورکنگ وضاحت:
اس سسٹم میں بنیادی طور پر AT89S52 مائکروکونٹرولر ، کیپیڈ ماڈیول ، بوزر اور LCD شامل ہیں۔ ایٹ s sroc mic مائکروکنٹرولر مکمل عمل کو کنٹرول کرتا ہے جیسے پاس ورڈ فارم کیپیڈ ماڈیول لینا ، پاس ورڈز کا پہلے سے طے شدہ پاس ورڈ کا موازنہ کرنا ، بوزر ڈرائیونگ کرنا اور ایل سی ڈی ڈسپلے پر اسٹیٹس بھیجنا۔ کیپیڈ مائکروکنٹرولر میں پاس ورڈ داخل کرنے کیلئے استعمال ہوتا ہے۔ Buzzer غلط پاس ورڈ کے اشارے کے لئے استعمال ہوتا ہے اور LCD اس پر اسٹیٹس یا میسجز کی نمائش کے لئے استعمال ہوتا ہے۔ بزر کے پاس این پی این ٹرانجسٹر کا استعمال کرکے ڈرائیور انبلٹ ہے۔
اجزاء:
- 8051 مائکروکانٹرولر (AT89S52)
- 4X4 کیپیڈ ماڈیول
- بزر
- 16x2 LCD
- مزاحم (1 ک ، 10 ک)
- پل اپ مزاحم (10K)
- کیپسیٹر (10 اف)
- سرخ قیادت میں
- روٹی بورڈ
- آئی سی 7805
- 11.0592 میگاہرٹز کرسٹل
- بجلی کی فراہمی
- مربوط تاروں
ملٹی پلیکس ٹیکنیک کا استعمال کرتے ہوئے 4X4 کیپیڈ میٹرکس سے ان پٹ لینا:
اس سرکٹ میں ہم نے نظام میں پاس ورڈ داخل کرنے کے لئے ، 8051 مائکرو قابو پانے والے کیپیڈ کو انٹرفیس کرنے کے لئے ملٹی پلیکسنگ تکنیک استعمال کی ہے۔ یہاں ہم ایک 4x4 کیپیڈ استعمال کر رہے ہیں جس میں 16 چابیاں ہیں۔ اگر ہم 16 چابیاں استعمال کرنا چاہتے ہیں تو 89s52 کے سلسلے میں ہمیں 16 پن کی ضرورت ہوگی ، لیکن ملٹی پلیکس تکنیک میں ہمیں 16 چابیاں انٹرفیس کرنے کے لئے صرف 8 پن استعمال کرنے کی ضرورت ہے۔ تاکہ کیپیڈ ماڈیول کو انٹرفیس کرنے کا یہ ایک زبردست طریقہ ہے۔
ان پٹ یا پاس ورڈ کی فراہمی کے لئے مائکروکنٹرولر کے ساتھ استعمال ہونے والی پنوں کی تعداد کو کم کرنے کا ملٹی پلیکسنگ تکنیک ایک بہت ہی موثر طریقہ ہے۔ بنیادی طور پر اس ٹیکنالوجی کو دو طریقوں سے استعمال کیا جاتا ہے - ایک ہے صف سکیننگ اور دیگر سے ایک ہے کالم سکیننگ.
یہاں ہم قطار اسکیننگ کی وضاحت کرنے جارہے ہیں۔
پہلے ہمیں کیپیڈ ماڈیول کے لئے 8 پن کی وضاحت کرنی ہوگی۔ جس میں پہلے 4 پن کالم اور آخری 4 پن قطاریں ہیں۔
صف اسکیننگ کے ل we ہمیں کالم پنوں پر ڈیٹا یا سگنل دینے کی ضرورت ہے اور صف پن سے وہ ڈیٹا یا سگنل پڑھنا چاہئے۔ فرض کریں کہ ہم کالم پنوں کو نیچے ڈیٹا دیتے ہیں۔
C1 = 0؛
سی 2 = 1؛
سی 3 = 1؛
C4 = 1؛
اور ہم نے یہ اعداد و شمار قطار پنوں پر پڑھتے ہیں۔
اگر صارف کلیدی نمبر '1' کو دباتا ہے تو R1 HIGH سے LOW میں تبدیل ہوجاتا ہے اس کا مطلب ہے R1 = 0؛ اور کنٹرولر سمجھتا ہے کہ صارف نے کلید '1' دبائی ہے۔ اور یہ LCD پر '1' پرنٹ کرے گا اور '1' کو صف میں محفوظ کرے گا۔ لہذا R1 میں یہ HIGH to LOW تبدیل کرنا ایک اہم چیز ہے جس کے ذریعہ کنٹرولر یہ سمجھتا ہے کہ کالم 1 سے ملحقہ کچھ کلید دبائی گئی ہے۔
اب اگر صارف کلیدی نمبر '2' کو دباتا ہے تو R1 H1 پر ہی رہتا ہے جیسا کہ C1 اور R1 دونوں پہلے ہی HIGH پر ہیں۔ لہذا یہاں کوئی تبدیلی نہیں ہوگی ، اس کا مطلب ہے مائکرو قابو پانے والا یہ سمجھتا ہے کہ کالم ون میں کچھ نہیں دبایا گیا ہے۔ اور اسی طرح یہ پرنسپل دوسرے تمام پنوں کے لئے جاتا ہے۔ لہذا اس قدم میں کنٹرولر صرف کالم ون میں چابیاں کا انتظار کرتا ہے: '1' ، '4' ، '7' اور '*'۔
اب اگر ہم دوسرے کالموں (جیسے کالم 2) میں چابیاں ٹریک کرنا چاہتے ہیں تو ہمیں کالم پنوں میں ڈیٹا تبدیل کرنے کی ضرورت ہے۔
سی 1 = 1؛
سی 2 = 0؛
سی 3 = 1؛
C4 = 1؛
اس بار کنٹرولر کالم دو میں صرف چابیاں کا انتظار کرتا ہے: '2' ، '5' ، '8'اور' 0 '، کیوں کہ تبدیلی (HIGH to LOW) تب ہوتی ہے جب کالم دو کیز دبائیں جائیں گی۔ اگر ہم 1 ، 3 یا 4 میں کسی بھی کلید کو دبائیں تو کوئی تبدیلی واقع نہیں ہوگی ، کیونکہ یہ کالم HIGH پر ہیں ، اور قطاریں پہلے ہی HIGH میں ہیں۔
اسی طرح کالم C3 اور C4 کی چابیاں بھی ایک بار میں 0 بناکر ٹریک کی جاسکتی ہیں۔ یہاں تفصیلی وضاحت دیکھیں: کیپیڈ انٹرفیسنگ 8051 کے ساتھ۔ منطق کو صحیح طریقے سے سمجھنے کے لئے نیچے کوڈ سیکشن سے بھی گزریں۔
سرکٹ کی وضاحت:
8051 استعمال کرتے ہوئے اس ڈیجیٹل لاک کے لئے سرکٹ ڈایاگرام نیچے دکھایا گیا ہے اور آسانی سے سمجھا جاسکتا ہے۔ کیپیڈ ماڈیول کے کالم پنوں کو براہ راست پن P0.0 ، P0.1 ، P0.2 ، P0.3 سے منسلک کیا گیا ہے اور صف پنوں 89s52 مائکروقابو کنٹرولر کی بندرگاہ 0 میں سے P0.4 ، P0.5 ، P0.6 ، P0.7 سے منسلک ہیں۔. ایک 16x2 LCD 4 بٹ موڈ میں 89s52 مائکروقابو کنٹرولر کے ساتھ منسلک ہے۔ کنٹرول پن RS ، RW اور En P1.0 ، GND اور P1.2 سے براہ راست جڑے ہوئے ہیں۔ اور ڈیٹا پن D4-D7 89s52 کے پنوں P1.4 ، P1.5 ، P1.6 اور P1.7 سے جڑا ہوا ہے۔ اور ایک بزر ایک ریزسٹر کے ذریعہ پن P2.6 پر جڑا ہوا ہے۔
پروگرام کی وضاحت:
ہم نے پروگرام میں پہلے سے طے شدہ پاس ورڈ کا استعمال کیا ہے ، اس پاس ورڈ کو صارف ذیل میں کوڈ میں بیان کرسکتا ہے۔ جب صارف سسٹم میں پاس ورڈ داخل کرتا ہے، تب سسٹم صارف کے درج کردہ پاس ورڈ کا موازنہ کرتا ہے جو پروگرام کے کوڈ آف اسٹور میں یا پہلے سے طے شدہ پاس ورڈ کے ساتھ ہوتا ہے۔ اگر کوئی میچ ہوتا ہے تو ایل سی ڈی دکھائے گا “ایکسیس گریڈڈ” اور اگر پاس ورڈ میچ نہیں ہوتا ہے تو ایل سی ڈی دکھائے گا “رسائی سے انکار” اور کچھ دیر کے لئے بزر مسلسل بیپ رہے گا۔ یہاں ہم نے سٹرنگھ لائبریری کا استعمال کیا ہے۔ اس لائبریری کا استعمال کرکے ہم "strncmp" فنکشن کا استعمال کرکے ، دو ڈور کا موازنہ یا اس کا مقابلہ کرسکتے ہیں۔
پروگرام میں ، سب سے پہلے ہم ہیڈر فائل کو شامل کرتے ہیں اور کیپیڈ اور LCD کے لئے متغیر اور ان پٹ اور آؤٹ پٹ پنوں کی وضاحت کرتے ہیں۔
# شامل کریں
1 سیکنڈ کی تاخیر پیدا کرنے کے لئے فنکشن تیار کیا گیا ہے ، اس کے ساتھ ساتھ کچھ LCD افعال بھی شامل ہیں جیسے LCD ابتدا کے لئے ، اسٹرنگ پرنٹنگ ، کمانڈز وغیرہ کے لئے۔ آپ آسانی سے انہیں کوڈ میں پاسکتے ہیں۔ 8051 اور اس کے افعال میں LCD مداخلت کرنے کے لئے اس مضمون کو دیکھیں۔
اس کے بعد ، مرکزی پروگرام میں ہم نے LCD کی ابتدا کی ہے اور پھر ہم کیپیڈ () فنکشن کا استعمال کرکے کیپیڈ سے ان پٹ پڑھتے ہیں اور ان پٹ کی کلیدوں کو ایک صف میں اسٹور کرتے ہیں اور پھر اس کا موازنہ strncmp کا استعمال کرکے پیش وضاحتی سرنی ڈیٹا سے کرتے ہیں۔
باطل مین () z بوزر = 1؛ lcd_init ()؛ lcdstring ("الیکٹرانک کوڈ")؛ lcdcmd (0xc0)؛ lcdstring ("لاک سسٹم")؛ تاخیر (400)؛ lcdcmd (1)؛ lcdstring ("سرکٹ ڈائجسٹ")؛ تاخیر (400)؛ جبکہ (1)؛ i = 0؛ کیپیڈ ()؛ اگر (strncmp (پاس ، "4201" ، 4) == 0)
اگر درج کردہ پاس ورڈ کا میچ ہوجاتا ہے ، تو قبول کریں () فنکشن کہا جاتا ہے:
باطل قبول () c lcdcmd (1)؛ lcdstring ("ویلکم")؛ lcdcmd (192)؛ lcdstring ("پاس ورڈ قبول کریں")؛ تاخیر (200)؛ }
اور اگر پاس ورڈ غلط ہے تو غلط () فنکشن کہا جاتا ہے:
باطل غلط () z بوزر = 0؛ lcdcmd (1)؛ lcdstring ("غلط پاسکی")؛ lcdcmd (192)؛ lcdstring ("PLZ دوبارہ کوشش کریں")؛ تاخیر (200)؛ بوزر = 1؛ }
ذیل میں کیپیڈ فنکشن کوڈ میں چیک کریں جو ان پٹ فارم کیپیڈ ماڈیول کو پڑھتا ہے۔