

pin #3 is OUT from arduino (WHITE wire)Īdafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial) Working Example ->Adafruit_Fingerprint→fingerprint.Can set the security level and baud rate flexibility.There is already some libraries to help your using this sensor with Arduino, such as the adafruit fingerprint library. As the usage, the fingerprint is really easy to use with the serial UART. You can also enroll new fingers directly - up to 120 finger prints can be stored in the onboard FLASH memory. Connect to any microcontroller or system with TTL serial, and send packets of data to take photos, detect prints, hash and search. These modules are typically used in safes - there's a high powered DSP chip AS601 that does the image rendering, calculation, feature-finding and searching. I assume that the 'a4' message, when it indicates a valid print, will have the 'c' value in the buffer somewhere.This all-in-one optical fingerprint sensor will make adding fingerprint detection and verification super simple. 'a6' is sent which says it has a 6 byte payload but only the first three are included in the array.Ġx0F+c (the checksum which changes with message contents. The first 9 bytes of 'a1' are sent followed by 0x05, 0x00, 0x09 (which makes it identical to 'a7') 'a3' is set second and appears to be a verification that the same fingerprint is read twice. The result is in the 10th byte of the return message: 'a4' is sent to check the validity of the print. I think it moves the fingerprint to a scratch buffer. 'a3' seems to be sent when a finger is detected. It is sent repeatedly until the 10th byte of the returned message is 0 or the loop has run 255 times. 'a2' seems to be checking for a fingerprint. 'a1' is sent right after the program displays "BAUD RATE 9600" so I expect it is setting the baud rate. It is sent 5 times with 1.2-second delays between at the start of the program. 'a' has something to do with initializing the com port. Note that 'a3' and 'a5' are the same type with different parameter values. The byte after the payload size is most likely a message type. That's because those last three bytes are not constants. You will note that 'a6' says the payload size is 6 but only 3 more bytes are in the array. It indicates how many more bytes are in the message. The byte after the header appears to be the payload size. You should find the message formats in the datasheet. Note that they all start with the same header:Ġxef, 0x01, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00 Those appear to be command packets for the fingerprint reader. Is this command of fingerprints or address to get the fingerprint methods ? I am not clear about this. In finger.c file there are hard coded arrays.
