- استعمال شدہ مواد
- EM18 آریفآئڈی ریڈر ماڈیول
- آرڈوینو کا استعمال کرتے ہوئے آریفآئڈی ٹیگ انوکھا 12 ہندسوں کا کوڈ تلاش کریں
- سرکٹ ڈایاگرام
- فنگر پرنٹ سینسر ماڈیول
- آریفآئڈی کیلی لیس اگنیشن کیلئے پروگرامنگ
آج کل کار میں بیشتر کار کیلیس انٹری اور پش بٹن اگنیشن سسٹم کے ساتھ آتی ہے ، جس میں آپ کو صرف اپنی جیب میں کلید رکھنے کی ضرورت ہوتی ہے اور گاڑی کے دروازے کو کھولنے کے لئے دروازے کے ہینڈل پر کیپسیٹیو سینسر پر اپنی انگلی لگانے کی ضرورت ہوتی ہے۔ یہاں اس پروجیکٹ میں ، ہم آریفآئڈی اور فنگر پرنٹ سینسر کا استعمال کرکے اس سسٹم میں کچھ اور حفاظتی خصوصیات شامل کررہے ہیں۔ آریفآئڈی سینسر صارف کے لائسنس کی توثیق کرے گا اور فنگر پرنٹ سینسر صرف گاڑی میں کسی مجاز شخص کی اجازت دے سکے گا۔
اس فنگر پرنٹ بیسڈ کار اگنیشن سسٹم کے ل we ، ہم آرڈوینو R305 فنگر پرنٹ سینسر اور EM18 آریفآئڈی ریڈر کے ساتھ استعمال کر رہے ہیں ۔
استعمال شدہ مواد
- اردوینو نینو
- R305 فنگر پرنٹ سینسر
- EM18 آریفآئڈی ریڈر
- 16 * 2 الفاانومریٹک LCD
- ڈی سی موٹریں
- L293D موٹر ڈرائیور آئی سی
- ویربوارڈ یا بریڈ بورڈ (جو بھی دستیاب ہے)
- مربوط تاروں
- 12V DC بیٹری
EM18 آریفآئڈی ریڈر ماڈیول
آریفآئڈی کا مطلب ہے ریڈیو فریکوینسی شناخت۔ اس سے مراد ایسی ٹکنالوجی ہے ، جہاں ڈیجیٹل ڈیٹا کو آریفآئڈی ٹیگس میں انکوڈ کیا جاتا ہے اور انہیں آریفآئڈی ریڈر ریڈیو لہروں کا استعمال کرکے کوڈ کوڈ کرسکتا ہے۔ آریفآئڈی بار کوڈنگ کی طرح ہی ہے جس میں کسی آلے کے ذریعہ ٹیگ سے حاصل کردہ ڈیٹا کو ڈی کوڈ کیا جاتا ہے۔ آریفآئڈی ٹیکنالوجی سیکیورٹی سسٹم ، ملازم حاضری کا نظام ، آریفآئڈی ڈور لاک ، آریفآئڈی پر مبنی ووٹنگ مشین ، ٹول وصولی کا نظام ، وغیرہ جیسے مختلف پروگراموں میں استعمال کی جاتی ہے۔
EM18 ریڈر ایک ایسا ماڈیول ہے جو RFID ٹیگز میں محفوظ ID کی معلومات کو پڑھ سکتا ہے۔ جب ٹیگ ریڈر کے ساتھ رینج میں آتا ہے تو ، RFID ٹیگز میں 12 ہندسوں کا انوکھا نمبر اسٹور کیا جاتا ہے جسے EM18 ریڈر ماڈیول کے ذریعہ ضابطہ کشائی کی جاسکتی ہے۔ یہ ماڈیول 125 کلو ہرٹز کی فریکوئینسی پر کام کرتا ہے ، جس میں انبلٹ اینٹینا ہوتا ہے ، اور یہ 5 وولٹ ڈی سی بجلی کی فراہمی کا استعمال کرتے ہوئے چلاتا ہے۔
یہ سیریل ڈیٹا آؤٹ پٹ دیتا ہے ، اور اس کی رینج 8-12 سینٹی میٹر ہے۔ سیریل مواصلات پیرامیٹرز 8 ڈیٹا بٹس ، 1 اسٹاپ بٹ ، اور 9600 بوڈ ریٹ ہیں۔
EM18 خصوصیات:
- آپریٹنگ وولٹیج: + 4.5V سے + 5.5V DC
- موجودہ کھپت: 50mA
- آپریٹنگ فریکوئنسی: 125KHZ
- آپریٹنگ درجہ حرارت: 0-80 ڈگری سینٹی گریڈ
- مواصلات کی شرح شرح: 9600
- پڑھنے کا فاصلہ: 8-12 سینٹی میٹر
- اینٹینا: انبلٹ
EM18 پن آؤٹ:
پن کی تفصیل:
وی سی سی: 4.5- 5V ڈی سی وولٹیج ان پٹ
GND: گراؤنڈ پن
بزر: بزر یا ایل ای ڈی پن
TX: RS232 (آؤٹ پٹ) کے لئے EM18 کا سیریل ڈیٹا ٹرانسمیٹر پن
SEL: RS232 (WEIGAND کا استعمال کرتے ہوئے کم ہے تو) استعمال کرنے کے لئے یہ زیادہ ہونا چاہئے
ڈیٹا 0: WEIGAND ڈیٹا 0
ڈیٹا 1: WEIGAND ڈیٹا 1
آریفآئڈی اور ٹیگس کے بارے میں مزید معلومات کے ل our ، ہمارے گذشتہ آریفآئڈی پر مبنی پروجیکٹس کی جانچ کریں۔
آرڈوینو کا استعمال کرتے ہوئے آریفآئڈی ٹیگ انوکھا 12 ہندسوں کا کوڈ تلاش کریں
ایردوینو کار اگنیشن سسٹم کے لئے ایردوینو کو پروگرام کرنے سے پہلے ، پہلے ہمیں 12 ہندسوں کا آریفآئڈی ٹیگ انوکھا کوڈ تلاش کرنے کی ضرورت ہے۔ جیسا کہ ہم نے پہلے بھی تبادلہ خیال کیا ہے ، آریفآئڈی ٹیگز میں 12 ہندسوں کا انفرادی کوڈ ہوتا ہے اور اسے آریفآئڈی ریڈر کا استعمال کرکے ڈی کوڈ کیا جاسکتا ہے۔ جب ہم ریڈر کے قریب آریفآئڈی ٹیگ کو سوائپ کرتے ہیں تو ، ریڈر آؤٹ پٹ سیریل پورٹ کے ذریعے انوکھے کوڈ دے گا۔ پہلے ، سرکٹ ڈایاگرام کے مطابق آرڈوینو کو آریفآئڈی ریڈر سے مربوط کریں اور پھر ذیل میں دیئے گئے کوڈ کو اردوینو میں اپ لوڈ کریں۔
انٹ گنتی = 0؛ چار کارڈ_نہیں؛ باطل سیٹ اپ () {سیریل.بیگین (9600)؛ } باطل لوپ () {اگر (سیریل۔ دستیاب ()) {گنتی = 0؛ جبکہ (سیریل۔ دستیاب) (اور & گنتی <12) {card_no = Serial.read ()؛ گنتی ++؛ تاخیر (5)؛ ial سیریل.پرنٹ (کارڈ_نہ)؛ }
کوڈ کو کامیابی کے ساتھ اپ لوڈ کرنے کے بعد ، سیریل مانیٹر کھولیں ، اور بوڈ ریٹ کو 9600 پر سیٹ کریں۔ پھر ریڈر کے قریب کارڈ سوائپ کریں۔ اس کے بعد سیریل مانیٹر پر 12 ہندسوں کا کوڈ ڈسپلے کرنا شروع ہوگا۔ یہ استعمال تمام استعمال شدہ آریفآئڈی ٹیگوں کے ل Do کریں اور اسے مستقبل کے حوالہ جات کے ل note نوٹ کریں۔
سرکٹ ڈایاگرام
اس فنگر پرنٹ پر مبنی اگنیشن سسٹم کے لئے سرکٹ ڈایاگرام ذیل میں دیا گیا ہے:
میرے معاملے میں ، میں نے پرف بورڈ پر مکمل سرکٹ ڈال دیا ہے جیسے نیچے دکھایا گیا ہے:
فنگر پرنٹ سینسر ماڈیول
فنگر پرنٹ سینسر ماڈیول یا فنگر پرنٹ اسکینر ایک ایسا ماڈیول ہے جو انگلی کی پرنٹ امیج کو گرفت میں لیتا ہے اور پھر اسے مساوی ٹیمپلیٹ میں تبدیل کرتا ہے اور اردوینو کے ذریعہ منتخب کردہ ID (مقام) پر اپنی میموری میں محفوظ کرتا ہے۔ یہاں پر سارے عمل کا حکم ارڈینو نے دیا ہے جیسے فنگر پرنٹ کی شبیہہ لینا ، اسے ٹیمپلیٹس میں تبدیل کرنا ، اور مقام ذخیرہ کرنا وغیرہ۔
ہم نے پہلے ووٹنگ مشین ، حاضری کا نظام ، سیکیورٹی سسٹم وغیرہ بنانے کے لئے ایک ہی R305 سینسر کا استعمال کیا تھا۔
سینسر پر انگلیوں کے نشانات درج کرنا:
پروگرام میں آگے بڑھنے سے پہلے ، ہمیں فنگر پرنٹ سینسر کے لئے مطلوبہ لائبریریاں انسٹال کرنے کی ضرورت ہے۔ یہاں ہم "استعمال کیا ہے Adafruit_Fingerprint.h R305 فنگر پرنٹ سینسر کا استعمال کرتے ہوئے کے لئے". تو سب سے پہلے نیچے دیئے گئے لنک کا استعمال کرکے لائبریری ڈاؤن لوڈ کریں۔
- اڈفریٹ فنگر پرنٹ سینسر لائبریری
کامیاب ڈاؤن لوڈ کے بعد ، اردوینو آئی ڈی ای میں ، فائل > ٹولز> لائبریری شامل کریں> شامل کریں۔ زپ لائبریری پر جائیں اور پھر لائبریری کو انسٹال کرنے کے لئے زپ فائل کا مقام منتخب کریں۔
کامیاب لائبریری انسٹالیشن کے بعد ، سینسر میموری میں نیا فنگر پرنٹ اندراج کرنے کے لئے ذیل میں دیئے گئے مراحل پر عمل کریں۔
1. ارڈینوو IDE میں ، فائل > مثالوں > اڈفریٹ فنگر پرنٹ سینسر لائبریری > اندراج پر جائیں۔
2. کوڈ کو اردوینو میں اپ لوڈ کریں ، اور سیریل مانیٹر کو 9600 کی باڈ ریٹ پر کھولیں۔
اہم: پروگرام میں سوفٹ ویئر سیریل پن کو سافٹ ویئرشیل مائرشل (12 ، 11) میں تبدیل کریں۔
You . آپ کو فنگر پرنٹ کے لئے ایک ID درج کرنا چاہئے جس میں آپ اپنی فنگر پرنٹ کو اسٹور کرنا چاہتے ہیں۔ چونکہ یہ میرا پہلا فنگر پرنٹ ہے ، لہذا میں نے اوپر بائیں کونے میں 1 ٹائپ کیا ، اور پھر ، ارسال کریں بٹن پر کلک کریں۔
Then . پھر فنگر پرنٹ سینسر پر روشنی پلک جھپکائے گی جو اس بات کی نشاندہی کرتی ہے کہ آپ کو اپنی انگلی سینسر پر رکھنی چاہئے اور اس کے بعد سیریل مانیٹر پر دکھائے جانے والے مراحل کی پیروی کریں یہاں تک کہ یہ آپ کو کامیاب اندراج کے ل. تسلیم کرے۔
آریفآئڈی کیلی لیس اگنیشن کیلئے پروگرامنگ
اس بایومیٹرک اگنیشن سسٹم کے لئے مکمل کوڈ سبق کے آخر میں دیا گیا ہے۔ یہاں ہم کوڈ کے کچھ اہم حص.وں کی وضاحت کر رہے ہیں۔
پہلی چیز یہ ہے کہ تمام مطلوبہ کتب خانوں کو شامل کیا جائے۔ یہاں میرے معاملے میں، میں نے "شامل کیا ہے Adafruit_Fingerprint.h R305 فنگر پرنٹ سینسر کا استعمال کرتے ہوئے کے لئے". پھر سیریل پورٹ تشکیل دیں جس میں فنگر پرنٹ سینسر منسلک ہوگا۔ میرے معاملے میں ، میں نے 12 کو آر ایکس پن اور 11 کو بطور ٹی ایکس پن قرار دیا ہے۔
# شامل کریں # شامل کریں
اگلے مرحلے میں ، تمام متغیرات کا اعلان کریں ، جو پورے کوڈ میں استعمال ہوں گے۔ اس کے بعد ایردوینو کے ساتھ ایل سی ڈی کنکشن پنوں کی وضاحت کریں جس کے بعد مائع کرسٹل کلاس کے کسی شے کا اعلان ہو ۔
چار ان پٹ؛ انٹ گنتی = 0؛ int a = 0؛ کونٹ انٹ رو ایس = 6 ، این = 7 ، ڈی 4 = 2 ، ڈی 5 = 3 ، ڈی 6 = 4 ، ڈی 7 = 5؛ لیکویڈ کرسٹل ایل سی ڈی (آر ایس ، این ، ڈی 4 ، ڈی 5 ، ڈی 6 ، ڈی 7)؛
اس کے بعد ، لوپ () کے اندر ، RFID ٹیگز کے منفرد 12 ہندسوں کے کوڈ حاصل کرنے کے لئے کوڈ لکھا جاتا ہے اور وہ ایک صف میں محفوظ ہوجاتے ہیں۔ یہاں سرنی کے عناصر کا میموری کے ذخیرہ کردہ منفرد کوڈ کے ساتھ ملاپ کیا جائے گا ، تاکہ تصدیق شدہ شخص کی تفصیلات حاصل کی جاسکے۔
گنتی = 0؛ جبکہ (سیریل۔ دستیاب) (اور & گنتی <12) { ان پٹ = سیریل.ریڈ ()؛ گنتی ++؛ تاخیر (5)؛ }
پھر ، موصول ہونے والی صف کا موازنہ اسٹوریج ٹیگ کوڈز سے کیا جاتا ہے۔ اگر کوڈ کا مماثل ہے تو ، پھر لائسنس کو درست سمجھا جاتا ہے ، جو صارف کو درست فنگر پرنٹ لگانے کی اجازت دیتا ہے۔ بصورت دیگر ، یہ ایک غلط لائسنس ظاہر کرے گا۔
اگر ((strncmp (ان پٹ، "3F009590566C"، 12) == 0) && (الف == 0)) { lcd.setCursor (0، 0)؛ lcd.print ("لائسنس درست")؛ lcd.setCursor (0 ، 1)؛ lcd.print ("ویلکم")؛ تاخیر (1000)؛ a = 1؛ فنگر پرنٹ ()؛ }
اگلے مرحلے میں، ایک تقریب getFingerprintID لکھا ہے ایک پہلے سے ہی کے لئے ایک درست فنگر پرنٹ شناختی واپس آ جائیں گے جس فنگر داخلہ لیا.
int getFingerprintID () { uint8_t p = فنگر.بیٹ آئیمج ()؛ اگر (p! = FINGERPRINT_OK) واپسی -1؛ p = finger.image2Tz ()؛ اگر (p! = FINGERPRINT_OK) واپسی -1؛ p = فنگر۔فنگر فاسٹ سرچ ()؛ اگر (p! = FINGERPRINT_OK) واپسی -1؛ واپس انگلی.فنگر آئی ڈی؛ }
فنکشن فنگر پرنٹ () کے اندر ، جسے کامیاب آر ایف آئی ڈی میچ کے بعد کہا جاتا ہے ، getFingerprintID فنکشن کو درست فنگر پرنٹ ID حاصل کرنے کے لئے کہا جاتا ہے۔ پھر اس کا موازنہ شخص کے ڈیٹا سے متعلق معلومات حاصل کرنے کے ل if اگر - لوپ کا استعمال کرتے ہوئے کیا جاتا ہے اور اگر اعداد و شمار کا ملاپ ہوتا ہے تو پھر گاڑی کو بھڑکا دیا جاتا ہے ، بصورت دیگر ، یہ غلط فنگر پرنٹ کا اشارہ کرے گا۔
int فنگرپرنٹ = getFingerprintID ()؛ تاخیر (50)؛ اگر (fingerprintID == 1) { lcd.setCursor (0، 0)؛ lcd.print ("رسائی کی اجازت دی گئی")؛ lcd.setCursor (0 ، 1)؛ lcd.print ("گاڑیوں کا آغاز")؛ ڈیجیٹل رائٹ (9 ، ہائی)؛ ڈیجیٹل رائٹ (10 ، کم)؛ جبکہ (1)؛ }
تو اس طرح یہ آریفآئڈی کار اگنیشن سسٹم کام کرتا ہے جو آپ کی کار میں سیکیورٹی کی دو پرتیں جوڑتا ہے۔
مکمل کوڈ اور مظاہرے کی ویڈیو ذیل میں دی گئی ہے۔