///////////////////////////////////////////////////////////// //Provided By:- AnniBot @YouTube // //https://www.youtube.com/channel/UCixk9O30wns03_rd--LL2KA // ///////////////////////////////////////////////////////////// #include int door = 2; #if (defined(__AVR__) || defined(ESP8266)) && !defined(__AVR_ATmega2560__) // #include SoftwareSerial mySerial(0, 1); #else #define mySerial Serial1 #endif Adafruit_Fingerprint finger = Adafruit_Fingerprint(&Serial1); void setup() { // Serial1.setTX(16);// if not using default TX // Serial1.setRX(17);// if not using default RX Serial1.begin(9600); // while (!Serial); // For Yun/Leo/Micro/Zero/... delay(100); finger.begin(57600); delay(5); if (finger.verifyPassword()) { } else { while (1) { delay(1); } } finger.getParameters(); finger.getTemplateCount(); if (finger.templateCount == 0) { } else { } pinMode(door,OUTPUT); } void loop() // run over and over again { getFingerprintID(); delay(50); //don't ned to run this at full speed. } uint8_t getFingerprintID() { uint8_t p = finger.getImage(); switch (p) { case FINGERPRINT_OK: break; case FINGERPRINT_NOFINGER: delay(500); return p; case FINGERPRINT_PACKETRECIEVEERR: return p; case FINGERPRINT_IMAGEFAIL: return p; default: return p; } 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.fingerSearch(); if (p == FINGERPRINT_OK) { } else if (p == FINGERPRINT_PACKETRECIEVEERR) { return p; } else if (p == FINGERPRINT_NOTFOUND) { return p; } else { return p; } digitalWrite(door,HIGH); delay(1000); digitalWrite(door,LOW); return finger.fingerID; } 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; return finger.fingerID; }