User Tools

Site Tools


tutorials:products:fingerprint:index.html

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tutorials:products:fingerprint:index.html [2012/03/27 20:50]
bekathwia
tutorials:products:fingerprint:index.html [2016/01/28 18:05] (current)
Line 1: Line 1:
-   +This tutorial has moved to [[http://learn.adafruit.com/​adafruit-optical-fingerprint-sensor|http://​learn.adafruit.com/​adafruit-optical-fingerprint-sensor]]!
-====  ==== +
-[[http://www.ladyada.net/​images/​fingerprint/​fingerprintuse.jpg|{{ ​ http://​www.ladyada.net/​images/​fingerprint/​fingerprintuse_t.jpg?​nolink&​500x385 ​ |}}]] +
-{{youtube>​1diFaa5OsFg}} +
- +
-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 162 finger prints can be stored in the onboard FLASH memory. There'​s a red 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!" -[[https://​github.com/​adafruit/Adafruit-Fingerprint-Sensor-Library| 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 [[http://​ladyada.net/​products/​fingerprint/​|written a detailed tutorial on wiring and use]]. This is by far the best fingerprint sensor you can get. +
- +
- +
-  ***Supply voltage: **3.6 - 6.0VDC +
-  ***Operating current: **120mA max +
-  ***Peak current: **150mA max +
-  ***Fingerprint imaging time: **<1.0 seconds +
-  ***Window area: **14mm x 18mm +
-  ***Signature file: **256 bytes +
-  ***Template file: **512 bytes +
-  ***Storage capacity: **162 templates +
-  ***Safety ratings **(1-5 low to high safety) +
-  ***False Acceptance Rate: **<​0.001% (Security level 3) +
-  ***False Reject Rate: **<1.0% (Security level 3) +
-  ***Interface:​ **TTL Serial +
-  ***Baud rate: **9600, 19200, 28800, 38400, 57600 (default is 57600) +
-  ***Working temperature rating: **-20C to +50C +
-  ***Working humidy: **40%-85% RH +
-  ***Full Dimensions: **56 x 20 x 21.5mm +
-  ***Exposed Dimensions** (when placed in box): 21mm x 21mm x 21mm triangular +
-  ***Weight: **20 grams  +
-==== Enrolling vs Searching ​ ==== +
- +
- +
-There are basically two requirements for using the optical ​fingerprint sensor. First is you'll need to **enroll** 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) +
- +
- +
-==== Enrolling new users with Windows ​ ==== +
- +
- +
-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: +
- +
-<code C> +
-// 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() {} +
- +
-</​code>​ +
- +
-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 conteact. When you plug in the power, you should see the red LED blink to indicate the sensor is working. +
- +
-[[http://​www.ladyada.net/​images/​fingerprint/​passthru.jpg|{{  ​http://www.ladyada.net/​images/​fingerprint/​passthru_t.jpg?​nolink&​500x330 ​ |}}]] +
- +
- +
- +
-Start up the SFGDemo software and click **Open Device ** from the bottom left corner. Select the **COM port **used by the Arduino. +
- +
-{{  http://​www.ladyada.net/​images/​fingerprint/​opendevice.gif?​nolink&​760x744 ​ |}} +
- +
- +
- +
-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. +
- +
-{{  http://​www.ladyada.net/​images/​fingerprint/​opened.gif?​nolink&​760x743 ​ |}} +
- +
-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 162 ID numbers. +
- +
-{{  http://​www.ladyada.net/​images/​fingerprint/​enrolladdr.gif?​nolink&​297x188 ​ |}} +
- +
-The software will ask you to press the finger to the sensor +
- +
-{{  http://​www.ladyada.net/​images/​fingerprint/​fingerrequest.gif?​nolink&​416x143 ​ |}} +
- +
-You can then see a preview (if you cliecked the preview checkbox) of the fingerprint +
- +
-{{  http://​www.ladyada.net/​images/​fingerprint/​fingerpreview.gif?​nolink&​760x367 ​ |}} +
- +
-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 +
- +
-{{  http://​www.ladyada.net/​images/​fingerprint/​enrollsuccess.gif?​nolink&​419x130 ​ |}} +
- +
-If there'​s a problem such as a bad print or image, you'll have to do it again +
- +
- +
-==== 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 # +
- +
-{{  http://​www.ladyada.net/​images/​fingerprint/​searchOK.gif?​nolink&​415x121 ​ |}} +
- +
-If it is not a finger in the database, you will get a failure notice +
- +
-{{  http://​www.ladyada.net/​images/​fingerprint/​searchfail.gif?​nolink&​411x124 ​ |}} +
- +
- +
-==== 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 **2** and the white wire to digital **3**. You can change these pins later but for now, use the default pins. 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 red LED blink to indicate the sensor is working. +
- +
-[[http://​www.ladyada.net/​images/​fingerprint/​ardwiring.jpg|{{ ​ http://​www.ladyada.net/​images/​fingerprint/​ardwiring_t.jpg?​nolink&​500x339 ​ |}}]] +
- +
- +
- +
-Next, [[https://​github.com/​adafruit/Adafruit-Fingerprint-Sensor-Library|download the Adafruit Fingerprint ​sensor ​library from github]]. To download click the DOWNLOADS button in the top right corner, rename the uncompressed folder** Adafruit_Fingerprint**. Check that the **Adafruit_Fingerprint **folder contains **Adafruit_Fingerprint.cpp** and **Adafruit_Fingerprint.h **Place the **Adafruit_Fingerprint** library folder your **<​arduinosketchfolder>/​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 the** File->​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:​ +
- +
-{{  http://​www.ladyada.net/​images/​fingerprint/​arduinosearch.gif?​nolink&​420x201 ​ |}} +
- +
-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 of** getFingerprintIDez() **- 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->​enroll** sketch 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 +
- +
-{{  http://​www.ladyada.net/​images/​fingerprint/​enrollid.gif?​nolink&​461x284 ​ |}} +
- +
-Then go through the enrollment process as indicated. When it has successfully enrolled a finger, it will print **Stored!** +
- +
-{{  http://​www.ladyada.net/​images/​fingerprint/​arduinoenrolled.gif?​nolink&​554x333 ​ |}} +
- +
-Don't forget to do a search test when you're done enrolling to make sure its all good! +
- +
- +
-==== Download ​ ==== +
- +
-  *[[https://​github.com/​adafruit/​Adafruit-Fingerprint-Sensor-Library|Arduino interface library on github]] +
-  *[[http://​www.adafruit.com/​datasheets/​DY001fingerprint.pdf|Datasheet (its not really a great datasheet and its Chinese but its better than nothing)]] +
-  *[[http://​www.adafruit.com/​datasheets/​SFGDemoV2.0.rar|Windows-only test software]] ​       ​+
/home/ladyada/public_html/wiki/data/attic/tutorials/products/fingerprint/index.html.1332881409.txt.gz · Last modified: 2016/01/28 18:05 (external edit)