- استعمال شدہ اجزاء:
- ملٹی پلیکسنگ کا استعمال کرتے ہوئے 4p4 کیپیڈ کو راسبیری پائی سے جوڑنا:
- سرکٹ کی تفصیل:
- ورکنگ وضاحت:
- پروگرامنگ کی وضاحت:
ہماری روز مرہ کی زندگی میں سیکیورٹی ایک بہت بڑا تشویش ہے ، اور ڈیجیٹل لاک ان سیکیورٹی سسٹمز کا ایک اہم حصہ بن چکے ہیں۔ ہماری جگہ کو محفوظ بنانے کے لئے بہت ساری قسم کی ٹیکنالوجیز دستیاب ہیں ، جیسے پی آئی آر بیسڈ سیکیورٹی سسٹم ، آریفآئڈی پر مبنی سیکیورٹی سسٹم ، لیزر سیکیورٹی الارم ، بائیو میٹرکس سسٹم وغیرہ۔
ہم نے اس سے قبل ارڈینو کے استعمال اور 8051 استعمال کرکے پاس ورڈ کے ساتھ ڈیجیٹل لاک بنایا ہے ، یہاں ہم صارف ڈیفائنڈ پاس ورڈ کے ساتھ راسبیری پائی کا استعمال کرتے ہوئے اس ڈیجیٹل لاک کو تعمیر کرنے جارہے ہیں ۔ ایک بار جب پاس ورڈ سیٹ ہوجاتا ہے تو ، صارف صرف صحیح پاس ورڈ والے دروازے تک رسائی حاصل کرسکتا ہے۔
اگر آپ راسبیری پائی سے واقف نہیں ہیں تو ، ہم نے راسبیری پِی سیکھنے کے ل t ایک سبق آموز سلسلہ تیار کیا ہے ، جس کے ساتھ شروع کرنے کے لئے تمام بنیادی اجزاء اور کچھ آسان پروجیکٹس کے ساتھ مداخلت کی جائے ، چیک کریں۔
استعمال شدہ اجزاء:
- راسبیری پائ (بوٹ شدہ ایس ڈی کارڈ کے ساتھ)
- کیپیڈ ماڈیول
- بزر
- 16x2 LCD
- 10 کٹ کا برتن
- 10 ک ریزٹر پیک (پل اپ)
- ایل. ای. ڈی
- 1 ک ریزٹر
- روٹی بورڈ
- سی ڈی / ڈی وی ڈی ٹرالی بطور گیٹ
- پاور 5 وولٹ
- موٹر ڈرائیور L293D
- 12 وولٹ بیٹری
- مربوط تاروں
ملٹی پلیکسنگ کا استعمال کرتے ہوئے 4p4 کیپیڈ کو راسبیری پائی سے جوڑنا:
اس سرکٹ میں ، ہم نے سسٹم میں پاس ورڈ داخل کرنے کے لئے کیپیڈ کو انٹرفیس کرنے کے لئے ملٹی پلیکس ٹیکنیک کا استعمال کیا ہے۔ یہاں ہم 16 چابیاں کے ساتھ 4x4 ملٹی پلیکس کیپیڈ استعمال کر رہے ہیں ۔ عام طور پر اگر ہم 16 چابیاں استعمال کرنا چاہتے ہیں تو پھر ہمیں ارڈینو سے تعلق رکھنے کے لئے 16 پنوں کی ضرورت ہے لیکن ملٹی پلیکس تکنیک میں ہمیں 16 چابیاں انٹرفیس کرنے کے لئے صرف 8 پنوں کی ضرورت ہے۔ تاکہ کیپیڈ ماڈیول کو انٹرفیس کرنے کا یہ زبردست طریقہ ہے۔ ملٹی پلیکسنگ تکنیک اور اس ڈیجیٹل لاک میں 8051 استعمال کرکے اس کے کام کرنے کے بارے میں مزید معلومات حاصل کریں۔
ان پٹ یا پاس ورڈ یا اعداد فراہم کرنے کے لئے مائکروکنٹرولر کے ساتھ استعمال ہونے والی پنوں کی تعداد کو کم کرنے کا ملٹی پلیکس تکنیک ایک بہت ہی موثر طریقہ ہے۔ بنیادی طور پر اس تکنیک کو دو طریقوں سے استعمال کیا جاتا ہے - ایک ہے قطار اسکیننگ اور دوسری ایک کالم اسکیننگ۔ اگر ہم کیپیڈ لائبریری کا استعمال کرتے ہیں (# شامل کریں
لیکن یہاں اس پروجیکٹ میں ، ہم نے کیپیڈ لائبریری کا استعمال کیے بغیر ، اسی کیپیڈ کے لئے کوڈنگ کا ایک مختصر طریقہ نافذ کیا ہے۔ براہ کرم اسے نیچے پروگرامنگ سیکشن میں دیکھیں۔
سرکٹ کی تفصیل:
اس راسبیری پائی ڈیجیٹل ڈور لاک کا سرکٹ بہت آسان ہے جس میں راسبیری پائی 3 ، کیپیڈ ماڈیول ، بوزر ، ڈی وی ڈی / سی ڈی ٹرالی بطور گیٹ اور ایل سی ڈی ہے۔ یہاں راسبیری پائی مکمل عمل کو کنٹرول کرتی ہے جیسے پاس ورڈ فارم کیپیڈ ماڈیول لینا ، پاس ورڈز کا موازنہ کرنا ، بوزر ڈرائیونگ کرنا ، گیٹ کو کھولنا / بند کرنا اور ایل سی ڈی ڈسپلے پر اسٹیٹس بھیجنا۔ کیپیڈ پاس ورڈ داخل کرنے کے لئے استعمال ہوتا ہے۔ Buzzer اشارے کے لئے استعمال کیا جاتا ہے اور ان بلٹ این پی این ٹرانجسٹر کے ذریعہ کارفرما ہے۔ LCD کا استعمال اس پر اسٹیٹس یا پیغامات کی نمائش کے لئے کیا جاتا ہے۔
کیپیڈ ماڈیول کے کالم پنوں کو براہ راست جی پی آئی او پن 22 ، 23 ، 24 ، 25 سے منسلک کیا گیا ہے اور را پنبی رسنگ بی کے آرنگ پی پنوں کے 21 ، 14 ، 13 ، 12 سے رو پن شامل ہیں۔ ایک 16x2 LCD 4 بٹ موڈ میں رسبری پائی کے ساتھ منسلک ہے۔ LCD کے کنٹرول پن RS، RW اور این براہ راست GPIO پن 11 سے جڑے ہوئے ہیں، GND اور 10. ڈیٹا پنوں D4-D7 GPIO پنوں سے منسلک ہیں 6، 15، 4 اور 1. ایک buzzer کے GPIO پن 8. اور اوپر سے منسلک ہے موٹر ڈرائیور L293D راسبیری پائی کے GPIO پن 28 اور 29 پر منسلک ہے۔ ایک 12 وولٹ کی بیٹری زمین کے حوالے سے L293D کے پن 8 پر منسلک ہے۔
ورکنگ وضاحت:
اس منصوبے پر کام کرنا آسان ہے۔ جب صارف راسبیری پائی میں کوڈ چلاتا ہے تو ، LCD کچھ خیرمقدم پیغام ظاہر کرتا ہے اور اس کے بعد "A- ان پٹ پاس ورڈ" اور دوسری لائن B- چینج پاسکی "دکھاتا ہے۔ اب صارف کی پیڈ پر A اور B دباکر اپنی پسند کا انتخاب کرسکتے ہیں۔
اب اگر صارف گیٹ کھولنا چاہتا ہے تو اسے کیپیڈ پر 'A' دبانے کی ضرورت ہے اور پھر سسٹم پاس ورڈ طلب کرے گا۔ ڈیفالٹ پاس ورڈ "1234" ہے۔ اب صارف کو پاس ورڈ ان پٹ ڈالنا ہے اور اس سسٹم کے بعد پاس ورڈ چیک کرے گا ، چاہے وہ درست ہے یا نہیں:
اگر صارف صحیح پاس ورڈ میں داخل ہوتا ہے تو پھر سسٹم گیٹ کھول دے گا۔
اگر صارف غلط پاس ورڈ میں داخل ہوتا ہے تو یہ نظام بزپر کو بیپ پر بھیجنے کے لئے کمانڈ بھیجے گا اور LCD پر "رسائی سے انکار" دکھائے گا۔
اب فرض کریں کہ صارف پاس ورڈ تبدیل کرنا چاہتا ہے تو اسے کی پیڈ پر 'B' دبانے کی ضرورت ہے اور پھر صارف سے "کرنٹ پاس ورڈ" یا "کرنٹ پاسکی" طلب کیا جائے گا۔ اب صارف کو موجودہ پاس ورڈ کو ان پٹ لگانے کی ضرورت ہے ، پھر سسٹم اپنی درستگی کی جانچ کرے اور دیئے ہوئے کاموں میں سے ایک کو انجام دے۔
اگر صارف صحیح پاس ورڈ میں داخل ہوتا ہے تو پھر نظام "نیا پاس ورڈ" طلب کرے گا اور اب صارف نیا پاس ورڈ درج کرکے پاس ورڈ تبدیل کرسکتا ہے۔
2. اور اگر صارف غلط پاس ورڈ میں داخل ہوتا ہے تو پھر سسٹم بوزر چلایا جائے گا اور "غلط پاس ورڈ: LCD پر دکھائے گا۔
اب صارف کو پاس ورڈ تبدیل کرنے کے لئے دوبارہ پوری عمل کو دہرانے کی ضرورت ہے۔
بنیادی طور پر ، گیٹ کو کھولنا اور بند کرنا دروازہ کھولنے اور بند کرنے کے لئے موٹر کلاک وار اور اینٹی کلاک وائس کو گھمانے کے سوا کچھ نہیں ہے۔ کسی چھوٹے پروجیکٹ کے لئے آپ دروازہ کھولنے اور بند کرنے کے لئے ڈی سی موٹر کو آسانی سے شامل کرسکتے ہیں۔ ہم سروو یا اسٹپر موٹر بھی استعمال کرسکتے ہیں ، لیکن ہمیں اس کے مطابق کوڈ کو تبدیل کرنے کی ضرورت ہے۔
مزید برآں آپ سی ڈی ٹرالی کی جگہ مناسب الیکٹرانک دروازہ لاک (آسانی سے آن لائن دستیاب) استعمال کرسکتے ہیں ۔ اس میں الیکٹرو مقناطیس ہوتا ہے جو لاک (اوپن سرکٹ) سے گزرتا ہوا کوئی موجودہ نہ ہونے پر دروازے کو مقفل رکھتا ہے ، اور جب کچھ موجودہ اس میں سے گزرتا ہے تو ، تالا کھلا کھلا ہوجاتا ہے اور دروازہ کھولا جاسکتا ہے۔ اس کے مطابق کوڈ تبدیل کیا جائے گا ، اس مشترکہ منصوبے کا جائزہ بھی دیکھیں: ارڈینوو آریفآئڈی ڈور لاک
پروگرامنگ کی وضاحت:
پروگرامنگ اردووینو سے بہت ملتا جلتا ہے۔ ارڈینو فنکشن کلاسز کا استعمال کرتی ہے لیکن یہاں ہم نے یہ کوڈ ، سی پروگرامنگ کا استعمال کرتے ہوئے ، بغیر کلاس کے کیا ہے۔ ہم نے GPIOs کے لئے ایک وائرنگ پی لائبریری بھی نصب کی ہے ۔
اب سب سے پہلے ہمیں مطلوبہ لائبریریوں کو شامل کرنے کی ضرورت ہے اور پھر ایل سی ڈی ، بوزر ، ایل ای ڈی اور موٹر کیلئے پنوں کی وضاحت کریں۔
# شامل کریں
اس کے بعد کیپیڈ کی قطار اور کالم کیلئے پنوں کی وضاحت کریں اور پاس ورڈ اور کیپیڈ نمبرز کو اسٹور کرنے کے لئے سرنی کی وضاحت کریں۔
چار پاس؛ چار پاس 1 = {'1'، '2'، '3'، '4'}؛ int n = 0؛ چار قطار = {21 ، 14 ، 13 ، 12}؛ چار کال = {22 ، 23 ، 24 ، 25}؛ چار نمبر = {{'1'، '2'، '3'، 'اے'}، {'4'، '5'، '6'، 'بی'}، 7 '7'، '8'، ' 9 '،' C '}، {' * '،' 0 '،' # '،' D '}}؛
اس کے بعد ہم نے LCD چلانے کے لئے کچھ کام لکھے ہیں۔
فنکشن باطل lcdcmd LCD کو کمانڈ بھیجنے کے لئے استعمال ہوتا ہے اور LCD کو ڈیٹا بھیجنے کے لئے باطل تحریری فنکشن استعمال ہوتا ہے۔
فنکشن باطل پرنٹ کا استعمال ایل سی ڈی پر سٹرنگ بھیجنے کے لئے کیا جاتا ہے۔
باطل پرنٹ (چار * str) {جبکہ (* str) {لکھنا (* str)؛ str ++؛ }
فنکشن باطل سیٹ کرسر LCD میں کرسر کی پوزیشن طے کرنے کے لئے استعمال کیا جاتا ہے۔
باطل سیٹ کرسر (int x، int y) set INT set = 0؛ اگر (y == 0) سیٹ = 128 + x؛ اگر (y == 1) سیٹ = 192 + x؛ lcdcmd (سیٹ)؛ }
فنکشن ویوڈ کلئیر () ایل سی ڈی کو صاف کرنے کے لئے استعمال کیا جاتا ہے اور بازر کو بیپ کرنے کیلئے باطل بزر () استعمال ہوتا ہے۔
گیٹ (سی ڈی ٹرالی) کو چلانے کے لئے فنکشن باطل گیٹ_پن () ، باطل گیٹ_سٹاپ () اور باطل گیٹ_کلوز () استعمال ہوتے ہیں۔
باطل گیٹ_پن () {ڈیجیٹل رائٹ (ایم 1 ، LOW)؛ ڈیجیٹل رائٹ (ایم 2 ، ہائی)؛ تاخیر (2000)؛ oid باطل گیٹ_سٹاپ () {ڈیجیٹل رائٹ (ایم 1 ، LOW)؛ ڈیجیٹل رائٹ (m2 ، LOW)؛ تاخیر (2000)؛ oid باطل گیٹ_کلوز () {ڈیجیٹل رائٹ (ایم 1 ، ہائی)؛ ڈیجیٹل رائٹ (m2 ، LOW)؛ تاخیر (2000)؛ }
دی گئی فنکشن کا استعمال LCD کو 4 بٹ موڈ میں شروع کرنے کے لئے کیا جاتا ہے۔
باطل شروع (int x، int y) c lcdcmd (0x02)؛ lcdcmd (0x28)؛ lcdcmd (0x06)؛ lcdcmd (0x0e)؛ lcdcmd (0x01)؛ }
دیئے گئے باطل کیپیڈ () فنکشن ایک 'مختصر طریقہ' کے ساتھ راسبیری پائی کے ساتھ کیپیڈ ماڈیول کو انٹرفیس کرنے کے لئے استعمال کیا جاتا ہے۔
باطل کیپیڈ () i انٹ i ، j؛ int x = 0، k = 0؛ تاخیر (2000)؛ جبکہ (k <4) {for (i = 0؛ i <4؛ i ++) {ڈیجیٹل رائٹ (کرنل ، LOW)؛ (j = 0؛ j <4؛ j ++) {اگر (ڈیجیٹلریڈ (قطار) == 0) {سیٹ کرسر (x ، 1)؛…………………
ذیل میں مکمل کوڈ میں موجود تمام افعال کو چیک کریں ، کوڈ آسان اور خود وضاحتی ہے۔