Optical Fingerprint Reader Sensor Module

Description:

Secure your project with biometrics - this all-in-one optical fingerprint sensor will make adding fingerprint detection and verification super simple. These modules are typically used in safes - there's a high powered DSP chip that does the image rendering, calculation, feature-finding and searching. Connect to any microcontroller or system with TTL serial, and send packets of data to take photos, detect prints, hash and search. You can also enroll new fingers directly - up to 1000 finger prints can be stored in the onboard FLASH memory. There's a green LED in the lens that lights up during a photo so you know its working.
 
We like this particular sensor because not only is it easy to use, it also comes with fairly straight-forward Windows software that makes testing the module simple - you can even enroll using the software and see an image of the fingerprint on your computer screen. But, of course, we wouldn't leave you a datasheet and a "good luck!" - we wrote a full Arduino library so that you can get running in under 10 minutes. The library can enroll and search so its perfect for any project. We've also written a detailed tutorial on wiring and use. This is by far the best fingerprint sensor you can get.
 
Usage is very simple : as long as there are serial microcontroller , embedded modules can operate this , MSP430, 51, AVR, PIC, ARM, FPGA,Raspberry Pi, Arduino controller so you can operate this module . This module is controlled through the serial port , you can use the computer's serial port to control this module.
Products from optical fingerprint sensor , high-speed DSP processors , high-performance fingerprint matching algorithms, such as large -capacity FLASH chip hardware and software composition. The fingerprint module is stable, functional, both fingerprint , a variety of functions fingerprint registration , fingerprint matching , fingerprint search.
 
Application: widely used fingerprint modules , fingerprint identification systems suitable for all from high-end to low-end . For example:
Security fingerprint door locks , safes, gun cases, and finance ;
Access control systems , industrial machines , POS machines, driver training , attendance and other identity areas ;
Private club management , management software , licensing, and so on.

Overview

Secure your project with biometrics - this all-in-one optical fingerprint sensor will make adding fingerprint detection and verification super simple. These modules are typically used in safes - there's a high powered DSP chip that does the image rendering, calculation, feature-finding and searching. Connect to any microcontroller or system with TTL serial, and send packets of data to take photos, detect prints, hash and search. You can also enroll new fingers directly - up to 1000 finger prints can be stored in the onboard FLASH memory. There's a green LED in the lens that lights up during a photo so you know its working.

We like this particular sensor because not only is it easy to use, it also comes with fairly straight-forward Windows software that makes testing the module simple - you can even enroll using the software and see an image of the fingerprint on your computer screen. But, of course, we wouldn't leave you a datasheet and a "good luck!" - we wrote a full Arduino library so that you can get running in under 10 minutes. The library can enroll and search so its perfect for any project. We've also written a detailed tutorial on wiring and use. This is by far the best fingerprint sensor you can get.

Enrolling vs. Searching

There are basically two requirements for using the optical fingerprint sensor. First is you'll need toenroll fingerprints - that means assigning ID #'s to each print so you can query them later. Once you've enrolled all your prints, you can easily 'search' the sensor, asking it to identify which ID (if any) is currently being photographed.
You can enroll using the windows software (easiest and neat because it shows you the photograph of the print) or with the Arduino sketch (good for when you don't have a windows machine handy or for on-the-road enrolling).

شرح :

في بعض المشاريع نحتاج لعمل نظام حماية او عمل نظام دخول لمكان او لقاعدة بيانات معينة , من أكثر الحساسات شيوعاً في الأستخدام هو حساس بصمة الأصبع , بحيث يعتمد التأكد من شخص ما على بصمة اصبعه .

سنقوم اليوم باستعراض هذا الحساس و كيفية توصيله مع الأردوينو .

في البداية سنتعرف على الحساس الذي سنستخدمه و هوSEN04172P




 Module Type : SEN04172P
Supply voltage: 3.6~6.0 V
Operating current(Max) : 120 mA
Storage capacity: 162 templates
Baud rate :9600, 19200, 28800, 38400, 57600bps (default is 57600)
Interface:TTL Serial
Work Temperature:-20 ~ +50 ℃

هذا الحساس يعتمد على البروتوكول UART Serial .



يأتي هذا الحساس عادة مع سلك خاص لتوصيله به ذو الألوان :

الأحمر : تغذية 5V
الأسود : الأضي Gnd
الأبيض: سلك Rx للحساس TTL
الأخضر"احياناً اصفر": سلك Tx للحساس TTL

القطع المستخدمة في هذه التجربة :


1) بطاقة أردوينو "أونو " 
2)حساس البصمة  
3)اسلاك توصيل Jumper

سنقوم في البداية بتخزين البصمات التي نريد التعرف عليها مسبقا , و هذا يتم عن طريق الخطوات التالية :


