ہم سب الیکٹرانک ووٹنگ مشینوں سے کافی واقف ہیں ، جہاں آپ کا ووٹ الیکٹرانک طور پر رجسٹر ہوجاتا ہے اور آپ کو انتخابات میں ووٹ ڈالنے کے لئے بیلٹ پیپر استعمال کرنے کی ضرورت نہیں ہوتی ہے۔ آج سیکیورٹی ایک بہت بڑی تشویش ہے اور اس بات کو بھی یقینی بنانا ہوگا کہ کوئی دو بار ووٹ نہیں دے سکتا ، لہذا فنگر پرنٹ بیسڈ ووٹنگ متعارف کروا کر اس مسئلے کو حل کیا جاسکتا ہے ، جہاں کسی شخص کو اپنی فنگر پرنٹ کی بنیاد پر اختیار دیا جاسکتا ہے۔ اس سے جعلی ووٹنگ بھی رک جائے گی۔ لہذا آج ہم آرڈینوو کا استعمال کرتے ہوئے فنگر پرنٹ بیسڈ بایومیٹرک ووٹنگ مشین بنا رہے ہیں ۔
ہمارے مختلف الیکٹرانک ووٹنگ مشین پروجیکٹس کو بھی مختلف مائکروکنٹرولر استعمال کرتے ہوئے چیک کریں۔
- راسبیری پائی کا استعمال کرتے ہوئے الیکٹرانک ووٹنگ مشین
- آریفآئڈی پر مبنی ووٹنگ مشین
- اے وی آر مائکروکنٹرولر پر مبنی الیکٹرانک ووٹنگ مشین پروجیکٹ
- ارڈینو کا استعمال کرتے ہوئے الیکٹرانک ووٹنگ مشین
مطلوبہ اجزاء:
- ارڈینو اونو
- فنگر پرنٹ سینسر ماڈیول
- پش بٹن
- ایل ای ڈی -2
- 1K ریزٹر -3
- 2.2K مزاحم
- طاقت
- مربوط تاروں
- بزر
- 16x2 LCD
- روٹی بورڈ
ووٹنگ مشین میں فنگر پرنٹ سینسر ماڈیول:
فنگر پرنٹ سینسر ماڈیول یا فنگر پرنٹ اسکینر ایک ایسا ماڈیول ہے جو انگلی کی پرنٹ امیج کو گرفت میں لاتا ہے اور پھر اسے مساوی ٹیمپلیٹ میں تبدیل کرتا ہے اور اردوینو کے ذریعہ منتخب کردہ ID (مقام) پر اپنی میموری میں محفوظ کرتا ہے۔ یہاں پر سارے عمل کو آرڈینو نے حکم دیا ہے جیسے فنگر پرنٹ کی شبیہہ لینا ، اسے ٹیمپلیٹس میں تبدیل کرنا اور مقام کو ذخیرہ کرنا وغیرہ۔
اس فنگر پرنٹ ووٹنگ مشین سرکٹ میں ، ہم نے فنگر پرنٹ سینسر ماڈیول کا استعمال کرتے ہوئے سسٹم میں اننگلی ان پٹ لے کر حقیقی ووٹر کو مستند کرنے کے لئے استعمال کیا ہے۔ یہاں ہم میچ ، اندراج / واپس ، حذف / ٹھیک ، یوپی اور نیچے کیلئے 5 پش بٹن استعمال کر رہے ہیں۔ انرول اور ڈیل کی کی یہاں ڈبل خصوصیات ہیں۔ انرول کلید کو نظام اور بیک فنکشن میں نئی انگلیوں کے تاثر کو اندراج کرنے کے لئے استعمال کیا جاتا ہے۔ اس کا مطلب ہے جب صارف نئی انگلی میں اندراج کرنا چاہتا ہے تو اسے اندراج کی کلید دبانے کی ضرورت ہے پھر LCD ID یا مقام طلب کرے جہاں صارف انگلی کے پرنٹ آؤٹ پٹ کو اسٹور کرنا چاہتا ہے۔ اب اگر اس وقت صارف مزید کام نہیں کرنا چاہتا ہے تو وہ واپس جانے کے لئے دوبارہ اندراج کی کلید کو دبائیں (اس بار اندراج کلید کو بیک کی کی طرح بطور سلوک کریں)۔ مطلب اندراج کلید میں اندراج اور پیچھے کا کام دونوں شامل ہیں۔ ڈیل / ٹھیک ہے اس میں بھی دوہرا کام ہوتا ہے جیسے جب صارف نئی انگلی میں اندراج کرتا ہے تو پھر اسے فنگر آئی ڈی یا مقام منتخب کرنے کی ضرورت ہے جیسے دوسرا دوسرا کلید کو استعمال کریں اور نیچے اب صارف کو ڈیل / اوکے کی (اس بار یہ کلید ٹھیک کی طرح برتاؤ) دبائیں۔ منتخب ID یا مقام کے ساتھ آگے بڑھیں۔ میچ کلید اس لئے استعمال کی جاتی ہے جب بھی ووٹر ووٹ ڈالنا چاہتا ہے تو اسے فنگر پرنٹ سینسر پر انگلی رکھ کر سب سے پہلے حقیقی ووٹر کے لئے توثیق کرنے کی ضرورت ہوتی ہے ، اگر وہ اس تصدیق نامہ میں پاس ہوا تو وہ ووٹ دے سکتا ہے۔
انگلی کے پرنٹس اور دیگر چیزوں کے اندراج کے بارے میں مزید معلومات کے ل، ، اردوینو کے ساتھ فنگر پرنٹ سینسر کو انٹرفیس کرنے کے بارے میں ہمارا سابقہ ٹیوٹوریل چیک کریں ، اور اس ٹیوٹوریل کے آخر میں ہمارے ڈیمو ویڈیو کو بھی چیک کریں ۔
ورکنگ وضاحت:
انتخابات کے لئے اس بایومیٹرک ووٹنگ سسٹم کا کام کرنا ابتدائیوں کے لئے تھوڑا سا پیچیدہ ہے. سب سے پہلے ، صارف کو پش بٹن / چابیاں کی مدد سے انگلی یا ووٹروں کو اندراج کرنے کی ضرورت ہے (اس کوڈ میں ووٹر کی زیادہ سے زیادہ حد 25 ہے) اس صارف کے لئے ENROLL key دبائیں اور پھر LCD اس جگہ / ID میں داخل ہونے کے لئے کہتا ہے جہاں انگلی اسٹور ہوگی۔ لہذا اب صارف کو UP / DOWN کیز کا استعمال کرکے ID (مقام) داخل کرنے کی ضرورت ہے۔ مقام / ID کو منتخب کرنے کے بعد صارف کو اوکے کی (دب کی کلید) دبائیں۔ اب LCD فنگر پرنٹ ماڈیول پر انگلی رکھنے کا مطالبہ کرے گا۔ اب صارف کو انگلی پرنٹ ماڈیول پر اپنی انگلی لگانے کی ضرورت ہے۔ تب ایل سی ڈی انگلی کے پرنٹ ماڈیول سے انگلی کو دور کرنے کے لئے کہے گا اور دوبارہ انگلی رکھنے کے لئے کہے گا۔ اب صارف کو اپنی انگلی کو دوبارہ فنگر پرنٹ ماڈیول پر ڈالنے کی ضرورت ہے۔ اب فنگر پرنٹ ماڈیول ایک تصویر لیتا ہے اور اسے ٹیمپلیٹس میں تبدیل کرتا ہے اور منتخب ID کے ذریعہ اسے فنگر پرنٹ ماڈیول کی میموری میں اسٹور کرتا ہے۔اب ووٹر کا اندراج ہوگا اور وہ ووٹ دے سکتا ہے۔ اسی طریقہ کار سے تمام ووٹر سسٹم میں اندراج ہوسکتے ہیں۔
اب اگر صارف کسی بھی ذخیرہ شدہ ID کو حذف یا حذف کرنا چاہتا ہے تو اسے / اسے دلی کی کو دبانے کی ضرورت ہے ، ڈیل کلید دبانے کے بعد ، LCD منتخب جگہ کا مطلب پوچھے گی ID کو منتخب کریں جسے حذف کیا جائے۔ اب صارف کو ID منتخب کرنے کی ضرورت ہے اور اوکے کی (اسی ڈیل کلید) کو دبائیں۔ اب LCD آپ کو بتائے گا کہ انگلی کامیابی کے ساتھ حذف ہوگئی ہے۔
ووٹنگ کا عمل:
اب جب صارف ووٹ ڈالنا چاہتا ہے تو اسے میچ کی کلید کو دبانے کی ضرورت ہے اور پھر بزر بیپ ہوگی اور ایل ای ڈی بھی چمک جائے گی اور ایل سی ڈی فنگر پرنٹ ماڈیول کے اوپر جگہ فنگر مانگے گا۔ اب ارڈینو آپ کو انگلی اٹھانے کی تین کوششیں کرے گا۔ فنگر پرنٹ ماڈیول پر انگلی لگانے کے بعد فنگر پرنٹ ماڈیول انگلی کی تصویر کو گرفت میں لاتا ہے کہ اس کی شناختیں سسٹم میں موجود ہیں۔ اگر فنگر آئی ڈی کا پتہ چلا تو LCD مجاز ووٹر کو دکھائے گا۔ اس کا مطلب ہے کہ صارف ووٹ ڈالنے کا مجاز ہے۔ اور پھر یہ نظام ووٹنگ کے ل next اگلے مرحلے میں چلا جاتا ہے۔ اب گرین ایل ای ڈی چمک اٹھے گی اس کا مطلب ہے کہ اب رائے دہندگان ایک منتخب شدہ کلید (اس مظاہرے میں ریڈ روٹی بورڈ سے) دباکر اپنے امیدواروں کو ووٹ دے سکتے ہیں۔ اب اگر وہی ووٹر دوبارہ ووٹ دینا چاہتا ہے تو سسٹم اسے پہلے ہی ووٹ ڈالے گا ۔ . اس کا مطلب ہے کہ ایک ہی ووٹر دوبارہ ووٹ نہیں دے سکتا ہے اور بوزر 5 سیکنڈ کیلئے بیپ ہوگا اگر کوئی غیر رجسٹرڈ صارف ووٹ ڈالنا چاہتا ہے تو فنگر پرنٹ ماڈیول سسٹم میں اس کی شناخت نہیں پائے گا اور ایل سی ڈی ' فنگر پرنٹ نہیں ملا' دکھائے گا ۔
CAN1 ، CAN2 ، CAN3 یہاں امیدوار 1 ، امیدوار 2 اور امیدوار 3 کی نمائندگی کرتا ہے ، جو انتخاب میں حصہ لیتے ہیں۔
سرکٹ کی وضاحت:
اس فنگر پرنٹ بیسڈ ووٹنگ مشین پروجیکٹ کا سرکٹ بہت آسان ہے جس میں پروجیکٹ کے پورے عمل کو کنٹرول کرنے کے لئے ارڈینو موجود ہے ، شناختوں اور ووٹنگ کے مقصد کو اندراج ، حذف کرنے ، انتخاب کے لئے دبائیں بٹن ، الرٹ کے لئے ایل ای ڈی ، اشارے کے لئے ایل ای ڈی اور ہدایت کے لئے 16x2 LCD شامل ہیں۔ ووٹر اور نتیجہ بھی دکھا رہا ہے۔ پیلے رنگ کا ایل ای ڈی اشارہ کرتا ہے کہ فنگر پرنٹ ماڈیول انگلی کی تصویر لینے کے لئے تیار ہے اور گرین ایل ای ڈی سے ظاہر ہوتا ہے کہ نظام رائے دہندگی لینے یا نتائج دیکھنے کے لئے تیار ہے۔
پش بٹن براہ راست پن A0 (ENROLL) ، A1 (DEL) ، A2 (UP) ، A3 (DOWN) اور A4 (میچ) ، D5 (Can1) ، D4 (Can2) ، D3 (Can3) ، D2 (P2) سے منسلک ہے۔ نتیجہ) زمین کے لحاظ سے اردوینو کا۔ یلو ایل ای ڈی آرڈوینو کے ڈیجیٹل پن D7 پر 1k ریسٹر کے ذریعہ زمین سے متعلق ہے اور گرین ایل ای ڈی اسی طریقہ سے آردوینو کے ڈی 6 سے منسلک ہے۔ فنگر پرنٹ ماڈیول کا Rx اور Tx سیریل پن Tx اور Rxino کے Rx پر براہ راست جڑا ہوا ہے۔ 5v سپلائی اردوینو بورڈ سے لی گئی فنگر پرنٹ ماڈیول کو طاقت دینے کے لئے استعمال کی جاتی ہے۔ A بزر بھی A5 پر منسلک ہے۔ ایک 16x2 LCD 4 بٹ موڈ میں تشکیل دیا گیا ہے اور اس کا RS ، EN ، D4 ، D5 ، D6 ، اور D7 Arduino کے ڈیجیٹل پن D13 ، D12 ، D11 ، D10 ، D9 ، اور D8 پر براہ راست جڑا ہوا ہے۔
پروگرام کی وضاحت:
ایک پروگرام میں ، ہم نے ارڈینو بورڈ کے ساتھ فنگر پرنٹ ماڈیول میں مداخلت کرنے کے لئے اڈفریٹ فنگر پرنٹ سینسر لائبریری کا استعمال کیا ہے ۔ آپ ذیل میں مکمل کوڈ چیک کرسکتے ہیں۔ یہاں ہم اردوینو پروگرام کے اہم کاموں کی وضاحت کر رہے ہیں۔
سیٹ اپ فنکشن میں ، ہم نے تعریف شدہ پنوں کو ہدایات دیں اور LCD اور فنگر پرنٹ ماڈیول شروع کیا۔
اس کے بعد ، باطل لوپ () فنکشن میں ، ہم نے چیک کلید کا انتظار کیا ہے اور ان پٹ لینے کے لئے فنگر پرنٹ شروع کرنے کے لئے میچ کی کو دبائیں اور محفوظ کردہ ID کے ساتھ کیپچرڈ امیج آئی ڈی کا موازنہ کریں۔ اگر کوئی میچ ہوتا ہے تو اگلے مرحلے کے ساتھ آگے بڑھیں۔
باطل لوپ () c lcd.setCursor (0،0)؛ lcd.print ("پریس میچ کلید")؛ lcd.setCursor (0،1)؛ lcd.print ("سسٹم شروع کرنے کے لئے")؛ ڈیجیٹل رائٹ (انڈ ووٹ ، کم)؛ ڈیجیٹل رائٹ (indFinger، LOW)؛ اگر (ڈیجیٹل ریڈ (میچ) == 0) {ڈیجیٹل رائٹ (بزر ، ہائی)؛ تاخیر (200)؛ ڈیجیٹل رائٹ (بزر ، کم)؛ ڈیجیٹل رائٹ (indFinger، HIGH)؛ کے لئے (INT i = 0؛ i <3؛ i ++)…………………
دیئے گئے باطل چیک کیز () فنکشن کا اندراج چیک کرنے کے لئے استعمال کیا جاتا ہے یا ڈیل کی کلید دبائی جاتی ہے یا نہیں اور اگر دبائیں تو کیا کریں۔ اگر ENROLL key دبے ہوئے انرول () فنکشن کو کہا جاتا ہے اور ڈیل کلید دبائیں تو ڈیلیٹ () فنکشن کہا جاتا ہے۔
باطل چیک کیز () {اگر (ڈیجیٹل ریڈ (اندراج) == 0) c lcd.clear ()؛ lcd.print ("برائے مہربانی انتظار کریں")؛ تاخیر (1000)؛ جبکہ (ڈیجیٹل ریڈ (اندراج) == 0)؛ اندراج ()؛ } ورنہ اگر (ڈیجیٹل ریڈ (ڈیل) == 0) c lcd.clear ()؛ lcd.print ("برائے مہربانی انتظار کریں")؛ تاخیر (1000)؛ delet ()؛ }
دی گئی تقریب کا استعمال ID کو حذف کرنے کے لئے داخل کرنے اور uint8_t ڈیلیٹ فنگر پرنٹ (uint8_t id) فنکشن پر کال کرنے کے لئے کیا جاتا ہے جو ریکارڈوں سے انگلی کو حذف کردے گی۔
باطل delet () count انٹ گنتی = 0؛ lcd.clear ()؛ lcd.print ("انگلی کو حذف کریں")؛ lcd.setCursor (0،1)؛ lcd.print ("مقام:")؛ جبکہ (1) c lcd.setCursor (9،1)؛ lcd.print (گنتی)؛ اگر (ڈیجیٹل ریڈ (اوپر) == 0) {گنتی ++؛ اگر (گنتی> 25) گنتی = 0؛ تاخیر (500)؛ }……………….
دی گئی تقریب کا استعمال منتخب ID کے ریکارڈ سے فنگر پرنٹ کو حذف کرنے کے لئے کیا جاتا ہے۔
uint8_t حذف کریں فنگر پرنٹ (uint8_t id) {uint8_t p = -1؛ lcd.clear ()؛ lcd.print ("برائے مہربانی انتظار کریں")؛ p = finger.deleteModel (id)؛ اگر (p == FINGERPRINT_OK) ial Serial.println ("مٹا دیا گیا!")؛ lcd.clear ()؛ lcd.print ("Figer Deleted")؛ lcd.setCursor (0،1)؛ lcd.print ("کامیابی سے")؛ تاخیر (1000)؛ } دوسری {سیریل.پرنٹ ("کچھ غلط")؛ lcd.clear ()؛ lcd.print ("کچھ غلط")؛ lcd.setCursor (0،1)؛ lcd.print ("بعد میں دوبارہ کوشش کریں")؛ تاخیر (2000)؛ واپسی پی؛ }
دیئے ہوئے فنکشن کا استعمال فنگر پرنٹ امیج لینے اور انہیں ٹیمپلیٹ میں تبدیل کرنے اور منتخب 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 = فنگر.بیٹ آئیمج ()؛…………………
دیئے گئے فنکشن کو ووٹنگ اور ڈسپلے کے نتائج کے ل is استعمال کیا جاتا ہے۔
باطل ووٹ () c lcd.clear ()؛ lcd.print ("پلیز پلیز")؛ lcd.setCursor (0،1)؛ lcd.print ("آپ کی رائے")؛ ڈیجیٹل رائٹ (انڈٹوٹ ، ہائی)؛ ڈیجیٹل رائٹ (indFinger، LOW)؛ ڈیجیٹل رائٹ (بزر ، ہائی)؛ تاخیر (500)؛ ڈیجیٹل رائٹ (بزر ، کم)؛ تاخیر (1000)؛ جبکہ (1) {اگر (ڈیجیٹلریڈ (sw1) == 0)…………………
ذیل میں مکمل کوڈ اور مظاہرے کی ویڈیو دیکھیں ۔