fingerprint sensor led light

i work on a time attendance project and i need to use a fingerprint sensor
i have 2 questions
1- when i begin the fingerprint sensor it does not light up
how can i light it up to read the finger image
2- if i change the password how to use the new password if the verifypassword only takes a void parameter [finger.verifyPassword()]?
thanks for your help

How do you know it does not light up? The finger print sensor on my old HP laptop uses an IR led for light to read the finger print. Yes, a white LED lights up, but that is NOT what reads the finger print.

Paul

thanks for replying
the data sheet says it must be lit up to detect the presence of a finger

fidamon:
the fingerprint sensor

Maybe you could provide details of "the" sensor along with the code you used and links to any libraries.

thanks anthony for replying
the fingerprint senseor is a china made zfm fingerprint sensor (that is what we can get in egypt)
Attached a datasheet and enroll arduino example from adafruit which i used

fingerprint_en.pdf (23.3 KB)

enroll.ino (5.89 KB)

What's the type number of that scanner?
Complete data sheet would also be useful.

thank you for replying
the datacheet , the code and the result are all attached to my last reply

fidamon:
the datacheet , the code and the result are all attached to my last reply

There's a single page pdf which appears to be part of a datasheet. Not a complete data sheet. No type number, either.

Without unambiguous identification of the sensor in question this thread is dead in the water.

/***************************************************
This is an example sketch for our optical Fingerprint sensor

Designed specifically to work with the Adafruit BMP085 Breakout
----> Fingerprint sensor : ID 751 : $49.95 : Adafruit Industries, Unique & fun DIY electronics and kits

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>

// On Leonardo/Micro or others with hardware serial, use those! #0 is green wire, #1 is white
// uncomment this line:
// #define mySerial Serial1

// 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)
// comment these two lines if using hardware serial
SoftwareSerial mySerial(2, 3);

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

uint8_t id;

void setup()
{
Serial.begin(9600);
while (!Serial); // For Yun/Leo/Micro/Zero/...
delay(100);
Serial.println("\n\nAdafruit Fingerprint sensor enrollment");

// set the data rate for the sensor serial port
finger.begin(57600);
uint8_t Q = finger.verifyPassword();
if (Q == FINGERPRINT_OK) {
Serial.println("Found fingerprint sensor!");
} else {
Serial.println("Did not find fingerprint sensor :(");
while (1) { delay(1); }
}
}

uint8_t readnumber(void) {
uint8_t num = 0;

while (num == 0) {
while (! Serial.available());
num = Serial.parseInt();
}
return num;
}

void loop() // run over and over again
{
Serial.println("Ready to enroll a fingerprint!");
Serial.println("Please type in the ID # (from 1 to 127) you want to save this finger as...");
id = readnumber();
if (id == 0) {// ID #0 not allowed, try again!
return;
}
Serial.print("Enrolling ID #");
Serial.println(id);

while (! getFingerprintEnroll() );
}
// uint8_t G=finger.FLASHERR();
// Serial.println(G);
uint8_t getFingerprintEnroll() {

int p = -1;
Serial.print("Waiting for valid finger to enroll as #"); Serial.println(id);
while (p != FINGERPRINT_OK) {
p = finger.getImage();
//Serial.println(p);
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();
}
Serial.print("ID "); Serial.println(id);
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!
Serial.print("Creating model for #"); Serial.println(id);

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;
}
}

datasheet

Thank you for the data sheet.

Now tell us how you have the sensor wired to a power supply that can supply more than 150ma.

Paul

Paul_KD7HB:
Thank you for the data sheet.

Now tell us how you have the sensor wired to a power supply that can supply more than 150ma.

Paul

is that the problem ?
is the power from arduino 5v not enough ?

i use arduino nano

fidamon:
is that the problem ?
is the power from arduino 5v not enough ?

i use arduino nano

40ma is a world away from the 150ma that the device requires. Read the data sheets!!!!!

'
Paul

thank you very much
i will try another power source
forgive me not reading carefully it is because of an injury in my left eye
thanks again

fidamon:
is the power from arduino 5v not enough ?

i use arduino nano

How is the Nano powered?

wvmarle:
How is the Nano powered?

.
How is the Nano powered?

it is powered from pc usb

i added another extra USB power to the fingerprint
the same problem no change

fidamon:
i added another extra USB power to the fingerprint
the same problem no change

Are the grounds of the new supply connected to the grounds of the sensor and the ARduino?

Paul

yes
and i reviwed the code
found that it is
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println(FINGERPRINT_PACKETRECIEVEERR);
Serial.println("Communication error");
that means there is an error in the packet sent by arduino ??

Problem Solved
thank you all

fidamon:
Problem Solved
thank you all

What was the solution to the problem? Someone else with a similar problem may find your thread while searching the forum.

Paul