2020-11-11 11:35:41 +00:00
|
|
|
/***************************************************
|
2020-11-10 14:04:45 +00:00
|
|
|
This is an example sketch for our optical Fingerprint sensor
|
|
|
|
|
|
|
|
Designed specifically to work with the Adafruit Fingerprint sensor
|
|
|
|
----> http://www.adafruit.com/products/751
|
|
|
|
|
2020-11-11 11:35:41 +00:00
|
|
|
These displays use TTL Serial to communicate, 2 pins are required to
|
2020-11-10 14:04:45 +00:00
|
|
|
interface
|
2020-11-11 11:35:41 +00:00
|
|
|
Adafruit invests time and resources providing this open source code,
|
|
|
|
please support Adafruit and open-source hardware by purchasing
|
2020-11-10 14:04:45 +00:00
|
|
|
products from Adafruit!
|
|
|
|
|
2020-11-11 11:35:41 +00:00
|
|
|
Written by Limor Fried/Ladyada for Adafruit Industries.
|
2020-11-10 14:04:45 +00:00
|
|
|
BSD license, all text above must be included in any redistribution
|
|
|
|
****************************************************/
|
|
|
|
|
|
|
|
#include <Adafruit_Fingerprint.h>
|
|
|
|
|
|
|
|
|
2020-11-11 11:35:41 +00:00
|
|
|
#if (defined(__AVR__) || defined(ESP8266)) && !defined(__AVR_ATmega2560__)
|
2020-11-10 14:04:45 +00:00
|
|
|
// For UNO and others without hardware serial, we must use software serial...
|
|
|
|
// pin #2 is IN from sensor (GREEN wire)
|
|
|
|
// pin #3 is OUT from arduino (WHITE wire)
|
2020-11-11 11:35:41 +00:00
|
|
|
// Set up the serial port to use softwareserial..
|
2020-11-10 14:04:45 +00:00
|
|
|
SoftwareSerial mySerial(2, 3);
|
|
|
|
|
2020-11-11 11:35:41 +00:00
|
|
|
#else
|
|
|
|
// On Leonardo/M0/etc, others with hardware serial, use hardware serial!
|
|
|
|
// #0 is green wire, #1 is white
|
|
|
|
#define mySerial Serial1
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
2020-11-10 14:04:45 +00:00
|
|
|
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
|
|
|
|
|
2020-11-11 11:35:41 +00:00
|
|
|
void setup()
|
2020-11-10 14:04:45 +00:00
|
|
|
{
|
|
|
|
Serial.begin(9600);
|
|
|
|
while (!Serial); // For Yun/Leo/Micro/Zero/...
|
|
|
|
delay(100);
|
|
|
|
Serial.println("\n\nDelete Finger");
|
|
|
|
|
|
|
|
// set the data rate for the sensor serial port
|
|
|
|
finger.begin(57600);
|
2020-11-11 11:35:41 +00:00
|
|
|
|
2020-11-10 14:04:45 +00:00
|
|
|
if (finger.verifyPassword()) {
|
|
|
|
Serial.println("Found fingerprint sensor!");
|
|
|
|
} else {
|
|
|
|
Serial.println("Did not find fingerprint sensor :(");
|
|
|
|
while (1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
uint8_t readnumber(void) {
|
|
|
|
uint8_t num = 0;
|
2020-11-11 11:35:41 +00:00
|
|
|
|
2020-11-10 14:04:45 +00:00
|
|
|
while (num == 0) {
|
|
|
|
while (! Serial.available());
|
|
|
|
num = Serial.parseInt();
|
|
|
|
}
|
|
|
|
return num;
|
|
|
|
}
|
|
|
|
|
|
|
|
void loop() // run over and over again
|
|
|
|
{
|
|
|
|
Serial.println("Please type in the ID # (from 1 to 127) you want to delete...");
|
|
|
|
uint8_t id = readnumber();
|
|
|
|
if (id == 0) {// ID #0 not allowed, try again!
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
Serial.print("Deleting ID #");
|
|
|
|
Serial.println(id);
|
2020-11-11 11:35:41 +00:00
|
|
|
|
2020-11-10 14:04:45 +00:00
|
|
|
deleteFingerprint(id);
|
|
|
|
}
|
|
|
|
|
|
|
|
uint8_t deleteFingerprint(uint8_t id) {
|
|
|
|
uint8_t p = -1;
|
2020-11-11 11:35:41 +00:00
|
|
|
|
2020-11-10 14:04:45 +00:00
|
|
|
p = finger.deleteModel(id);
|
|
|
|
|
|
|
|
if (p == FINGERPRINT_OK) {
|
|
|
|
Serial.println("Deleted!");
|
|
|
|
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
|
|
|
|
Serial.println("Communication error");
|
|
|
|
return p;
|
|
|
|
} else if (p == FINGERPRINT_BADLOCATION) {
|
|
|
|
Serial.println("Could not delete in that location");
|
|
|
|
return p;
|
|
|
|
} else if (p == FINGERPRINT_FLASHERR) {
|
|
|
|
Serial.println("Error writing to flash");
|
|
|
|
return p;
|
|
|
|
} else {
|
|
|
|
Serial.print("Unknown error: 0x"); Serial.println(p, HEX);
|
|
|
|
return p;
|
2020-11-11 11:35:41 +00:00
|
|
|
}
|
2020-11-10 14:04:45 +00:00
|
|
|
}
|