Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save punietis/8016180 to your computer and use it in GitHub Desktop.
Save punietis/8016180 to your computer and use it in GitHub Desktop.
Using Sparkfun's Fingerprint Scanner - 5V TTL (GT-511C1), a servo motor, and some LEDs, a code that allows you to move the servo based on the validity of the fingerprint.
// Sweep code by BARRAGAN http://barraganstudio.com/
// Blink code from Arduino examples
// PWM Servo library from http://arduiniana.org/libraries/pwmservo/
// Fingerprint Scanner library, partial fingerprint identity test, along with hardware help from:
// http://wordpress.hawleyhosting.com/ramblings/?p=375
// Code help from Ms. Natalie Freed
#include "FPS_GT511C3.h"
#include "SoftwareSerial.h"
#include <PWMServo.h>
PWMServo myservo;
int pos = 60;
const int yellow = 13;
const int green = 12;
const int red = 11;
FPS_GT511C3 fps(3, 2);
void setup()
{
Serial.begin(9600);
delay(100);
fps.Open();
fps.SetLED(true);
myservo.attach(SERVO_PIN_A);
myservo.write(pos);
pinMode(yellow, OUTPUT);
pinMode(green, OUTPUT);
pinMode(red, OUTPUT);
digitalWrite(red, HIGH);
digitalWrite(yellow, LOW);
digitalWrite(green, LOW);
}
void loop()
{
if (fps.IsPressFinger()) // fingerprint identity test
{
digitalWrite(red, HIGH);
digitalWrite(yellow, LOW);
digitalWrite(green, LOW);
myservo.write(60);
fps.CaptureFinger(false);
int id = fps.Identify1_N();
if (id <200) // if the fingerprint is correct
{
myservo.write(pos);
Serial.print("Verified ID:");
Serial.println(id);
for(pos = 60; pos < 90; pos += 1) // servo moving
{
myservo.write(pos);
delay(250);
if (pos == 60) // LEDs
{
digitalWrite(red, HIGH);
digitalWrite(yellow, LOW);
digitalWrite(green, LOW);
}
if (pos < 75)
{
digitalWrite(red, LOW);
digitalWrite(yellow, HIGH);
digitalWrite(green, LOW);
}
if (pos >= 75)
{
digitalWrite(red, LOW);
digitalWrite(yellow, LOW);
digitalWrite(green, HIGH);
}
}
digitalWrite(red, HIGH);
digitalWrite(yellow, LOW);
digitalWrite(green, LOW);
pos = 60;
myservo.write(pos);
}
else
{
Serial.println("Finger not found");
}
}
else
{
Serial.println("Please press finger");
}
delay(100);
}
@sagorsarker
Copy link

Can i use FPS_GT511C3.h library for FPS GT-511C1 and does it works?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment