loading

this instructable is based and inspired by Arduino LCD tutorial and fingerprint scanner from Adafruit (http://www.adafruit.com/product/751). I have added 16x2 LCD into the fingerprint to be able to see the status of the process of fingerprint scanning.

this is my first instructable, you are very welcome to comment and share.

materials:

Arduino Uno

16x2 LCD

fingerprint sensor

10k potentionmeter

220ohms resistor = 3pcs

red LED

green LED

jumper wires

breadboard

future improvements to be carried out:

1. auto shutdown when no input is detected within specified time to save power.

2. wake up function

3. integrate more sensor or inputs to activate finger scanning within predetermined scenario

4. use actuator to use for an application

Step 1: Enrolling the Fingerprint and Connecting the FPS Sensor and LCD

please follow the instructions given from adafruit tutorial http://www.adafruit.com/product/751 on how to connect the fingerprint sensor to the arduino during enrollment process. download the software for windows and install in your computer. enrolling the fingerprint using the software makes the process a lot easier.

make sure to add the adafruit library to your arduino library.

go to http://arduino.cc/en/Tutorial/LiquidCrystalSerial for tutorial of the LCD and the instructions on how to connect the components.

Step 2: Load the Fingerprint Sketch With LCD Sketch

copy and paste the codes below which i had modified in order to accommodate fingerprint scanning and display the results on LCD.

/***************************************************
This is an example sketch for our optical Fingerprint sensor

Designed specifically to work with the Adafruit BMP085 Breakout ----> http://www.adafruit.com/products/751

These displays use TTL Serial to communicate, 2 pins are required to interface Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!

Written by Limor Fried/Ladyada for Adafruit Industries. BSD license, all text above must be included in any redistribution ****************************************************/

/**********************MODIFIED BY PELEGREN of bedRoonics Labs**********************************/

/********************** ARDUINO FINGERPRINT SCANNER with 16x2 LCD monitor***************/

#include

#include

#include

#include

int getFingerprintIDez();

// pin #2 is IN from sensor (GREEN wire)

// pin #3 is OUT from arduino (WHITE wire)

SoftwareSerial mySerial(2, 3);

LiquidCrystal lcd(9, 8, 7, 6, 5, 4); // initialize the library with the numbers of the interface pins

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

void setup()

{ Serial.begin(9600); // initialize the serial communications:

lcd.begin(16,2); lcd.setCursor(0,0); lcd.print("Scan your finger");

pinMode(13,OUTPUT);

pinMode(12,OUTPUT);

pinMode(11, OUTPUT);

pinMode(A0, INPUT);

finger.begin(57600); // set the data rate for the sensor serial port }

void loop() // run over and over again

{

getFingerprintID();

delay(100);

digitalWrite (13,HIGH);

}

uint8_t getFingerprintID()

{ uint8_t p = finger.getImage();

switch (p)

{

case FINGERPRINT_OK:

lcd.clear();

lcd.print(" Image taken... ");

delay(1000);

break;

case FINGERPRINT_NOFINGER:

return p;

case FINGERPRINT_PACKETRECIEVEERR:

return p;

case FINGERPRINT_IMAGEFAIL:

return p;

default:

return p; }

// OK success!

p = finger.image2Tz();

switch (p) {

case FINGERPRINT_OK:

break;

case FINGERPRINT_IMAGEMESS:

return p;

case FINGERPRINT_PACKETRECIEVEERR:

return p;

case FINGERPRINT_FEATUREFAIL:

return p;

case FINGERPRINT_INVALIDIMAGE:

return p;

default:

return p; }

// OK converted!

p = finger.fingerFastSearch();

if (p == FINGERPRINT_OK)

{

lcd.clear();

lcd.print(" Found match! ");

digitalWrite(11, HIGH);

delay(1000);

digitalWrite(11,LOW); // turn on green LED to indicate match

}

else if(p == FINGERPRINT_NOTFOUND)

{

lcd.clear();

lcd.setCursor(0,0);

lcd.print(" Did not match! ");

delay(1000);

lcd.clear();

lcd.setCursor(0,0);

lcd.print(" scan finger! ");

return p;

}

else

{ return p; }

// IF FOUND A MATCH............

lcd.clear();

lcd.setCursor(0,0);

lcd.print("Found ID #");

lcd.print(finger.fingerID);

lcd.setCursor(0,1);

lcd.print("confidence ");

lcd.print(finger.confidence); }

// 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!

digitalWrite(13, LOW);

delay(10);

digitalWrite(13, HIGH);

delay(10);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Found ID # ");

lcd.print(finger.fingerID);

lcd.setCursor(0, 1);

lcd.print("confidence ");

lcd.print(finger.confidence);

return finger.fingerID;

}

<p>I realy want to build this!!! :) but do you have a picture of the schematics , I don't know how to build it</p>
<p>this is the connection when enrolling the fingerprint. please follow the instructions given by adafruit.. <a href="https://learn.adafruit.com/adafruit-optical-fingerprint-sensor/enrolling-new-users-with-windows" rel="nofollow">https://learn.adafruit.com/adafruit-optical-finger...</a></p>
<p> i am getting error while enrolling finger print..i am getting following error.</p><p>Arduino: 1.5.5 (Windows 7), Board: &quot;Arduino Duemilanove or Diecimila, ATmega328&quot;<br><br>enroll:26: error: 'Adafruit_Fingerprint' does not name a type<br>enroll.ino: In function 'void setup()':<br>enroll:34: error: 'finger' was not declared in this scope<br>enroll.ino: In function 'uint8_t getFingerprintEnroll(uint8_t)':<br>enroll:64: error: 'FINGERPRINT_OK' was not declared in this scope<br>enroll:65: error: 'finger' was not declared in this scope<br>enroll:67: error: 'FINGERPRINT_OK' cannot appear in a constant-expression<br>enroll:70: error: 'FINGERPRINT_NOFINGER' was not declared in this scope<br>enroll:73: error: 'FINGERPRINT_PACKETRECIEVEERR' was not declared in this scope<br>enroll:76: error: 'FINGERPRINT_IMAGEFAIL' was not declared in this scope<br>enroll:87: error: 'finger' was not declared in this scope<br>enroll:89: error: 'FINGERPRINT_OK' was not declared in this scope<br>enroll:92: error: 'FINGERPRINT_IMAGEMESS' was not declared in this scope<br>enroll:95: error: 'FINGERPRINT_PACKETRECIEVEERR' was not declared in this scope<br>enroll:98: error: 'FINGERPRINT_FEATUREFAIL' was not declared in this scope<br>enroll:101: error: 'FINGERPRINT_INVALIDIMAGE' was not declared in this scope<br>enroll:112: error: 'FINGERPRINT_NOFINGER' was not declared in this scope<br>enroll:118: error: 'FINGERPRINT_OK' was not declared in this scope<br>enroll:121: error: 'FINGERPRINT_OK' cannot appear in a constant-expression<br>enroll:124: error: 'FINGERPRINT_NOFINGER' was not declared in this scope<br>enroll:127: error: 'FINGERPRINT_PACKETRECIEVEERR' was not declared in this scope<br>enroll:130: error: 'FINGERPRINT_IMAGEFAIL' was not declared in this scope<br>enroll:143: error: 'FINGERPRINT_OK' was not declared in this scope<br>enroll:146: error: 'FINGERPRINT_IMAGEMESS' was not declared in this scope<br>enroll:149: error: 'FINGERPRINT_PACKETRECIEVEERR' was not declared in this scope<br>enroll:152: error: 'FINGERPRINT_FEATUREFAIL' was not declared in this scope<br>enroll:155: error: 'FINGERPRINT_INVALIDIMAGE' was not declared in this scope<br>enroll:166: error: 'FINGERPRINT_OK' was not declared in this scope<br>enroll:168: error: 'FINGERPRINT_PACKETRECIEVEERR' was not declared in this scope<br>enroll:171: error: 'FINGERPRINT_ENROLLMISMATCH' was not declared in this scope<br>enroll:180: error: 'FINGERPRINT_OK' was not declared in this scope<br>enroll:182: error: 'FINGERPRINT_PACKETRECIEVEERR' was not declared in this scope<br>enroll:185: error: 'FINGERPRINT_BADLOCATION' was not declared in this scope<br>enroll:188: error: 'FINGERPRINT_FLASHERR' was not declared in this scope<br><br> This report would have more information with<br> &quot;Show verbose output during compilation&quot;<br> enabled in File &gt; Preferences.</p><p>how to rectify this error?</p>
<p>Go to Sketch in the menu bar, Include Library, Library Manager, and search Adafruit Fingerprint</p>
<p>You should try downloading the fingerprint scanner library from git hub otherwise the arduino cant make sense of the code. Instructions can be found here <a href="https://www.arduino.cc/en/Guide/Libraries" rel="nofollow">https://www.arduino.cc/en/Guide/Libraries</a></p><p>Best regards, Jamie</p>
<p>follow this diagram to connect LCD</p>
<p>follow this diagram to connect fingerprint sensor for loading of main program</p>
<p>i am happy you are inspired by this. i will add the schematics which i missed to do. thank you.</p>
<p>thank you :)</p>
<p>This is really cool, but maybe you should upload the code in a file and give s little explanation of it in the actual instructable, so others can modify it.</p>
<p>great. thanks for the suggestion. i will work on it and make sure it happens.</p>
<p>Sir, with due respect, I beg to state that I want to make a biometric system with database of students in my class. It should work like this-</p><p>1) First, I have to take the fingerprints of students( let the count be 20).</p><p>2)Then I will put the fingerprint sensor on the door</p><p>3) Everytime a student enters by pressing the fps on the door, his/her name with roll number will be displayed.</p><p>Sir, will you please tell me how to do this, step by step?</p><p>I know nothing about arduino programming. Please help me by providing the code. Please</p>
<p>Hi Pelegren have you discovered how to turn off the LED while the sensor is not scanning any finger? I would like to disable the led and just blink on reading.</p><p>Thankyou =D</p>
<p>Please tell me tooo.</p>
<p>how to make the same thing in raspberry pi and load it in sqlite??</p>
<p>is it possible to add a clock with alarm after the fingerprint scanner is completed scanning.</p>
<p>i copied the codes but some error occurred ... help me please</p>
<p>hi </p><p>what is the finger print model? <br>i have a sm630 <br>does it work on it ?</p>
<p>hi ,</p><p>Can i get the code to direct reading of the finger value, now the controller is converting the code , i need the real cod of the finger,like when we shows the rfid card , the reader will send the hex or ascii code,.</p><p>Please help</p><p>visakh</p>
<p>Hi! I'm trying to build this using Arduino Mega. But when I use a hardware serial port for it doesn't receive any data. It only sends data. what change should be made in the code or the library file? If i use a software serial port, it works fine. </p><p>Please help!</p>
<p>i have module SM630 will it work?<br></p>
<p>i have module SM630 will it work?<br></p>
<p>Hi, </p><p>what software do you used to draw the Fingerprint part? TQ.</p>
Hi, i have a fingerprint sensor but it has 16pin output instead of 4 as shown by you. <br>http://m.alibaba.com/product/1653424648/KO-K420-16PIN-Biometric-Fingerprint-Sensor.html<br><br>Is there anyway i can use it with arduino uno board??<br><br>Kindly comment. <br><br>Thank you
Can I use these codes for another fingerprint sensor other than what you have uses...???
Can I use this codes for different fingerprint scanner other than what you have used...???
<p>Is is possible to add a servo in with this to unlock a door?</p>
<p>where can i get the code</p><p>email me hrthflanker22@gmail.com</p>
<p>hello, the fingerprint module i bought has different specs than this, can you help with the program. this is the model (<strong>ADST11SD300&amp;310)</strong></p>
<p>Hi Pelegren, your code above seems to have 4 blank '#include' s. Should there be libraries there? If so can you specify which ones? I assume there will be one for the LCD (I guess #include &lt;LiquidCrystal.h&gt;), the fingerprint scanner will use #include &lt;Adafruit_Fingerprint.h&gt; and #include &lt;SoftwareSerial.h&gt; but what about the 4th? Thanks, Noble.</p>
How much it cost <br>Cn u plzz send items for me i will pay fr the items my email sanathhm4@gmail.com
Dear friend,<br><br>Can you post a code for controlling a servo with the fingerprint lock so as to use it as a fingerprint door lock. If possible then please mail me at sanu.bullet@gmail.com<br>I am attaching a code for a keypad controlled servo. Could you combine this code with yours?<br><br>Thanking You,<br>Shayan Das
<p>Do you have codes for the LCD using matlab or NI labview?.. Pls response thankyou in advance</p>
no sorry.
<p>do you have NI labview codes or matlab codes for this project? </p>
<p>if possible mail me at amgain05@gmail.com or amgain04@gmail.com</p>
<p>this project is only about identification and detection of finger print but i need detail report about student attendance system (with use of data based) plez help me i am preparing my final year project so i am at trouble!!!!!!!!</p>
I want to do this...but i need ckt diagram of project and all ..how to store data of ardino to pc after taking all firgerprint scan...plz e-mail ckt diagram...shubhamsuni@gmail.com
<p>can i get the full coding of the lcd display? Thank you. </p>
<p>Hi, Please can you help me ?<br>I bought the same sensor !<br>I should set a pin high if i put a finger known and the pin must remain high until only when I remove the finger! <br>How can i do this ? <br><br>Thank you very much !!!!</p>
<p>How did you get the fingerprint scanner on Fritzing? Help!</p>
<p>i have faced fingerprint sensor problems.It takes the fingerprints correctly with arduino mega2560 but during verifying, it always returns id#0 with only last fingerprint that i entered.Rest of fingerprints are not counted.i did it in serial monitor according to the tutorial given byAdafruit.Can u plz help me how to fix the problems.</p>
<p>How can I load the program and create the hex file....there is many of arduino environment software are available , among them which is more suitable????And for finger print I did not get where to write coding???please replay as fast as possible....</p>
<p>get the latest arduino ide but any version should work fine for this fingerprint.</p>
<p>get the latest arduino ide but any version should work fine for this fingerprint.</p>
<p>http://arduino.cc/en/Main/Software here's the link of the software for you to download and install. let me know if you need more help. thanks.</p>
<p>can u plz help me as if the library of the fingerprint sensor can work on pcb not arduino i mean i want to use it separatly and i did it i used the adafruit library but sensor is not detecting can u plz help me as is it because of newsoftserial library or something else</p>
<p>this is hardware problem. if the error is no sensor found.</p>
<p>is there anybody out there have done this instructable? please post your comments below. I want to know if your having hard time doing this and i will try help you out. If you find it very helpful and easy to do, please post as well. thanks.</p>
<p>did u have the enrol and delete code for this?</p><p>my circuit need to add on for these two function by add on 2 buttons.</p>

About This Instructable

87,315views

99favorites

License:

Bio: Cars. Electronics. Mechatronics. I'm a thinker and maker by blood....
More by pelegren:Arduino Clones Wiring Hack: Female Terminal as Splice Point Joiner Vehicle Anti-Get-Away Device 
Add instructable to: