Fingerprint Scanner Shield acts as Arduino Shield via 1Sheeld

Buy 1Sheeld

Turn your smartphone into a Fingerprint Scanner shield for Arduino. Fingerprint Scanner library allows you to use your fingerprints for projects using simple authentication processes and take actions once a finger is detected/verified.

This shield helps you prototype simple projects using saved fingerprints on your smartphone, and it’s not recommended to use it in any security systems.

*Supported by IOS application only.

This shield is one of the special shields. Special shields allows your Arduino board to use some capabilities your smartphone can do, like playing music, taking a picture, getting notifications, accessing the clock data and using the touch screen for various functions. Learn more from the special shields tutorial.

Fingerprint Scanner library allows you to use your authentic “enrolled” fingerprints on your smarpthone to do certain tasks with the help of smartphones biometeric sensor.

Adding #define CUSTOM_SETTINGS along with #define INCLUDE_FINGERPRINT_SCANNER_SHIELD is a key that will let you unlock Fingerprint scanner shield only amongst all shields and prevent 1Sheeld library from eating your memory especially for UNO board.

Notes

-Please make sure to enroll fingers first by checking, Settings>>Touch ID & Passcode (for iPhone users).
-If you don’t want to unlock your phone using touch ID, don’t check the “iPhone Unlock” feature, but just make sure to “Turn Passcode On” (giving it a passcode for sure) to use it with 1Sheeld application(or with another applications) .
-The first three failed attempts will send to Arduino that an unverified finger was scanned (isVerified=false), while by the fifth failed attempt, the biometeric sensor will lock and you should enter the passcode to unlock it (entering the passcode should be on the smarpthone and cannot be sent from arduino).

 

bool isVerified(void)

Check if one of the enrolled fingers verified when scanned.

SYNTAX
FingerprintScanner.isVerified();

RETURN
A Yes ‘1’ or No ‘0’.

PARAMETERS
None.

USAGE
FingerprintScanner.isVerified();

 

bool isNewFingerScanned(void)

Check if a new finger was scanned.
The boolean will be set to true once finger is verified, or after three failed attempts occurred and the finger is unverified, so make sure to use this function along with isVerified() function.

SYNTAX
FingerprintScanner.isNewFingerScanned();

RETURN
A Yes ‘1’ or No ‘0’.

PARAMETERS
None.

USAGE
FingerprintScanner.isNewFingerScanned();

 

void scan(void)

Sends a scan to open the barometeric sensor and scan your fingerprint, or you can press the FingerprintScanner icon in the application to start scanning.

SYNTAX
FingerprintScanner.scan();

RETURN
None.

PARAMETERS
None.

USAGE
FingerprintScanner.scan();

 

void setOnNewFingerScanned(void (*userFunction)(bool))

Sets a certain individual function coded by the user in the sketch to be called and runs its functionality once a new verified finger is scanned or three failed attempts occurred.

SYNTAX
FingerprintScanner.setOnNewFingerScanned(&userFunctionName);

RETURN
None.

PARAMETERS
*userFunctionName: takes the physical address of the userFunction in the memory and jump to it once called to execute it’s functionality.

USAGE
FingerprintScanner.setOnNewFingerScanned(&newScannedFunction);
/* On new finger scanned function. */
void newScannedFunction(bool verified)
{
 /* Check if the finger is verified turn on the LED. */
 if(verified)
 {
    digitalWrite(ledPin,HIGH);
 }
}

 

void setOnError(void (*userFunction)(byte))

Sets a certain individual function coded by the user in the sketch to be called and runs its functionality once an error occurs while using fingerprint shield.

Literals

USER_CANCEL
USER_FALLBACK 
SYSTEM_CANCEL
PASSCODE_NOT_SET
TOUCHID_NOT_AVAILABLE
TOUCHID_NOT_ENROLLED
TOUCHID_LOCKOUT
APP_CANCEL
INVALID_CONTEXT

SYNTAX
FingerprintScanner.setOnError(&userFunctionName);

RETURN
None.

PARAMETERS
*userFunctionName: takes the physical address of the userFunction in the memory and jump to it once called to execute it’s functionality.

USAGE
/* Subscribe to setOnError. */
FingerprintScanner.setOnError(&errorFunction);
/* errorFunction exists under the loop function. */
/* This function will be invoked if an error occurrs.*/
void errorFunction(byte errorData)
{
 switch(errorData)
 {
 case USER_CANCEL: Terminal.println("User Cancel");break;
 case USER_FALLBACK: Terminal.println("User Fallback");break;
 case SYSTEM_CANCEL: Terminal.println("System Cancel");break;
 case PASSCODE_NOT_SET: Terminal.println("Passcode Not Set");break;
 case TOUCHID_NOT_AVAILABLE: Terminal.println("Touch ID not Available");break;
 case TOUCHID_NOT_ENROLLED: Terminal.println("Touch ID not Enrolled");break;
 case TOUCHID_LOCKOUT: Terminal.println("Touch Lock out");break;
 case APP_CANCEL: Terminal.println("App Canceled");break; 
 case INVALID_CONTEXT: Terminal.println("Invalid Context");break; 
 }
}