0

Arduino Fingerprint scanner project
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Arduino Fingerprint scanner project

by lawrencefla on Tue Feb 05, 2013 1:16 pm

Hello, I was wondering is there a kit for the Fingerprint scanner project? If not which type of Arduino board do i need and what other components do I need to buy in order to do the project?
lawrencefla
 
Posts: 11
Joined: Tue Feb 05, 2013 12:58 pm

Re: Arduino Fingerprint scanner project

by adafruit_support_bill on Tue Feb 05, 2013 3:12 pm

Are you referring to this tutorial? http://learn.adafruit.com/adafruit-opti ... th-arduino
On the right side of the screen there are links to the Fingerprint Sensor, Arduino UNO, and jumper wires used in the tutorial.

The Lock-Box project has a parts list here, with links to the parts available from our store: http://learn.adafruit.com/biometric-security-box/parts

adafruit_support_bill
 
Posts: 51170
Joined: Sat Feb 07, 2009 10:11 am

Re: Arduino Fingerprint scanner project

by lawrencefla on Tue Feb 05, 2013 3:24 pm

Thank you very much that is what I needed. If I wanted to connect a cell phone to the same project to be able to unlock the box via text is that possible by using only one Arduino board? Or do you all already have a kit similar as such?
lawrencefla
 
Posts: 11
Joined: Tue Feb 05, 2013 12:58 pm

Re: Arduino Fingerprint scanner project

by adafruit_support_bill on Tue Feb 05, 2013 3:41 pm

That sounds like a great project! You would probably need something like a GPRS/GSM shield. We don't have any firsthand experience with that shield so we don't have a tutorial for that. There is some good information on it here: http://labs.arduino.cc/GPRS/Index

adafruit_support_bill
 
Posts: 51170
Joined: Sat Feb 07, 2009 10:11 am

Re: Arduino Fingerprint scanner project

by lawrencefla on Tue Feb 05, 2013 7:30 pm

Thanks last questions here, I looked at the suggested Arduino board for the lock box project could I instead use the Arduino Uno R3? If not, if I order the suggested one could It come assembled already?
lawrencefla
 
Posts: 11
Joined: Tue Feb 05, 2013 12:58 pm

Re: Arduino Fingerprint scanner project

by adafruit_support_bill on Tue Feb 05, 2013 8:13 pm

An UNO-R3 will work fine for that project. If you are going to add the GPRS/GSM shield, I'd suggest using a larger box than the one in the example. There isn't enough room to stack a shield inside the false-lid on the 4x6 card file. But Vaultz and similar boxes come in a variety of sizes.

adafruit_support_bill
 
Posts: 51170
Joined: Sat Feb 07, 2009 10:11 am

Re: Arduino Fingerprint scanner project

by lawrencefla on Tue Feb 19, 2013 10:04 pm

Finally starting to try and do the fingerprint scanner project but currently running into a few problems. One problem is when I hook up the fingerprint scanner directly into the Arduino board the red light of the scanner comes on for only a fraction of a second. i have the Red wire-5V pin, Black wire- Gnd, White wire- Pin 3 and Green wire to Pin 2.

The second problem have encountred is loading the correct library i guess. The libary i loaded was the Adafruit_fingerprint.cpp but when i try and upload it to my Arduino Uno board i recieve this error:

core.a(main.cpp.o): In function `main':
C:\Users\Guest\Downloads\arduino-1.0.3-windows\arduino-1.0.3\hardware\arduino\cores\arduino/main.cpp:11: undefined reference to `setup'
C:\Users\Guest\Downloads\arduino-1.0.3-windows\arduino-1.0.3\hardware\arduino\cores\arduino/main.cpp:14: undefined reference to `loop'
lawrencefla
 
Posts: 11
Joined: Tue Feb 05, 2013 12:58 pm

Re: Arduino Fingerprint scanner project

by adafruit_support_bill on Tue Feb 19, 2013 10:27 pm

Does the SFGDemo utility connect to the scanner?

The libary i loaded was the Adafruit_fingerprint.cpp but when i try and upload it to my Arduino Uno board i recieve this error:

You don't want to load the library. It wont compile by itself. You want to load one of the example sketches that uses it.

adafruit_support_bill
 
Posts: 51170
Joined: Sat Feb 07, 2009 10:11 am

Re: Arduino Fingerprint scanner project

by lawrencefla on Tue Feb 19, 2013 10:45 pm

I am unfamiliar with the SFGdemo. This is my first time doing an Arduino project. Had gotten a little lost with the fingerprint enrolment video from adafruit at the part it instructs about the library.
lawrencefla
 
Posts: 11
Joined: Tue Feb 05, 2013 12:58 pm

Re: Arduino Fingerprint scanner project

by adafruit_support_bill on Wed Feb 20, 2013 9:31 am

The SFGDemo utility is the windows download on the downloads tab by the product description. Unfortunately, the instructions for it seem to have been dropped from the new tutorial.

If you open File->Examples, there should be an entry for the fingerprint library and the example sketches. If you can compile one of those, your library is installed properly.

adafruit_support_bill
 
Posts: 51170
Joined: Sat Feb 07, 2009 10:11 am

Re: Arduino Fingerprint scanner project

by atulpatidar on Mon Sep 21, 2015 11:49 am

I am trying the use this finger print scanner with teensy 3.1 and getting the following error---
enroll.ino: In function 'uint8_t getFingerprintEnroll(int)':
enroll.ino:199:1: warning: control reaches end of non-void function [-Wreturn-type]

I am trying to make some changes to the library of arduino to work with teensy 3.1. Please provide some suggestions for where to start making changes in the library.

Thanks

atulpatidar
 
Posts: 2
Joined: Mon Sep 21, 2015 11:45 am

Re: Arduino Fingerprint scanner project

by atulpatidar on Mon Sep 21, 2015 5:43 pm

I was able to solve the previous problem; also now the error is --Did not find fingerprint sensor :( while using the teensy3.1. I am using the following code. I tried using all the serial pins on teensy still was not able to connect. Let me know if I am doing any mistake in the code. Thank you



#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
#define rxPin 9
#define txPin 10
uint8_t getFingerprintEnroll(int id);


// pin #0 is IN from sensor (GREEN wire)
// pin #1 is OUT from arduino (WHITE wire)

SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin);
byte pinState = 0;
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

void setup()
{
pinMode(rxPin, INPUT);
pinMode(txPin, OUTPUT);
Serial.begin(9600);
Serial.println("fingertest");

// set the data rate for the sensor serial port
finger.begin(9600);

if (finger.verifyPassword()) {
Serial.println("Found fingerprint sensor!");
} else {
Serial.println("Did not find fingerprint sensor :(");
while (1);
}
}

void loop() // run over and over again
{
Serial.println("Type in the ID # you want to save this finger as...");
int id = 0;
while (true) {
while (! Serial.available());
char c = Serial.read();
if (! isdigit(c)) break;
id *= 10;
id += c - '0';
}
Serial.print("Enrolling ID #");
Serial.println(id);

while (! getFingerprintEnroll(id) );
}

uint8_t getFingerprintEnroll(int id) {
int p = -1;
Serial.println("Waiting for valid finger to enroll");
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;
}
}

// OK success!

p = finger.image2Tz(1);
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;
}

Serial.println("Remove finger");
delay(2000);
p = 0;
while (p != FINGERPRINT_NOFINGER) {
p = finger.getImage();
}

p = -1;
Serial.println("Place same finger again");
while (p != FINGERPRINT_OK) {
p = finger.getImage();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image taken");
break;
case FINGERPRINT_NOFINGER:
Serial.print(".");
break;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
break;
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
break;
default:
Serial.println("Unknown error");
break;
}
}

// OK success!

p = finger.image2Tz(2);
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.createModel();
if (p == FINGERPRINT_OK) {
Serial.println("Prints matched!");
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
} else if (p == FINGERPRINT_ENROLLMISMATCH) {
Serial.println("Fingerprints did not match");
return p;
} else {
Serial.println("Unknown error");
return p;
}

Serial.print("ID "); Serial.println(id);
p = finger.storeModel(id);
if (p == FINGERPRINT_OK) {
Serial.println("Stored!");
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
} else if (p == FINGERPRINT_BADLOCATION) {
Serial.println("Could not store in that location");
return p;
} else if (p == FINGERPRINT_FLASHERR) {
Serial.println("Error writing to flash");
return p;
} else {
Serial.println("Unknown error");
return p;
}
}

atulpatidar
 
Posts: 2
Joined: Mon Sep 21, 2015 11:45 am

Please be positive and constructive with your questions and comments.