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>
- int powerbutton = 4; //Set to 1 to trigger power button
- int powerstatus = 5; //1 When computer is on, otherwise 0
- int getFingerprintIDez();
- // pin #2 is IN from sensor (GREEN wire)
- // pin #3 is OUT from arduino (WHITE wire)
- SoftwareSerial mySerial(8, 9);
- 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/...
- pinMode(powerstatus, INPUT);
- pinMode(powerbutton, OUTPUT);
- digitalWrite(powerbutton, LOW);
- Serial.begin(9600);
- Serial.println("Adafruit 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);
- }
- Serial.println("Waiting for valid finger...");
- }
- void loop() // run over and over again
- {
- int id = getFingerprintIDez();
- if (id > -1)
- {
- if (digitalRead(powerstatus) == 0)
- {
- Serial.println("on!");
- digitalWrite(powerbutton, 1);
- delay(250);
- digitalWrite(powerbutton, 0);
- }
- else
- {
- Serial.println("Computer's already on");
- }
- }
- delay(100); //don't need 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) 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;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement