Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 3

#include <Adafruit_Fingerprint.

h>
#include <SoftwareSerial.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // set the LCD
address to 0x27 for a 16 chars and 2 line display
SoftwareSerial mySerial(2, 3);
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
int getFingerprintIDez();

void setup()
{
pinMode(9, OUTPUT); //Door Lock using fingerprint finger
pinMode(13, OUTPUT); //blue
pinMode(12, OUTPUT); //green
pinMode(11, OUTPUT); //red
pinMode(10, OUTPUT); //buzzer
Serial.begin(9600);
while (!Serial);
delay(100);

lcd.begin(16,2); // initialize the lcd


lcd.init();
// Print a message to the LCD.
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Fingerprint ");
lcd.setCursor(0, 1);
lcd.print("lock by prateek");
digitalWrite(13, HIGH); //blue
digitalWrite(12, LOW);//green
digitalWrite(11, LOW);//red
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(2000);

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() // run over and over again


{
getFingerprintIDez();
delay(50); //don't need to run this at full speed.
}

// returns -1 if failed, otherwise returns ID #


int getFingerprintIDez() {
uint8_t p = finger.getImage();
if (p != FINGERPRINT_OK) {
lcd.setCursor(0, 0);
lcd.print(" Waiting For");
lcd.setCursor(0, 1);
lcd.print(" Valid Finger");
digitalWrite(13, HIGH); //blue
return -1;
}
p = finger.image2Tz();
if (p != FINGERPRINT_OK) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" Messy Image");
lcd.setCursor(0, 1);
lcd.print(" Try Again");
delay(3000);
lcd.clear();
return -1;
}
p = finger.fingerFastSearch();
if (p != FINGERPRINT_OK) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Not Valid Finger");
digitalWrite(13, LOW); //blue
digitalWrite(12, LOW);//green
digitalWrite(11, HIGH);//red
tone(10,5000,2000);
delay(3000);
digitalWrite(11, LOW);//yellow
lcd.clear();
return -1;
}
Serial.print("Found ID #"); Serial.print(finger.fingerID);
Serial.print(" with confidence of "); Serial.println(finger.confidence);
if(finger.fingerID==5 ){
lcd.clear();
lcd.setCursor(4, 0);
lcd.print("Welcome");
lcd.setCursor(2, 1);
lcd.print("soran huseein");
digitalWrite(9, HIGH);//Door Lock using fingerprint finger
digitalWrite(13, LOW); //blue
digitalWrite(12, HIGH);//green
digitalWrite(11, LOW); //red
tone(10,50,2000);
delay(3000);
digitalWrite(9, LOW); //Door Lock using fingerprint finger
digitalWrite(12, LOW); //green
lcd.clear();}
else if (finger.fingerID==8){
lcd.clear();
lcd.setCursor(4, 0);
lcd.print("Welcome");
lcd.setCursor(3, 1);
lcd.print("saman omer");
digitalWrite(9, HIGH);//Door Lock using fingerprint finger
digitalWrite(13, LOW); //blue
digitalWrite(12, HIGH);//green
digitalWrite(11, LOW); //red
tone(10,50,2000);
delay(3000);
digitalWrite(9, LOW); //Door Lock using fingerprint finger
digitalWrite(12, LOW); //green
lcd.clear();
}else if (finger.fingerID=8){
lcd.clear();
lcd.setCursor(4, 0);
lcd.print("Welcome");
lcd.setCursor(5, 1);
lcd.print("name !");
digitalWrite(9, LOW); // Door Lock using fingerprint finger
digitalWrite(13, LOW); //blue
digitalWrite(12, HIGH);//green
digitalWrite(11, LOW); //red
tone(10,7500,2000);
delay(3000);
digitalWrite(12, LOW); //green
lcd.clear();}
return finger.fingerID;
}

You might also like