1) نحمل برنامج فارغ Blank على الأردوينو "يحتوي على setip, loop فقط " 
//Blank code 
//http://www.genotronex.com
//Code for finger print sensor
void setup() {}
void loop() {}

2) نوصل الحساس مباشرة إلى ال (Hardware serial (D0,D1  نقوم بتشغيل برنامج SF Demo و يمكن تحميله من هنا 






3) نقوم بأختيار رقم المنفذ الصحيح " كتنويه أذا لم يفتح معك البرنامج و يرتبط مع السنسور بشكل صحيح فأجعل رقم المنفذ الخاص بالأردوينو بين 2-10 عن طريق اعدادات المنافذ " كما في الصورة .


بعد الربط بشكل صحيح مع الحساس ستعطي المعلومات و البيانات المتعلقة بالحساس , و حتى البصمات المخزنة مسبقاص "أن وجدت" ستظهر على الشاشة .

الآن سنضيف بصمة جديدة ليتعرف الحساس لاحقاً عليها .

نذهب للخيار Enroll و نضغط عليه لتظهر لدينا شاشة , هذه الشاشة تطلب منا تحديد مكان تخزين البصمة الحالية "من 0 - 162 بصمة "




"بعد تحديد مكان تخزين البصمة , نضغط OK ثم نضع الاصبع على الحساس , سيظهر لون أحمر على الحساس , أبقي يدك موضوعه عليه و ستظهر رسالة على الشاشة ترشدك للخطوات .






هذه هي الطريقة لتخزين بصمة جديدة "يمكنك تخزين 162 بصمة مختلفة ".



طريقة سريعة للتأكد من أن تخزينك للبصمة صحيحة و مكان تخزين البصمة نختار الأمر ( بحث search ) ثم نضع الأصبع على الحساس و أن كانت البصمة مخزنة مسبقاً سيعطي الحساس انها موجودة و المكان المخزنة فيه هذه البصمة .



هكذا نكون قد تعرفنا على طريقة تخزين بصمة جديدة لهذا الحساس .



الخطوة الثانية : ربطه مع الأردوينو مباشرة .


الخطوة التالية تتلخص في عمل مقارنة للبصمات التي سيتم ادخالها لهذا الحساس و توظيفها لعمل وظائف مختلفة "تشغيل محرك , السماح بدخول قاعدة بيانات , السماح بتلقي اوامر من هذا المستخدم ...ألخ "





التوصيل سيتغير  كما في المخطط .




و هذا هو البرنامج المستخدم لهذا الحساس .





يقوم هذا البرنامج بمقارنة البصمات المخزنة فيه بالبصمات التي يتم وضعها على الحساس و ادخالها , و طباعة اسم صاحب البصمة  





Note:

The easiest way to enroll a new fingerprint is to use the Windows software. The interface/test software is unfortunately windows-only but you only need to use it once to enroll, to get the fingerprint you want stored in the module.
First up, you'll want to connect the sensor to the computer via a USB-serial converter. The easiest way to do this is to connect it directly to the USB/Serial converter in the Arduino. To do this, you'll need to upload a 'blank sketch' this one works well for "traditional" Arduinos, like the Uno and the Mega:


Wire up the sensor as described in the sketch comments after uploading the sketch. Since the sensor wires are so thin and short, we stripped the wire a bit and melted some solder on so it made better contact but you may want to solder the wires to header or similar if you're not getting good contact. When you plug in the power, you should see the green LED blink to indicate the sensor is working.
-1

Start up the SynoDemo software and click Open Device from the bottom left corner. Select theCOM port used by the Arduino.

-2
 

And press OK when done. You should see the following, with a blue success message and some device statistics in the bottom corner. You can change the baud rate in the bottom left hand corner, as well as the "security level" (how sensitive it is) but we suggest leaving those alone until you have everything running and you want to experiment. They should default to 57600 baud and security level 3 so set them if they're wrong 

-3

Lets enroll a new finger! Click the Preview checkbox and press the Enroll button next to it (Con Enroll means 'Continuous' enroll, which you may want to do if you have many fingers to enroll). When the box comes up, enter in the ID # you want to use. You can use up to 999 ID numbers.

-4

The software will ask you to press the finger to the sensor

-5

You can then see a preview (if you cliecked the preview checkbox) of the fingerprint.

-13

You will then have to repeat the process, to get a second clean print. Use the same finger!

On success you will get a notice.

-6

Searching with the Software

Once you have the finger enrolled, it's a good idea to do a quick test to make sure it can be found in the database. Click on the Search button on the right hand side.

When prompted, press a different/same finger to the sensor.

If it is the same finger, you should get a match with the ID #

-7

If it is not a finger in the database, you will get a failure notice.

-8

Wiring for use with Arduino

Once you've tested the sensor, you can now use it within a sketch to verify a fingerprint. We'll need to rewire the sensor. Disconnect the green and white wires and plug the green wire into digital 2and the white wire to digital 3. You can change these pins later but for now, use the default pins. 

In the diagrams below we show the wires plugged directly into the Arduino. However, this does not work well because the wires are so thin and they dont make contact. You should solder thicker solid core wires to each wire, to make good contact

It is normal for the sensor to blink the green LED quickly once powered, after that the LED will be off until you've started to request data from it

Leonardo users: The Leonardo does not support software serial on pins 2 & 3. Use pins 8 and 9 and change the example code to match.

Mega users: The Mega does not support software serial on pins 2 & 3. Use pins 10 and 11 and change the example code to match.

-9

Next, download the Adafruit Fingerprint sensor library from github. To download click the ZIP button in the top bar, rename the uncompressed folder Adafruit_Fingerprint. Check that theAdafruit_Fingerprint folder contains Adafruit_Fingerprint.cpp and Adafruit_Fingerprint.h Place the Adafruit_Fingerprint library folder your /libraries/ folder. You may need to create the libraries subfolder if its your first library. Restart the IDE.

Once you've restarted you should be able to select theFile→Examples→Adafruit_Fingerprint→fingerprint example sketch. Upload it to your Arduino as usual. Open up the serial monitor at 9600 baud and when prompted place your finger against the sensor that was already enrolled.

You should see the following:

-10

The 'confidence' is a score number (from 0 to 255) that indicates how good of a match the print is, higher is better. Note that if it matches at all, that means the sensor is pretty confident so you don't have to pay attention to the confidence number unless it makes sense for high security applications.

If you want to have a more detailed report, change the loop() to run getFingerprintID() instead ofgetFingerprintIDez() - that will give you a detailed report of exactly what the sensor is detecting at each point of the search process.

Enrolling with Arduino

We did put together a simple sketch for enrolling a new finger via Arduino - its not as easy to use as the Windows program but it does work. Run the File→Examples→Adafruit_Fingerprint→enrollsketch and upload it to the Arduino, use the same wiring as above.

When you open up the serial monitor, it will ask for you to type in the ID to enroll - use the box up top to type in a number and click Send.

-11

Then go through the enrollment process as indicated. When it has successfully enrolled a finger, it will print Stored!

-12

Don't forget to do a search test when you're done enrolling to make sure its all good!

 
IMG_20150710_090051
 
IMG_20150710_084812IMG_20150710_085628
 
IMG_20150614_143952 (2)

Features:

  • Supply voltage : DC 3.8 ~ 7.0V 
  • Supply Current : Current : <65mA
  • Peak current : <95mA
  • Fingerprint image time : < 0.5 seconds
  • Window Size : 14.5 × 19.4 mm
  • Signature File : 256 bytes
  • Template files : 512 bytes
  • Storage capacity: 1,000
  • False Accept Rate (FAR): <0.001% ( security level 3 )
  • False Reject Rate (FRR): <1.0% ( security level 3 )
  • Search time: < 1.0 seconds ( 1:500 , the mean )
  • PC Interface : UART (TTL logic level )
  • Communication baud rate (UART): (9600 × N) bps where N = 1 ~ 12 ( default value N = 6, ie 57600bps)
  • Working environment : Temperature :-20C to +60 C
  • Relative Humidity : 40% RH to 85% RH ( non-condensing )
  • Storage environment : Temperature :-40C to +85 C
  • Relative humidity : <85% H ( non-condensing )
  • Dimensions (L × W × H): 54 × 20 × 20.5mm
  • Note: The example program provides Arduino , 51 ,STM32 and MEGA16 testing procedures , PC software (VC + + to write ) .

Documents: SynoDemo Software

Mikroelectron Code:

// this sketch will allow you to bypass the Atmega chip

// and connect the fingerprint sensor directly to the USB/Serial

// chip converter.

// Red connects to +5V

// Black connects to Ground

// White goes to Digital 0

// Green goes to Digital 1

void setup() {}

void loop() {}

The "blank" sketch won't work for ATmega32u4-based Arduinos like the Leonardo and the Micro! Use the Leo_passthru sketch instead!

If you're using a Leonardo, Micro, Yun, or other ATmega32U4-based controller, use this Leo_passthru sketch instead of the "blank" sketch.

//Leo_passthru

// Allows Leonardo to pass serial data between

// fingerprint reader and Windows.

// Red connects to +5V

// Black connects to Ground

// Green goes to Digital 0

// White goes to Digital 1

void setup() {

  Serial1.begin(57600);

  Serial.begin(57600);

}

void loop()

  while (Serial.available())

    Serial1.write(Serial.read());

  while (Serial1.available())

    Serial.write(Serial1.read());

}

46 JD
Quantity
6 in stock
46 JD 1+ units
43.7 JD 10+ units
41.4 JD 25+ units
39.1 JD 100+ units



Related Products

subscribe to our weekly newsletter

loading