- مطلوبہ اجزاء
- پروجیکٹ کی تفصیل:
- فنگر پرنٹ ماڈیول:
- فنگر پرنٹ پر مبنی حاضری کے نظام کا کام کرنا
- فنگر پرنٹ حاضری کے نظام منصوبے کے لئے سرکٹ ڈایاگرام اور تفصیل
- کوڈ کی وضاحت:
حاضری کے نظام عام طور پر دفاتر اور اسکولوں میں موجودگی کی نشاندہی کرنے کے لئے استعمال کیے جاتے ہیں۔ ہائی ٹیک ایپلی کیشنز اور بائیو میٹرک سسٹم کو استعمال کرنے تک حاضری کے اندراجات میں دستی طور پر حاضری سے نشان زد کرنے سے ، یہ نظام نمایاں طور پر بہتر ہوا ہے۔ ہمارے پچھلے پروجیکٹس میں ، ہم نے آریفآئڈی اور اے وی آر مائکروکنٹرولر ، 8051 اور رسبری پائی کا استعمال کرتے ہوئے الیکٹرانک حاضری کے کچھ دوسرے پروجیکٹس کا احاطہ کیا ہے۔ اس پروجیکٹ میں ، ہم نے حاضری کا ڈیٹا اور ریکارڈ لینے اور رکھنے کے لئے فنگر پرنٹ ماڈیول اور اردوینو کا استعمال کیا۔ فنگر پرنٹ سینسر کا استعمال کرکے ، صارفین کے لئے یہ نظام زیادہ محفوظ ہوجائے گا۔ مندرجہ ذیل حصے آردوینو کا استعمال کرتے ہوئے فنگر پرنٹ پر مبنی بائیو میٹرک اٹینڈنس سسٹم بنانے کی تکنیکی تفصیلات کی وضاحت کرتے ہیں ۔
مطلوبہ اجزاء
- اردوینو -1
- فنگر پرنٹ ماڈیول -1
- پش بٹن - 4
- ایل ای ڈی -1
- 1K ریزٹر -2
- 2.2K ریزٹر -1
- طاقت
- مربوط تاروں
- ڈبہ
- بزر ۔1
- 16x2 LCD -1
- روٹی بورڈ ۔1
- آر ٹی سی ماڈیول -1
پروجیکٹ کی تفصیل:
اس فنگر پرنٹ حاضری کے نظام سرکٹ میں ، ہم نے فنگر پرنٹ سینسر ماڈیول کا استعمال کیاسسٹم میں ان کی انگلی ان پٹ لے کر کسی سچے فرد یا ملازم کی تصدیق کرنا۔ یہاں ہم اندراج ، حذف کریں ، اوپر / نیچے اندراج کے ل 4 4 پش بٹن استعمال کر رہے ہیں۔ ENROLL اور DEL کلید میں ٹرپل خصوصیات ہیں۔ ENROLL key کو کسی نئے شخص کے سسٹم میں اندراج کے ل is استعمال کیا جاتا ہے۔ لہذا جب صارف نئی انگلی کا اندراج کرنا چاہتا ہے تو پھر اسے ENROLL key دبانے کی ضرورت ہے تب LCD ID کے لئے پوچھتا ہے ، جہاں صارف فنگر پرنٹ امیج کو اسٹور کرنا چاہتا ہے۔ اب اگر اس وقت صارف مزید کام نہیں کرنا چاہتا ہے تو وہ واپس جانے کے لئے ENROLL کی کو دوبارہ دبائیں۔ اس بار ENROLL key back key کی طرح برتاؤ کرتی ہے ، یعنی ENROLL key میں اندراج اور پیچھے کا کام دونوں شامل ہیں۔ اس کے علاوہ انرول کلید بھی سیریل مانیٹر پر حاضری کا ڈیٹا ڈاؤن لوڈ کرنے کے لئے استعمال کی جاتی ہے۔ اسی طرح ، ڈیل / اوکے کی میں بھی وہی ڈبل فنکشن ہوتا ہے جیسے صارف نئی انگلی میں اندراج کرتا ہے ،پھر اسے اور دو کلید کا استعمال کرتے ہوئے فنگر آئی ڈی کو منتخب کرنے کی ضرورت ہے یعنی اوپر اور نیچے۔ اب صارف کو منتخب ID کے ساتھ آگے بڑھنے کے لئے دیل / اوکے کی (اس بار یہ کلید ٹھیک کی طرح برتاؤ) دبائیں۔ اور ڈیل کلید اردوینو کے EEPROM سے ڈیٹا کو دوبارہ ترتیب دینے یا حذف کرنے کیلئے استعمال ہوتا ہے۔
فنگر پرنٹ ماڈیول:
فنگر پرنٹ سینسر ماڈیول انگلی کی پرنٹ امیج کو گرفت میں لاتا ہے اور پھر اسے مساوی ٹیمپلیٹ میں تبدیل کرتا ہے اور اردوینو کے ذریعہ منتخب کردہ ID کے مطابق اس کی یاد میں محفوظ کرتا ہے۔ تمام پروسیس کا حکم آرڈینو نے دیا ہے جیسے انگلی کی پرنٹ کی تصویر لینا ، اسے ٹیمپلیٹس میں تبدیل کرنا اور شناختی وغیرہ بنانا۔ آپ فنگر پرنٹ ماڈیول کا استعمال کرتے ہوئے کچھ اور پروجیکٹس چیک کرسکتے ہیں۔
فنگر پرنٹ پر مبنی سیکیورٹی سسٹم
فنگر پرنٹ پر مبنی بائیو میٹرک ووٹنگ مشین
یہاں ہم نے یلو ایل ای ڈی کا اضافہ کیا ہے جو اشارہ کرتا ہے کہ فنگر پرنٹ ماڈیول انگلی کی تصویر لینے کے لئے تیار ہے۔ مختلف اشارے کے لئے بھی ایک بزر استعمال ہوتا ہے۔ ارڈینو اس سسٹم کا بنیادی جزو ہے یہ پورے نظام پر قابو پانے کے لئے ذمہ دار ہے۔
فنگر پرنٹ پر مبنی حاضری کے نظام کا کام کرنا
اس فنگر پرنٹ حاضری کے نظام کے منصوبے پر کام کرناکافی آسان ہے۔ سب سے پہلے تو صارف کو پش بٹنوں کی مدد سے صارف کے فنگر پرنٹ اندراج کرنے کی ضرورت ہے۔ ایسا کرنے کے ل user ، صارف کو ENROLL key دبائیں اور پھر LCD کو فنگر پرنٹ کے لئے ID داخل کرنے کے لئے کہا جائے تاکہ اسے ID کے نام سے میموری میں محفوظ کریں۔ لہذا اب صارف کو UP / DOWN کیز کا استعمال کرکے ID داخل کرنے کی ضرورت ہے۔ ID منتخب کرنے کے بعد ، صارف کو اوکے کی (دب کی کلید) دبانے کی ضرورت ہے۔ اب ایل سی ڈی فنگر پرنٹ ماڈیول پر انگلی لگانے کو کہے گا۔ اب صارف کو اپنی انگلی کو فنگر پرنٹ ماڈیول پر رکھنے کی ضرورت ہے اور پھر ماڈیول انگلی کی تصویر لے جاتا ہے۔ اب LCD فنگر پرنٹ ماڈیول سے انگلی کو ہٹانے کے ل say کہے گا ، اور دوبارہ انگلی لگانے کو کہے گا۔ اب صارف کو اپنی انگلی دوبارہ ڈالنے کی ضرورت ہے اور ماڈیول ایک تصویر لے کر اسے ٹیمپلیٹس میں تبدیل کرتا ہے اور منتخب ID کے ذریعہ اسے فنگر پرنٹ ماڈیول کی میموری میں اسٹور کرتا ہے۔اب صارف رجسٹرڈ ہوگا اور وہ فنگر پرنٹ ماڈیول پر انگلی لگا کر حاضری کھلا سکتا ہے۔ اسی طریقہ کار کے ذریعہ ، سارے صارف سسٹم میں رجسٹر ہوں گے۔
اب اگر صارف ذخیرہ شدہ ID یا فنگر پرنٹ میں سے کسی کو حذف یا حذف کرنا چاہتا ہے تو اس کے لئے اسے دہلی والے کو دبانے کی ضرورت ہے۔ ایک بار حذف کی کو دبانے پر LCD ID کو منتخب کرنے کے لئے کہے گا جسے حذف کرنے کی ضرورت ہے۔ اب صارف کو ID منتخب کرنے کی ضرورت ہے اور اوکے کی (اسی ڈیل کلید) کو دبائیں۔ اب LCD آپ کو بتائے گا کہ فنگر پرنٹ کامیابی کے ساتھ حذف ہوچکا ہے۔
اس فنگر پرنٹ اٹینڈنس سسٹم پروجیکٹ میں حاضری کیسے کام کرتی ہے:
جب بھی صارف اپنی انگلی کو فنگر پرنٹ ماڈیول پر رکھتا ہے تو فنگر پرنٹ ماڈیول فنگر کی تصویر لے جاتا ہے ، اور تلاش کریں کہ آیا اس نظام میں اس فنگر پرنٹ کے ساتھ کوئی ID منسلک ہے۔ اگر فنگر پرنٹ ID کا پتہ چل جاتا ہے تو LCD حاضری کو رجسٹرڈ دکھائے گا اور اسی وقت میں بوزر ایک بار بپ ہوجائے گا اور جب تک سسٹم دوبارہ ان پٹ لینے کیلئے تیار نہیں ہوتا ایل ای ڈی بند ہوجائے گا۔
فنگر پرنٹ ماڈیول کے ساتھ ساتھ ، ہم نے وقت اور تاریخ کیلئے RTC ماڈیول بھی استعمال کیا ہے ۔ نظام میں وقت اور تاریخ مستقل طور پر چل رہے ہیں۔ لہذا جب بھی کوئی درست صارف اپنی انگلی کو فنگر پرنٹ پر رکھتا ہے اور میموری کے الاٹ کردہ سلاٹ پر EEPROM میں محفوظ کرتا ہے ، تو ارڈینو وقت اور تاریخ لگتے ہیں۔
یہاں ہم نے 30 دن کے لئے اس نظام میں 5 صارف کی جگہ بنائی ہے۔ ارڈینو میں RESET بٹن دبانے اور پھر فوری طور پر اندراج کی کلید Ardino EEPROM میموری سے سیریل مانیٹر پر حاضری کا ڈیٹا ڈاؤن لوڈ کرنے کا ذمہ دار ہوگا۔
میموری مینجمنٹ:
ہمارے پاس ارڈینو یو این او میں 1023 بائٹ میموری ہے جس میں سے ہمارے پاس ڈیٹا کو ذخیرہ کرنے کے لئے 1018 بائٹ موجود ہیں اور ہم نے 30 دن کے لئے صارف کی حاضری کا 5 ڈیٹا لیا ہے۔ اور ہر حاضری وقت اور تاریخ کو ریکارڈ کرے گی لہذا یہ 7 بائٹ ڈیٹا بن جاتا ہے۔
لہذا کل میموری کی ضرورت ہے
5 * 30 * 7 = 1050 تو یہاں ہمیں مزید 32 بائٹس کی ضرورت ہے
لیکن اگر ہم 4 استعمال کریں گے تب ہمیں ضرورت ہے
4 * 30 * 7 = 840
یہاں ہم نے 5 صارفین کی یادداشت لے کر اس پروجیکٹ کا مظاہرہ کیا ہے۔ اس کے ذریعہ ، ہم 5 ویں صارف کے 32 بائٹ یا 5 حاضری ریکارڈ محفوظ نہیں کرسکیں گے ۔
آپ 4 صارفین کے ذریعہ کوڈ میں کچھ لکیریں تبدیل کرکے آزما سکتے ہیں۔ میں نے کوڈ میں تبصرے کیے ہیں جہاں تبدیلیوں کی ضرورت ہے۔
فنگر پرنٹ حاضری کے نظام منصوبے کے لئے سرکٹ ڈایاگرام اور تفصیل
اس فنگر پرنٹ پر مبنی حاضری سسٹم پروجیکٹ کا سرکٹ ، جیسا کہ مذکورہ خاکہ میں دکھایا گیا ہے بالکل آسان ہے۔ اس میں پروجیکٹ کے تمام عمل کو کنٹرول کرنے ، اندراج کرنے ، حذف کرنے ، شناختوں کا انتخاب کرنے اور حاضری کے ل push دباؤ بٹن ، انتباہ کے لئے ایک بزر ، اشارے کے لئے ایل ای ڈی اور ایل سی ڈی صارف کو ہدایت دینے اور اس کے نتیجے میں ہونے والے پیغامات کو ظاہر کرنے کے لئے ارڈینو موجود ہے۔
جیسا کہ سرکٹ ڈایاگرام میں دکھایا گیا ہے ، ایک دھکا بٹن زمین سے متعلق Ardino کے پن A0 (ENROLL) ، A1 (DEL) ، A2 (UP) ، A3 (DOWN) سے براہ راست جڑا ہوا ہے اور پیلا ایل ای ڈی ڈیجیٹل پن D7 پر منسلک ہے ایک 1k ریزسٹر کے ذریعہ زمین کے لحاظ سے اردوینو کی۔ فنگر پرنٹ ماڈیول کے Rx اور Tx براہ راست Ardino کے سیریل پن D2 اور D3 (سافٹ ویئر سیریل) پر مربوط ہیں۔ 5v سپلائی اردوینو بورڈ سے لی گئی فنگر پرنٹ ماڈیول کو طاقت دینے کے لئے استعمال کی جاتی ہے۔ پن A5 پر بھی ایک بزر منسلک ہوتا ہے۔ ایک 16x2 LCD 4 بٹ موڈ میں تشکیل دیا گیا ہے اور اس کا RS ، EN ، D4 ، D5 ، D6 ، اور D7 Arduino کے ڈیجیٹل پن D13 ، D12 ، D11 ، D10 ، D9 ، اور D8 پر براہ راست جڑا ہوا ہے۔
کوڈ کی وضاحت:
Arduino کے لئے فنگر پرنٹ حاضری کے نظام کے کوڈ کے نتیجے حصوں میں دیا جاتا ہے. اگرچہ کوڈ کو تبصروں کے ساتھ اچھی طرح سمجھایا گیا ہے ، ہم یہاں کوڈ کے کچھ اہم حصوں پر تبادلہ خیال کر رہے ہیں۔ ہم نے ارڈینو بورڈ کے ذریعہ فنگر پرنٹ ماڈیول میں مداخلت کے لئے فنگر پرنٹ لائبریری کا استعمال کیا ۔
سب سے پہلے ، ہم ہیڈر فائل کو شامل کرتے ہیں اور ان پٹ اور آؤٹ پٹ پن کی وضاحت کرتے ہیں اور میکرو اور اعلان کردہ متغیر کی وضاحت کرتے ہیں۔ اس کے بعد ، سیٹ اپ فنکشن میں ، ہم تعریف شدہ پن کو سمت دیتے ہیں اور LCD اور فنگر پرنٹ ماڈیول شروع کرتے ہیں
اس کے بعد ، ہمیں حاضری کے ڈیٹا کو ڈاؤن لوڈ کرنے کے لئے کوڈ لکھنا ہوگا۔
باطل سیٹ اپ () {تاخیر (1000)؛ lcd.begin (16،2)؛ سیریل.بیگین (9600)؛ پن موڈ (اندراج ، INPUT_PULLUP)؛ پن موڈ (اپ ، INPUT_PULLUP)؛ پن موڈ (نیچے ، INPUT_PULLUP)؛ پن موڈ (ڈیل ، INPUT_PULLUP)؛ پن موڈ (میچ ، INPUT_PULLUP)؛ پن موڈ (بوزر ، آؤٹپٹ)؛ پن موڈ (انڈفنگر ، آؤٹپٹ)؛ ڈیجیٹل رائٹ (بزر ، کم)؛ اگر (ڈیجیٹل ریڈ (اندراج) == 0) {ڈیجیٹل رائٹ (بزر ، ایچ ای ٹی)؛ تاخیر (500)؛ ڈیجیٹل رائٹ (بزر ، کم)؛ lcd.clear ()؛ lcd.print ("برائے مہربانی انتظار کریں")؛ lcd.setCursor (0،1)؛ lcd.print ("ڈاؤن لوڈنگ ڈیٹا")؛
اس کے بعد ، ہمیں EEPROM سے حاضری کے ڈیٹا کو صاف کرنے کے لئے کوڈ لکھنا ہوگا۔
اگر (ڈیجیٹل ریڈ (ڈیل) == 0) c lcd.clear ()؛ lcd.print ("برائے مہربانی انتظار کریں")؛ lcd.setCursor (0،1)؛ lcd.print ("دوبارہ بھیج رہا ہے…..")؛ (INT i = 1000؛ i <1005؛ i ++) EEPROM.writ (i، 0)؛ (INT i = 0؛ i <841؛ i ++) EEPROM.writ (i، 0xff)؛ lcd.clear ()؛ lcd.print ("سسٹم ری سیٹ")؛ تاخیر (1000)؛ }
اس کے بعد ، ہم LCD پر استقبالیہ پیغام دکھایا ہوا ، اور RTC ماڈیول کو بھی ایجاد کرتے ہوئے فنگر پرنٹ ماڈیول کا آغاز کرتے ہیں۔
اس کے بعد ، لوپ فنکشن میں ، ہم نے آر ٹی سی ٹائم پڑھا ہے اور اسے LCD پر ڈسپلے کیا ہے
باطل لوپ () {now = rtc. હવે ()؛ lcd.setCursor (0،0)؛ lcd.print ("وقت->")؛ lcd.print (now.hour ()، DEC)؛ lcd.print (':')؛ lcd.print (now.minute ()، DEC)؛ lcd.print (':')؛ lcd.print (now.second ()، DEC)؛ lcd.print ("")؛ lcd.setCursor (0،1)؛ lcd.print ("تاریخ->")؛ lcd.print (now.day ()، DEC)؛ lcd.print ('/')؛ lcd.print (now.month ()، DEC)؛ lcd.print ('/')؛ lcd.print (now.year ()، DEC)؛
اس کے بعد ، انگلی کے پرنٹ کا ان پٹ لینے اور ذخیرہ شدہ IDs کے ساتھ کیپچر کردہ امیج ID کا موازنہ کرنے کا انتظار کریں۔ اگر امیچ ہوتا ہے تو اگلے مرحلے کے ساتھ آگے بڑھیں۔ اور اس کے ساتھ ہی انرول ڈیل کیز بھی چیک کر رہے ہیں
int نتیجہ = getFingerprintIDez ()؛ اگر (نتیجہ> 0) {ڈیجیٹل رائٹ (indFinger ، LOW)؛ ڈیجیٹل رائٹ (بزر ، ہائی)؛ تاخیر (100)؛ ڈیجیٹل رائٹ (بزر ، کم)؛ lcd.clear ()؛ lcd.print ("ID:")؛ lcd.print (نتیجہ)؛ lcd.setCursor (0،1)؛ lcd.print ("برائے مہربانی انتظار کریں….")؛ تاخیر (1000)؛ حاضری (نتیجہ)؛ lcd.clear ()؛ lcd.print ("حاضری")؛ lcd.setCursor (0،1)؛ lcd.print ("رجسٹرڈ")؛ تاخیر (1000)؛ ڈیجیٹل رائٹ (indFinger، HIGH)؛ واپسی }
دیئے گئے باطل چیک کیز () فنکشن کا اندراج چیک کرنے کے لئے استعمال کیا جاتا ہے یا ڈیل کی کلید دبائی جاتی ہے یا نہیں اور اگر دبائیں تو کیا کریں۔ اگر ENROLL key دبے ہوئے انرول () فنکشن کو کہا جاتا ہے اور ڈیل کلید دبائیں تو ڈیلیٹ () فنکشن کہا جاتا ہے۔
باطل ڈیلیٹ () فنکشن ID کو حذف کرنے کے لئے داخل کرنے اور uint8_t ڈیلیٹ فنگر پرنٹ (uint8_t id) فنکشن پر کال کرنے کے لئے استعمال ہوتا ہے جو ریکارڈ سے انگلی کو حذف کردے گا۔
دیئے ہوئے فنکشن کو فنگر پرنٹ امیج لینے اور ان کو ٹیمپلیٹ میں تبدیل کرنے اور فنگر پرنٹ ماڈیول میموری میں منتخب ID کے ذریعہ محفوظ کرنے کا عادی ہے۔
uint8_t getFingerprintEnrol () p انٹ پی = = -1؛ lcd.clear ()؛ lcd.print ("فنگر ID:")؛ lcd.print (id)؛ lcd.setCursor (0،1)؛ lcd.print ("پلیس فنگر")؛ تاخیر (2000)؛ جبکہ (p! = FINGERPRINT_OK) {p = فنگر.بیٹ آئیمج ()؛…………………
دی گئی تقریب EEPROM کے الاٹ کردہ سلاٹ میں حاضری کا وقت اور تاریخ اسٹور کرنے کے لئے استعمال ہوتی ہے
باطل حاضری (INT id) user INT صارف = 0 ، ایپلوک = 0؛ اگر (id == 1) ep ePLoc = 0؛ صارف = صارف 1 ++؛ } ورنہ اگر (id == 2) ep ePLoc = 210؛ صارف = صارف 2 ++؛ } ورنہ اگر (id == 3)………….
دی گئی فنکشن EEPROM سے ڈیٹا لانے اور سیریل مانیٹر کو بھیجنے کے لئے استعمال ہوتی ہے
باطل ڈاؤن لوڈ (INEPEndex) {if (EEPROM.read (ePIndex)! = 0xff) {Serial.print ("T->")؛ اگر (EEPROM.read (eEPIndex) <10) سیریل.پرنٹ ('0')؛ سیریل.پرنٹ (EEPROM.read (ePIndex ++))؛ سیریل.پرنٹ (':')؛ اگر (EEPROM.read (eEPIndex) <10) سیریل.پرنٹ ('0')؛ سیریل.پرنٹ (EEPROM.read (ePIndex ++))؛………….