Skip to content

Instantly share code, notes, and snippets.

@OwiseKyawMinOo
Created October 3, 2018 06:22
Show Gist options
  • Save OwiseKyawMinOo/b8960d44d91185f216ba087f03a20e6a to your computer and use it in GitHub Desktop.
Save OwiseKyawMinOo/b8960d44d91185f216ba087f03a20e6a to your computer and use it in GitHub Desktop.
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
#include<LiquidCrystal.h>
LiquidCrystal lcd={A0,A1,A2,A3,A4,A5};
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
int r=8,r1=9;
int buzzer=10;
void setup()
{
pinMode(r,OUTPUT);
pinMode(r1,OUTPUT);
pinMode(buzzer,OUTPUT);
lcd.begin(16,2);
Serial.begin(9600);
while (!Serial);
delay(100);
Serial.println("\n\nAdafruit finger detect test");
// 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); }
}
finger.getTemplateCount();
Serial.print("Sensor contains "); Serial.print(finger.templateCount); Serial.println(" templates");
Serial.println("Waiting for valid finger...");
}
void loop() // run over and over again
{
getFingerprintIDez();
getFingerprintIDezN();
delay(50);//don't ned to run this at full speed.
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(buzzer,LOW);
lcd.clear();
lcd.setCursor(4,0);
lcd.print("welcome! ");
delay(1000);
}
uint8_t getFingerprintID() {
uint8_t p = finger.getImage();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image taken");
break;
case FINGERPRINT_NOFINGER:
Serial.println("No finger detected");
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return p;
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
return p;
default:
Serial.println("Unknown error");
return p;
}
// OK success!
p = finger.image2Tz();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image converted");
break;
case FINGERPRINT_IMAGEMESS:
Serial.println("Image too messy");
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return p;
case FINGERPRINT_FEATUREFAIL:
Serial.println("Could not find fingerprint features");
return p;
case FINGERPRINT_INVALIDIMAGE:
Serial.println("Could not find fingerprint features");
return p;
default:
Serial.println("Unknown error");
return p;
}
// OK converted!
p = finger.fingerFastSearch();
if (p == FINGERPRINT_OK) {
Serial.println("Found a print match!");
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
} else if (p == FINGERPRINT_NOTFOUND) {
Serial.println("Did not find a match");
return p;
} else {
Serial.println("Unknown error");
return p;
}
// found a match!
Serial.print("Found ID #"); Serial.print(finger.fingerID);
Serial.print(" with confidence of "); Serial.println(finger.confidence);
return finger.fingerID;
}
// 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(8,LOW);
digitalWrite(9,HIGH);
//delay(3000);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Right Finger");
lcd.setCursor(3,1);
lcd.print("Open Lock");
delay(1000);
delay(10000);
digitalWrite(buzzer,LOW);
Serial.print("Found ID #"); Serial.print(finger.fingerID);
Serial.print(" with confidence of "); Serial.println(finger.confidence);
return finger.fingerID;
}
int getFingerprintIDezN() {
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;
// COULD NOTfound a match!
lcd.clear();
lcd.setCursor(2,0);
lcd.print("wrong finger");
delay(1000);
digitalWrite(buzzer,HIGH);
delay(3000);
digitalWrite(buzzer,LOW);
Serial.print("Found ID #"); Serial.print(finger.fingerID);
Serial.print(" with confidence of "); Serial.println(finger.confidence);
return finger.fingerID;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment