Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] The problem with sm 630 fingerprint module and avr

Status
Not open for further replies.

smtajvidi

Newbie level 5
Newbie level 5
Joined
Sep 6, 2013
Messages
10
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
76
Hi.
I have a problem with sm 630 fingerprint module and atmega 32.

I work with code vision AVR . I can add one fingerprint at the position 0. I can add fingerprint at the position 0 with the page 15 of datasheet.

https://www.robokits.co.in/datasheets/SM-630.pdf.

But I don't know about add fingerprint at the other positions.:-(
Just say me about the commands for add fingerprint at the other positions.

Please help me... .
Thanks.
 
Last edited by a moderator:

In the command example given on page 15, the highlighted bytes below are the high and low byte (respectively) of the fingerprint position
0x4D + 0x58 + 0x10 + 0x03 + 0x40 + 0x00 + 0x00 + 0xF8

see section 4.3 and page 13 of datasheet

use this command to add finger print at position 1
0x4D + 0x58 + 0x10 + 0x03 + 0x40 + 0x00 + 0x01 + 0xF9
and this command to add finger print at position 2
0x4D + 0x58 + 0x10 + 0x03 + 0x40 + 0x00 + 0x02 + 0xFA
and for position 3
0x4D + 0x58 + 0x10 + 0x03 + 0x40 + 0x00 + 0x03 + 0xFB

and so on .....

Note that checksum (last byte) also changes
 
Thank you so much
:grin:
 
Last edited:

Hi.

For search fingerprint:

I saw the page 18 of datasheet .. But I want search "n" fingerprints starting from "m";

For example I saved 5 fingerprints .Now, I want search "5" fingerprints starting from 0 or starting from "2";

Just say me about the commands for Searching ..

Thanks.
 
Last edited by a moderator:

For example I saved 5 fingerprint .Now, I want search "5" fingerprints starting from 0;
to do this, you can use this command
0x4D + 0x58 + 0x10 + 0x05 + 0x44 + 0x00 + 0x00 + 0x00 + 0x05 + 0x03
and to search starting from 2, use this one
0x4D + 0x58 + 0x10 + 0x05 + 0x44 + 0x00 + 0x02 + 0x00 + 0x03 + 0x03

Note that in the latter, you search for 3 fingerprints as total saved prints are 5 and you are starting from 2
(see page 16 of datasheet)
 
Please notic :
The last command is check sum.

Ok thank you
 
Last edited:

My problem is solving!

Thank you ... I will test!
 
Last edited:

I have a new problem...
When I send command to the module, I don't see any answer!!!

putchar(0x4D);
putchar(0x58);
putchar(0x10);
putchar(0x05);
putchar(0x44);
putchar(0x00);
putchar(0x00);
putchar(0x00);
putchar(0x03);
putchar(0x01);
.
.
.
//get char commands with the page 18 of datasheet.

But No answer . Should me use the codes of the page 12 of datasheet after codes are listed? (end of page 12, codes for error or correct commands)
I sure that codes are listed are correct. Because I see correct code after codes are listed. (End of page 12)

While I can saved fingerprint in the all positions and I see the true answers and the command of add fingerprint successful!

- - - Updated - - -

Please help me
 
Last edited:

when you send this command, you need to place your finger on the sensor. If fingerprint is found in saved fingerprints, sensor should response fp id otherwise it will response with fp not found
if you dont place the finger after this command, sensor should give timeout error. you need to wait a bit

if you don't get any response even after sometime, check your hardware and sensor module's responsiveness by sending some other commands, for example, add fingerprint command.

PS. I have never actually used this or similar sensor. i have been giving you these answers just by reading the datasheet.
 
when I place my finger on the sensor , I don't see any answer! Please say me about place of "delay" in the source code.

- - - Updated - - -

thanks for your answer

- - - Updated - - -

lcd_clear();
lcd_putsf("Please press your finger");
delay_ms(5000);

putchar(0x4D);
putchar(0x58);
putchar(0x10);
putchar(0x05);
putchar(0x44);
putchar(0x00);
putchar(0x00);
putchar(0x00);
putchar(0x03);
putchar(0x01);








delay_ms(1);


a1=getchar();

delay_ms(1);
a2=getchar();
delay_ms(1);
a3=getchar();
delay_ms(1);
a4=getchar();
delay_ms(1);
a5=getchar();
delay_ms(1);

a6=getchar();
delay_ms(1);

a7=getchar();

delay_ms(1);

if(a1==0x4D)
if(a2==0x58)
if(a3==0x30)
if(a4==0x02)
if(a5==0x44)
if(a6==0x31)
if(a7==0x4C)
{








a1=getchar();

delay_ms(1);
a2=getchar();
delay_ms(1);
a3=getchar();
delay_ms(1);
a4=getchar();
delay_ms(1);
a5=getchar();
delay_ms(1);

a6=getchar();
delay_ms(1);

a7=getchar();

delay_ms(1);
a8=getchar();

delay_ms(1);
a9=getchar();

delay_ms(1);
if(a1==0x4D)
if(a2==0x58)
if(a3==0x30)
if(a4==0x04)
if(a5==0x44)
if(a6==0x39)
if(a7==0x00)
if(a8==0x00)
if(a9==0xF8)
{
lcd_clear();
lcd_putsf("Position '0' found");
}


if(a1==0x4D)
if(a2==0x58)
if(a3==0x30)
if(a4==0x04)
if(a5==0x44)
if(a6==0x39)
if(a7==0x00)
if(a8==0x01)
if(a9==0xF9)
{
lcd_clear();
lcd_putsf("Position '1' found");
}

if(a1==0x4D)
if(a2==0x58)
if(a3==0x30)
if(a4==0x04)
if(a5==0x44)
if(a6==0x39)
if(a7==0x00)
if(a8==0x02)
if(a9==0xFA)
{
lcd_clear();
lcd_putsf("Position '2' found");
}

a1=getchar();

delay_ms(1);
a2=getchar();
delay_ms(1);
a3=getchar();
delay_ms(1);
a4=getchar();
delay_ms(1);
a5=getchar();
delay_ms(1);

a6=getchar();
delay_ms(1);

a7=getchar();

delay_ms(1);

if(a1==0x4D)
if(a2==0x58)
if(a3==0x30)
if(a4==0x02)
if(a5==0x44)
if(a6==0x3A)
if(a7==0x55)
{
lcd_clear();
lcd_putsf("Position unfound");




I don't see any answer after
lcd_clear();
lcd_putsf("Please press your finger");
delay_ms(5000);

.

help me please

- - - Updated - - -

I can add fingerprint and I see correct answer With this method (for add fingerprint).
 

you should see what sensor is sending after issuing the command
you can either display each character received from the sensor on LCD or send it to PC via serial port. Examine the response and then write your code.
 
Ok ... solved ... solved ... solved

Thanks for your help!
 
Last edited:

well that's good news -- Congratulations
it probably might be a good idea to post about what the actual problem was and how you solved it --- in case someone else runs into the same problem in future.

and please mark this thread as "SOLVED"
 
OK....
Please notice to the check sums and delays in the source code to avoid trouble!
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top