these are the codes i've tried, i attach a image of the wiring
/***************************************************
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>
int getFingerprintIDez();
// pin #2 is IN from sensor (GREEN wire)
// pin #3 is OUT from arduino (WHITE wire)
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);
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) 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;
}
#include <SoftwareSerial.h>
#include <FPM.h>
// a sketch to stream fingerprint images to a PC over Serial
// a python script is provided to work in conjunction with this sketch
FPM finger;
void setup()
{
Serial.begin(57600);
Serial1.begin(57600);
if (finger.begin(&Serial1)) {
Serial.println("Found fingerprint sensor!");
Serial.print("Capacity: "); Serial.println(finger.capacity);
Serial.print("Packet length: "); Serial.println(finger.packetLen);
} else {
Serial.println("Did not find fingerprint sensor :(");
while (1);
}
sendtoPC();
}
void loop() {
}
void sendtoPC(){
set_packet_len();
delay(100);
int p = -1;
Serial.println("Waiting for a finger...");
while (p != FINGERPRINT_OK){
p = finger.getImage();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image taken");
break;
case FINGERPRINT_NOFINGER:
Serial.println(".");
break;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
break;
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
break;
default:
Serial.println("Unknown error");
break;
}
}
p = finger.downImage();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Streaming image...");
break;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return;
case FINGERPRINT_UPLOADFAIL:
Serial.println("Cannot transfer the image");
return;
}
Serial.write('\t'); // to indicate start of image stream to PC
bool last = true;
int count = 0;
while (true){
bool ret = finger.readRaw(&Serial, STREAM_TYPE, &last);
if (ret){
count++;
if (last)
break;
}
else {
Serial.print("Error receiving packet ");
Serial.println(count);
return;
}
}
Serial.print(count * finger.packetLen); Serial.println(" bytes read");
Serial.println("Image stream complete");
}
void set_packet_len(void){
uint8_t param = SET_PACKET_LEN; // Example
uint8_t value = PACKET_128;
int p = finger.setParam(param, value);
switch (p){
case FINGERPRINT_OK:
Serial.println("Packet length set to 128 bytes");
break;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Comms error");
break;
case FINGERPRINT_INVALIDREG:
Serial.println("Invalid settings!");
break;
default:
Serial.println("Unknown error");
}
}
