This post is an introductory guide on how to use the Fingerprint Sensor Module with the Arduino. We’ll show you how to enroll a new fingerprint ID, and how to find a fingerprint match.
Watch the Video Demonstration
Introducing the Fingerprint Sensor Module
Fingerprint sensor modules, like the one in the following figure, made fingerprint recognition more accessible and easy to add to your projects. This means that is is super easy to make fingerprint collection, registration, comparison and search.
These modules come with FLASH memory to store the fingerprints and work with any microcontroller or system with TTL serial. These modules can be added to security systems, door locks, time attendance systems, and much more.
Prices for this sensor greatly vary from $10 to $50. We recommend checking the Fingerprint sensor module on Maker Advisor that compares the price in different stores. The fingerprint sensor modules featured on Maker Advisor should be compatible with this guide.
Specifications
Here’s the specifications of the fingerprint sensor module we’re using (you should check your sensor datasheet or the specifications provided by your supplier – they shouldn’t be much different than these):
- 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
Sensor Pinout
The sensor has six pins that are labeled in the figure below.
The fingerprint sensor module used in this project came with really thin wires, so soldering breadboard-friendly wires was needed. We recommend using different colors according to the pin function. In our case:
- DNC – white wires
- VCC – red wire
- TX – blue wire
- RX – green wire
- GND – black wire
The following table shows how to wire the sensor to the Arduino.
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 |
Installing the Adafruit Fingerprint Sensor Library
The easiest way to control the fingerprint sensor module with the Arduino is by using the Adafruit library for this sensor. Follow the next instructions to install the library:
- Click here to download the Adafruit Fingerprint Sensor library. You should have a .zip folder in your Downloads folder
- Unzip the .zip folder and you should get Adafruit-Fingerprint-Sensor-Library-master folder
- Rename your folder from
Adafruit-Fingerprint-Sensor-Library-masterfolder to Adafruit_Fingerprint_Sensor_Library folder - Move the folder to your Arduino IDE installation libraries folder
- Finally, re-open your Arduino IDE
Enroll a New Fingerprint
Having the fingerprint sensor module wired to the Arduino, follow the next steps to enroll a new fingerprint. Make sure you’ve installed the Adafruit Fingerprint Sensor library previously.
1. In the Arduino IDE, go to File > Examples > Adafruit Fingerprint Sensor Library > Enroll.
2. Upload the code, and open the serial monitor at a baud rate of 9600.
3. You should enter an ID for the fingerprint. As this is your first fingerprint, type 1 at the top left corner, and then, click the Send button.
4. Place your finger on the scanner and follow the instructions on the serial monitor.
You’ll be asked to place the same finger twice on the scanner. If you get the “Prints matched!” message, as shown below, your fingerprint was successfully stored. If not, repeat the process, until you succeed.
Store as many fingerprints you want using this method.
Finding a Match
You now should have several fingerprints saved on different IDs. To find a match with the fingerprint sensor, follow the next instructions.
1. In the Arduino IDE, go to File > Examples > Adafruit Fingerprint Sensor Library > Fingerprint and upload the code to your Arduino board.
2. Open the Serial Monitor at a baud rate of 9600. You should see the following message:
3. Place the finger to be identified on the scan.
4. On the serial monitor, you can see the ID that matches the fingerprint. It also shows the confidence – the higher the confidence, the similar the fingerprint is with the stored fingerprint.
Project Example – Show Fingerprint Match on OLED display
In this project example, we’ll enroll two fingerprints from two different persons. Then, we’ll display a greeting message accordingly to the match found, on an OLED display.
To learn more about the OLED display read: Guide for OLED Display with Arduino
Parts required
For this example you’ll need the following parts:
- Arduino UNO – read Best Arduino Starter Kits
- Fingerprint sensor module
- 0.96 inch OLED display
- Breadboard
- Jumper Wires
You can use the preceding links or go directly to MakerAdvisor.com/tools to find all the parts for your projects at the best price!
Schematics
Here’s the wiring diagram you should follow to make the circuit for this project.
Installing the 0.96 inch OLED libraries
To control the OLED display you need the adafruit_SSD1306.h and the adafruit_GFX.h libraries. Follow the next instructions to install those libraries.
1. Open your Arduino IDE and go to Sketch > Include Library > Manage Libraries. The Library Manager should open.
2. Type “SSD1306” in the search box and install the SSD1306 library from Adafruit.
3. After installing the SSD1306 library from Adafruit, type “GFX” in the search box and install the library.
4. After installing the libraries, restart your Arduino IDE.
Code
Before uploading the code, you need to enroll different fingerprints from different persons. Go to “Enroll a New Fingerprint” section above, upload the given code and follow the instructions to enroll two fingerprints.
Then, modify the code so that the fingerprint IDs match the name of the persons enrolled – scroll down to page for an explanation of the code. Finally, you can upload the code provided.
/*********
Rui Santos
Complete project details at https://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;
}
Importing libraries
The code starts by importing the needed libraries to write in the OLED display, and creates an Adafruit_SSD1306 object called display.
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
We also need to import the libraries needed for the fingerprint sensor: Adafruit_Fingerprint.h and SoftwareSerial.h.
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
The following line sets software serial on pins 2 and 3. Pin 2 as RX, and Pin 3 as TX.
SoftwareSerial mySerial(2, 3);
Then, we create a an Adafruit_Fingerprint object called finger on the serial pins we’ve set previously.
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
The next two lines create variables to hold the fingerprint ID and the IDname.
int fingerprintID = 0;
String IDname;
setup()
In the setup(), both the fingerprint sensor and the OLED display are initialized. We also print a message on the serial monitor so that we know if the fingerprint sensor was found successfully.
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();
}
Recommended reading: Guide for I2C OLED Display with Arduino
loop()
In the loop(), the code displays the main screen on the OLED display – this is done in the displayMainScreen() function. Then, the code is continuously checking for incoming fingerprints. If the sensor founds a saved fingerprint, the Arduino saves the corresponding ID in the fingerprintID variable.
Then, the code has an if/else statement to check the ID the fingerprint corresponds to. You should edit the following lines of code with the corresponding IDs and names.
if(fingerprintID == 1 || fingerprintID == 3 || fingerprintID == 4 || fingerprintID == 5){
IDname = "Sara";
displayUserGreeting(IDname);
}
else if(fingerprintID == 2){
IDname = "Rui";
Sometimes, the sensor will recognize a fingerprint better if it is saved several times in different IDs. After identifying the ID name, the OLED displays a greeting – this is done in the displayUserGreeting() function,
Demonstration
Now, when a person with a saved fingerprint places the finger on the sensor, it displays a greeting message.
Wrapping Up
In this post we’ve shown you how to use the fingerprint sensor module: enroll fingerprints and find a match.
Sometimes the sensor has a hard time identifying the fingerprint if you don’t place your finger very similarly to when you’ve saved it – specially women’s fingerprints (we have no idea why this happens). We’ve noticed that the sensor works better if you place your finger slowly on the scanner.
In our opinion, the fingerprint sensor module works quite well, and it is an affordable way to add biometrics recognition to your projects.
You may also like the following projects:
- Free Arduino Mini Course
- Nextion Display with Arduino – Getting Started
- Guide to NEO-6M GPS Module with Arduino
- Arduino Step-by-step Projects Course
Thanks for reading.
Awesome project! Everytime you surprise me!
Thank you 🙂
hi, is it possible to turn on the computer with this sensor
if it’s how do you do it ?
Hi.
Yes, you can do that.
For that, you need to use a development board that can act as a keyboard like an Arduino Leonardo or a Teensy.
Regards,
Sara
Hi Sarah, can you pls help me convert this code into matlab simulink block.
#include
String value;
int TxD = 11;
int RxD = 10;
int servoposition;
SoftwareSerial bluetooth(TxD, RxD);
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4,OUTPUT);
Serial.begin(9600); // start serial communication at 9600bps
bluetooth.begin(9600);
}
void loop() {
Serial.println(value);
if (bluetooth.available())
{
value = bluetooth.readString();
if (value == “all led turn on”){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
}
if (value == “all led turn off”){
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
}
if (value == “turn on red led”){
digitalWrite(2, HIGH);
}
if (value == “turn on the fan”){
digitalWrite(3, HIGH);
}
if (value == “turn off red led”){
digitalWrite(2, LOW);
}
if (value == “turn on blue led”){
digitalWrite(4, HIGH);
}
if (value == “turn off red led”){
digitalWrite(4, LOW);
}
if (value == “turn off the fan”){
digitalWrite(3, LOW);
}
}
}
Hi Peter.
Unfortunately, I’m not familiar with simulink.
Regards,
Sara 🙂
Hi,
First of all, I apologize for my poor English!
can anyone explain me how to clear the fingerprint reading module password? I set it just doing experiments but now I don’t able to reset it!
Thanks in advance.
Hi Claudio.
Try taking a look at the examples provided in the library.
I’m sure you’ll find what you want: https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library/tree/master/examples
Regards,
Sara
Hi Sara,
Thanks for your prompt reply!
Unfortunately the examples indicate how to change the password but then you CANNOT access the device anymore.
I discovered that in the “Adafruit_Fingerprint.cpp” file, is possible to change the password using the variable but I wouldn’t know how to make this change with a function written for Arduino.
————————————————————————————
below, the part of “Adafruit_Fingerprint.cpp” file where change the variable:
///! Helper class to communicate with and keep state for fingerprint sensors
class Adafruit_Fingerprint {
public:
#if defined (__ AVR__) || defined (ESP8266) || defined (FREEDOM_E300_HIFIVE1)
Adafruit_Fingerprint (SoftwareSerial * ss, uint32_t password = 0);
#endif
Adafruit_Fingerprint (HardwareSerial * hs, uint32_t password = 0);
Hi Claudio.
Try initializing the Adafruit_Fingerprint as follows:
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial, uint32_t password);
replacing password with the password you’ve set.
See this example:
SoftwareSerial mySerial(2, 3);
// Using sensor without password
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
// Using sensor with password
//Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial, 1337);
Thanks a lot for your replay,
Exactly, now it’s runnig ok!!
Yuo has been very usefull!
thanks
claudio
That’s great!
Have a good day 😀
Thanks for this tutorial.
Actually this doesn’t works for me.
Even the SFG demo program doesn’t work.
My sensor is not responding to the commands sent by Arduino.
Plus when i power up the sensor I didn’t see any led blinking, does this means that my sensor is faulty??
I assume that whenever the power js supplied the red led will blink, but u haven’t seen that for a single time.
Arun,
It definitely sounds like your sensor is broken. I had a sensor that was broken when it arrived…
hi, my name is peter
I am a hobbysta of the arduino
I wanted to make a project using the print finger sensor
I bought one that matches his showing in the tutorial
I also followed the link the library but nothing
the light does not turn on in the reader
the light is activated as soon as it is true tension
I also respected the order of the cables but nothing
DY50 reader model
I ask the courtesy if you could help me thank you in advance
Hello Pietro, it sounds like your fingerprint sensor might be broken or defective. The first module that I’ve ordered was broken and it also didn’t light up…
Regards,
Rui
Do you have arduino code for print 1000pcs fringerprit?
Thanks
Hi Jane.
We don’t have the code that.
Regards,
Sara-
Hi Jane,
The original Adafruit Code and sub libraries are defined for “uint8_t” that means “up to 255 fingerprints. If the files are modified as below, it will handle the fingerprints up to 0x03E8” (1000 fingerprints). But keep in mind that if the sensor can’t handle that more, the code returned after calling STORE will be “0bH – addressing PageID is beyond the finger library”. If it’s triggered you can modify the max values accordingly :
1. In “AdaFruit_FingerPrint.cpp”, modify the following line as below:
GET_CMD_PACKET(FINGERPRINT_HISPEEDSEARCH, 0x01, 0x00, 0x00, 0x03, 0xE7);
//The last 2 bytes defines the Page Number which is used for the maximum fingerprints the sensor can store.
2. In “Enroll.ino” covered in the examples, modify the following lines to store “uint16_t” type as Word:
uint16_t readnumber(void) {
uint16_t num = 0;
//The original data type is uint_8 which can only store 0-255. However, you would like to handle the fingerprints up to 1000 or 0xFFFF.
If you have any further questions, feel free to e-mail me.
To be able to determine how many fingerprints the sensor can handle, you can modify the files as below. I hope you know how to add a procedure to a file. Because below changes don’t define the relevant changes that need to be done in the whole library :
1. Adafruit_Fingerprint.cpp – add the following Procedure:
uint8_t Adafruit_Fingerprint::getMaxPageNumber(void) {
GET_CMD_PACKET(FINGERPRINT_MAXPAGENUMBER);
maxPageNumber = packet.data[5];
maxPageNumber <
//Build BA – Modified
Serial.print(“Please type in the ID # (from 1 to “); Serial.print(finger.maxPageNumber); Serial.println(“) you want to save this finger as…”);
//->
Some parts of my comment are removed somehow?
Here is the all changes:
1. Adafruit_Fingerprint.cpp – add the following Procedure:
//Build BA – Added to get maximum Page Number that the sensor can store (Finger Library Size)
uint8_t Adafruit_Fingerprint::getMaxPageNumber(void) {
GET_CMD_PACKET(FINGERPRINT_MAXPAGENUMBER);
maxPageNumber = packet.data[5];
maxPageNumber <
//Build BA – Modified
Serial.print(“Please type in the ID # (from 1 to “);Serial.print(finger.maxPageNumber);Serial.println(“) you want to save this finger as…”);
//->
???? I didn’t understand why my comments are cropped? Later, i’ll link the files
Here is the link covering all the changes:
https://github.com/Coder-BA/AdaFruit_Fingerprint
nice project ! but i wanna ask , is there a way to save new fingerprints not in FLASH memory fingerprint ?
You probably can store it in another place, but by default I think the library only supports this method.
Sure. But as Santos mentioned by using default library, you can only store it in Flash memory.
However, if DownChar/UpChar commands are used, the templates in Sensor Buffers (CharBuffer1 or CharBuffer2) can be downloaded/uploaded to an external computer. And those templates can be utilized to be transfered to the other sensors connected to the other arduinos.
This method can handle the process for an environment using multiple fingerprint sensors in different locations, and the data upload/download can be done over network using a ethernet module.
If you need the code, i can send it after i develop and test it.
Regards,
Hi. I am very interested in that modification to save the data in a memory other than the internal one to display it in several arduino. Could you indicate how to do it ?. Thank you
Hi, I am also interested in knowing if it is possible to extract and load templates for multiple devices through an ethernet connection.
Did you manage to make the code? Do you have it published?
It’s a very interesting idea. Did you finally test it @BA ?
Sara and Rui, you have a very interesting blog where I have come many times to solve questions. Thanks!
I have been looking in the datasheet of this sensor as well as 502 capacitive one (quite common and supported by libraries also) and I still miss one concrete aspect that maybe you know: which format is the template/fingerprint signature that you download? I’m looking for fingerprint modules using standard signatures in order to be able to interchange and use fingerprint modules from different providers.
Our idea is to develop during the next semester an open-source modular distributed biometric authentication system as part of a BSc thesis I’m directing.
Best,
Do you have code to upload the image of the fingerprint to a file on the Arduino or ESP-32? Or, point me to someone who might have this capability? Upload to a Windows PC would also be OK if a solution is available.
maravilloso trabajo…muchas gracias por todos sus comentarios y ayudas
Thank you for this awesome tutorial, however I don’t understand this part of the sketch :
SoftwareSerial mySerial(2, 3); // don’t understand this
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial); // don’t understand this
what does it mean ?
Hi.
The SoftwareSerial library allows serial communication on other digital pins of the Arduino (the default pins are 0 and 1). That first line creates a SoftwareSerial object called mySerial that will create an RX pin on Pin 2, and a TX Pin on Pin 3. Basically, that means that Pin 2 and Pin 3 will be able to communicate via serial.
The next line creates an Adafruit_Fringerprint object called finger that contains properties and methods to handle the fingerprint sensor. The “&mySerial” means that you want to instantiate your fingerprint sensor on the software serial pins you’ve defined earlier.
I hope this helps.
Regards,
Sara 🙂
Hi, thanks for your response.
So basically this code is useful when we set up the fingerprint sensor, if I understand well.
So it is not like the sketch to run when the arduino is already set up and disconnected from the laptop, is it ?
You can run this code when the Arduino is already set up without any problem.
Partially true. The code has a portion using Serial communication to connect to the computer and get the commands (Id, delete, etc.). Additionally the responses are visible to the user over this serial connection.
If you like to use it offline (without Computer), you can add the keypad and LCD screen modules to the project.
Kind Regards,
BA
For my sensor, it comes with a red six wire connector, but it is too thin to be connected, is there any converter I can buy to connect from this small conector to a much big connector, then I can wire it to Arduino board. Thanks.
Hi David.
Our fingerprint sensor was the same.
A very thin connector that can’t fit anywhere. We’ve just cut the connector and solder breadboard friendly wires.
I don’t know any connector to convert to a bigger connector.
If you find a solution just let us know.
Regards,
Sara 🙂
hello, I can’t find “displayMainScreen();”and”displayUserGreeting(IDname)” function. where can i get the code.
Hi Simon.
You can find the code here: https://raw.githubusercontent.com/RuiSantosdotme/Random-Nerd-Tutorials/master/Projects/Fingerprint/Fingerprint_oled.ino
What browser are you using? We have the code on the blog post, you should be able to see it.
Regards,
Sara.
the project is good.
Can you please recommend that from where can I buy and search fingerprint sensor online?
Hi.
You can go to maker advisor where we give you options to buy in different stores:
https://makeradvisor.com/tools/fingerprint-sensor-module/
We bought ours from eBay.
Regards
Sara
I bought a fingerprint sensor (BIOSEC OK300). When powered, LED blinks once (Not from the sensor side, in the connector side). Doesn’t work with the enrollment example. It displays like “Did not find fingerprint sensor :(” . How to test this sensor?
Does this BIOSEC OK300 compatible with Adafruit-fingerprint-Sensor-Library?
Please help me on this.
Hi.
I haven’t tried that sensor, so I can’t advise about that.
This code works for the FPM10A.
Regards,
Sara
Thanks for your time.
Thank youa lot Sara for this nice and fautless project.
Though that I am a newbie in Arduino it all works fine for me.
Franck
Hi sara can i get source code for finger print based examination using arduino.
Hi.
What do you mean?
I suggest taking a look at the Adafruit examples, and see if you can find something for your project: https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library/tree/master/examples
Regards,
Sara
Thanks for awesome tutorial. Which pins on NodeMCU can be used to connect fingureprint sensor.
Thanks
I have connected the Rx, Tx pin of fingerprint sensor to D5, D6 of NodeMCU and VCC to 3.3v on NodeMCU as suggested in the tutorial and it was working fine. Thanks again.
I really like this project. However, I cannot get the OLED to display on a stand-alone power 5 volt supply and the voltages across the rails are to spec. The display only works correctly when the Arduino is physically connected to a terminal via the USB port. I have reason to believe that the circuitry is somehow dependent on USB polling and/or the I2C leads need to be biased somehow. Could anyone here please help me out with this particular issue. I have tried rearranging the code 10 ways to Sunday in an attempt to debug this particular hiccup.
Thank you in advance.
Hello. Sorry for my English. The code works fine, but the scanner does not recognize the fingerprint immediately. It takes me about 2 minutes to recognize the fingerprint. What could be the problem ?
check the delay in your code
Hello!
can u please help me with source code
i am using fingerprint sensor with lcd16*2 and electronic lock but i am not able to code it properly
hi friend, try this code
#include <Adafruit_Fingerprint.h>
#include <LiquidCrystal_I2C.h>
#include <SPI.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
//Created instances
LiquidCrystal_I2C lcd(0x27, 16, 2);
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
int fingerprintID = 0;
String IDname;
void setup()
{
Serial.begin(9600);
while (!Serial);
delay(100);
lcd.init(); // initialize the lcd
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print(“Fingerprint Door”);
lcd.setCursor(5, 1);
lcd.print(“lock”);
delay(3000);
lcd.clear();
// set the data rate for the sensor serial port
finger.begin(57600);
if (finger.verifyPassword()) {
lcd.setCursor(0, 0);
lcd.print(” FingerPrint “);
lcd.setCursor(0, 1);
lcd.print(“Sensor Connected”);
delay(3000);
lcd.clear();
}
else {
lcd.setCursor(0, 0);
lcd.print(“Unable to found”);
lcd.setCursor(0, 1);
lcd.print(“Sensor”);
delay(3000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“Check Connections”);
while (1) {
delay(1);
}
}
lcd.clear();
}
void loop(){
displayMainScreen();
fingerprintID = getFingerprintIDez();
delay(50);
if(fingerprintID == 1 || fingerprintID == 2){
IDname = “Bella”;
displayUserGreeting(IDname);
}
else if(fingerprintID == 3 || fingerprintID == 4 || fingerprintID == 5){
IDname = “Invalid”;
displayUserGreeting(IDname);
}
}
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!
lcd.print(“Found ID #”);
lcd.print(finger.fingerID);
lcd.print(” with confidence of “);
lcd.println(finger.confidence);
return finger.fingerID;
}
void displayMainScreen(){
lcd.clear();
lcd.setCursor(2,0);
lcd.println(“Waiting for”);
lcd.setCursor(0,1);
lcd.println(” FingerPrint…”);
delay(2000);
}
void displayUserGreeting(String Name){
lcd.clear();
lcd.setCursor(5,0);
lcd.print(“Hello”);
lcd.setCursor(5,1);
lcd.print(Name);
lcd.display();
delay(5000);
fingerprintID = 0;
}
hi can you send me the code without the lcd
i mean send me only fingerprintsensor and servo motor plzzz
Hi any one can help me to give me a source code for proteous simulation for fingerprint sensor with lcd and fingerprint sensor library for proteous plzzzz
(sorry my english is very weak
How i can take backup of fingure by R307 and connected by Arduino board ,like how many times attempts fingure by person with date and time
Good day, how to fix if my serial monitor display “Did not find fingerprint sensor:(“?
The fingerprint sensor might be broken;
The connections might be wrong, double-check all connections;
The sensor might be incompatible with the library;
Hi sara, please can you help me with a finger print sensor code that uses LCD and gsm module (SIM800L). Hope to have a quick response on this. Thanks
thanks in advance to Sara and Rui
i want to ask, can FPM10A connect with ESP32CAM?
then if it can be connected, please also include the tutorial.
thanks
can you guys help me using fingerprint to read someone biodata
hi sara and rui,
i need a code that extracts each fingerprint data from the module and back it up into eeprom so it can be restored it module is damaged.