این پست یک راهنمای مقدماتی در مورد نحوه راه اندازی ماژول اثر انگشت FPM10A با آردوینو است. ما به شما نشان خواهیم داد که چگونه یک شناسه اثر انگشت جدید را ثبت کنید، و چگونه یک اثر انگشت ذخیره شده را مطابقت دهید.
ماژولهای حسگر اثر انگشت، مانند شکل زیر، امکان تشخیص اثر انگشت را در پروژههای شما در دسترستر و آسانتر میکند. این بدان معنی است که جمع آوری اثر انگشت، ثبت، مقایسه و جستجو بسیار آسان تر خواهد شد.

این ماژول ها دارای حافظه FLASH برای ذخیره اثر انگشت و ارتباط سریال TTL جهت تبادل دیتا با هر میکروکنترلر یا سیستم دارای ایت ارتباط عرضه می شوند. از این ماژول می توان بدر سیستم های امنیتی، قفل درب ها، سیستم های حضور و غیاب و بسیاری موارد دیگر استفاده کرد.
در اینجا مشخصات فنی ماژول حسگر اثرانگشت مورد استفاده ما آمده است (شما باید دیتاشیت حسگر خود یا مشخصات ارائه شده توسط تامین کننده خود را بررسی کنید – آنها نباید تفاوت زیادی با این موارد داشته باشند):
- Voltage supply: DC 3.6 to 6.0V
- Current supply: <120mA
- Backlight color: green
- Interface: UART
- Bad rate: 9600
- Safety level: five (from low to high: 1,2,3,4,5)
- False Accept Rate (FAR): <0.001% (security level 3)
- False Reject Rate (FRR): <1.0% (security level 3)
- Able to store 127 different fingerprints
این سنسور دارای شش پایه است که در شکل زیر نشان داده شده است.

ماژول حسگر اثر انگشت مورد استفاده در این پروژه بدلیل وجود سیم های بسیاز نازک و پین های نزدیک به هم، جهت اتثال به برد بورد نیاز به لحیم کاری سیم جامپر های مناسب داشتند. توصیه میکنیم سیم های با رنگ های متفاوت مناسب عملکرد پین ها استفاده نمایید.
- DNC – سفید
- VCC – قرمز
- TX – ابی
- RX – سبز
- GND – مشکی

جدول زیر نحوه اتصال سنسور به آردوینو را نشان می دهد.
Fingerprint Sensor | Arduino |
VCC | 5V (it also works with 3.3V) |
TX | RX (digital pin 2, software serial) |
RX | TX (digital pin 3, software serial) |
GND | GND |
ساده ترین راه برای راه اندازی ماژول اثر انگشت با آردوینو، استفاده از کتابخانه Adafruit برای این سنسور است. قدم های زیر را برای نصب کتابخانه دنبال کنید:
- برای دانلود کتابخانه Adafruit Fingerprint Sensor اینجا را کلیک کنید.
- پوشه دانلود شده را از حالت فشرده خارج کنید، حالا باید پوشه Adafruit-Fingerprint-Sensor-Library-master را داشته باشید.
- نام پوشه خود را از Adafruit-Fingerprint-Sensor-Library-master به پوشه Adafruit_Fingerprint_Sensor_Library تغییر دهید.
- این پوشه را به پوشه کتابخانه های نصب شده Arduino IDE خود منتقل کنید.
- در نهایت، Arduino IDE خود را ریستارت کنید
- در Arduino IDE، به File > Examples > Adafruit Fingerprint Sensor Library > Enroll بروید.
- کد را آپلود کنید و مانیتور سریال را با نرخ باود 9600 باز کنید.
- برای هر اثر انگشت باید شناسه وارد کنید. از آنجایی که این اولین اثر انگشت شماست، 1 را در گوشه بالا سمت چپ تایپ کنید و سپس روی دکمه ارسال کلیک کنید.

4. انگشت خود را روی اسکنر قرار دهید و دستورالعمل های روی نمایشگر سریال را دنبال کنید.

از شما خواسته می شود که انگشتتان را دوباره روی اسکنر قرار دهید. اگر متن “Prints matched!” مطابق شکل زیر را دریافت کردید،یعنی اثر انگشت شما با موفقیت ذخیره شده در غیر اینصورت، این روند را تکرار کنید، تا زمانی که پیام را مشاهده کنید.

با این روش هر تعداد اثر انگشت را که می خواهید ذخیره کنید.
اکنون باید چندین اثر انگشت با شناسه های مختلف ذخیره کنید. برای یافتن مطابقت با اثر انگشت، دستورالعملهای بعدی را دنبال کنید.
1. در Arduino IDE، به File > Examples > Adafruit Fingerprint Sensor Library > Fingerprint بروید و کد را در برد Arduino خود آپلود کنید.
2. مانیتور سریال را با نرخ باود 9600 باز کنید. باید پیام زیر را مشاهده کنید:

3. انگشتی را که باید شناسایی شود روی اسکن قرار دهید.
4. در مانیتور سریال می توانید شناسه مطابق با اثر انگشت و عدد اطمینان را مشاهده میکنید. هرچه اطمینان بیشتر باشد، اثر انگشت بیشتر مشابه با اثر انگشت ذخیره شده است.

در این مثال پروژه، ما دو اثر انگشت از دو شخص مختلف را ذخیره می کنیم. سپس، یک پیام بر اساس تظابق یافت شده، روی یک صفحه نمایش OLED نشان خواهیم داد.
برای انجام این مثال به قطعات زیر نیاز دارید:

- Arduino UNO
- Fingerprint sensor module
- 0.96 inch OLED display
- Breadboard
- Jumper Wires
در این قسمت شماتیک سیم کشی آمده است که برای ساخت مدار این پروژه این اتصالات را ایجاد کنید.

برای راه اندازی نمایشگر OLED به کتابخانههای adafruit_SSD1306.h و adafruit_GFX.h نیاز دارید.در ادامه نحوه نصب این کتابخانه امده است.
1. Arduino IDE خود را باز کنید و به Sketch > Include Library > Manage Libraries بروید. پنجره نصب کتابخانه باید باز شود.
2. “SSD1306” را در کادر جستجو تایپ کنید و کتابخانه SSD1306 را از Adafruit نصب کنید.

3. پس از نصب کتابخانه SSD1306 Adafruit، در کادر جستجو “GFX” را تایپ کنید و کتابخانه را نصب کنید.

4. پس از نصب کتابخانه ها، Arduino IDE خود را مجددا راه اندازی کنید.
قبل از آپلود این کد، باید اثر انگشت های مختلفی را از افراد مختلف داخل ماژول ثبت کنید که در بالاتر توضیح داده شد.
سپس، کد را طوری تغییر دهید که شناسه های اثر انگشت با نام افراد ثبت نام شده مطابقت داشته باشد.
/********* Rui Santos Complete project details at http://randomnerdtutorials.com *********/ #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); #include <Adafruit_Fingerprint.h> #include <SoftwareSerial.h> SoftwareSerial mySerial(2, 3); Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial); int fingerprintID = 0; String IDname; void setup(){ //Fingerprint sensor module setup Serial.begin(9600); // set the data rate for the sensor serial port finger.begin(57600); if (finger.verifyPassword()) { Serial.println("Found fingerprint sensor!"); } else { Serial.println("Did not find fingerprint sensor :("); while (1) { delay(1); } } //OLED display setup Wire.begin(); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //displays main screen displayMainScreen(); } void loop(){ displayMainScreen(); fingerprintID = getFingerprintIDez(); delay(50); if(fingerprintID == 1 || fingerprintID == 3 || fingerprintID == 4 || fingerprintID == 5){ IDname = "Sara"; displayUserGreeting(IDname); } else if(fingerprintID == 2){ IDname = "Rui"; displayUserGreeting(IDname); } } // returns -1 if failed, otherwise returns ID # int getFingerprintIDez() { uint8_t p = finger.getImage(); if (p != FINGERPRINT_OK) return -1; p = finger.image2Tz(); if (p != FINGERPRINT_OK) return -1; p = finger.fingerFastSearch(); if (p != FINGERPRINT_OK) return -1; // found a match! Serial.print("Found ID #"); Serial.print(finger.fingerID); Serial.print(" with confidence of "); Serial.println(finger.confidence); return finger.fingerID; } void displayMainScreen(){ display.clearDisplay(); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(7,5); display.println("Waiting fingerprint"); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(52,20); display.println("..."); display.display(); delay(2000); } void displayUserGreeting(String Name){ display.clearDisplay(); display.setTextColor(WHITE); display.setTextSize(2); display.setCursor(0,0); display.print("Hello"); display.setCursor(0,15); display.print(Name); display.display(); delay(5000); fingerprintID = 0; }
اکنون، زمانی که فردی با اثر انگشت ذخیره شده، انگشت خود را روی سنسور قرار می دهد، پیام تعریف شده را نمایش می دهد.

در این پست نحوه استفاده از ماژول حسگر اثر انگشت را به شما نشان دادیم: اثر انگشت را ثبت کنید و مطابقت دهید.
گاهی اوقات در طول زمان ممکن است اثر انگشت ثبت شده به سرعت قبل عمل نکند . ما متوجه شده ایم که اگر انگشت خود را به آرامی روی اسکنر قرار دهید، سنسور بهتر کار می کند.
اما در نهایت این ماژول یک سنسور مناسب برای کاربردهای مورد نیاز میباشد، و این یک راه مقرون به صرفه برای افزودن تشخیص بیومتریک به پروژه های شما است.
پروژه های دیگر:
سلام این ماژول ۱۰۰۰ اثر انگشت را میتواند زخیرل کند آیا میتوان برای اثرانگشت ۹۹۹ نام انتخاب کرد
با وجو اینکه کتابخانه عددی بین ۱ تا ۱۲۷ میخواهد