Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /***************************************************
- 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
- ****************************************************/
- #include <Adafruit_Fingerprint.h>
- #include <SoftwareSerial.h>
- #include<stdint.h>
- int getFingerprintIDez();
- int pinRelay =12;
- //DECLARE SOLENOID
- const int relay1Pin = 7;
- //DECLARE BUZZER
- const int relay2Buz = 8;
- // pin #2 is IN from sensor (GREEN wire)
- // pin #3 is OUT from arduino (WHITE wire)
- SoftwareSerial mySerial(A1, A2);
- Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
- // On Leonardo/Micro or others with hardware serial, use those! #0 is green wire, #1 is white
- //Adafruit_Fingerprint finger = Adafruit_Fingerprint(&Serial1);
- void setup()
- {
- while (!Serial); // For Yun/Leo/Micro/Zero/...
- Serial.begin(9600);
- Serial.println("Adafruit finger detect test");
- // set the data rate for the sensor serial port
- finger.begin(57600);
- // SET PIN AS OUTPUT
- pinMode(pinRelay, OUTPUT);
- pinMode(relay1Pin, OUTPUT);
- pinMode(relay2Buz, OUTPUT);
- //DEACTIVATE THE BUZZER
- digitalWrite(relay2Buz,LOW);
- //LOCK THE SOLENOID
- digitalWrite(relay1Pin, HIGH);
- if (finger.verifyPassword()) {
- Serial.println("Found fingerprint sensor!");
- } else {
- Serial.println("Did not find fingerprint sensor :(");
- while (1);
- }
- Serial.println("Waiting for valid finger...");
- }
- void loop() // run over and over again
- {
- getFingerprintIDez();
- delay(50); //don't ned to run this at full speed.
- }
- 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);
- }
- // 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)
- {
- digitalWrite (relay2Buz, HIGH);
- delay(10000);
- digitalWrite(relay2Buz, LOW);
- return -1;
- }
- }
- // found a match!
- Serial.print("Found ID #");
- Serial.print(finger.fingerID);
- Serial.print(" with confidence of ");
- Serial.println (finger.confidence);
- digitalWrite (relay1Pin, LOW);
- digitalWrite (pinRelay, HIGH);
- return finger.fingerID;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement