电子说
步骤1:注册指纹并连接FPS传感器和LCD
请遵循adafruit教程http://www.adafruit.com/product/751中的说明,了解如何在注册过程中将指纹传感器连接到arduino。下载适用于Windows的软件并安装在您的计算机中。使用该软件注册指纹使该过程更加容易。
请确保将adafruit库添加到您的arduino库中。
转到http://arduino.cc/zh-CN/Tutorial/LiquidCrystalSerial,以获取LCD教程以及有关如何连接组件的说明。
步骤2:使用LCD草图加载指纹草图
复制并粘贴下面修改的代码,以适应指纹扫描并在LCD上显示结果。
/** ******************************************************
这是我们的光学指纹传感器的示例草图
专为与Adafruit BMP085 Breakout配合使用而设计----》 http://www.adafruit.com/products/751
这些显示器使用TTL串行通信,需要2个引脚来进行接口Adafruit提供了此开放源代码,因此投入了大量时间和资源,请从Adafruit购买产品来支持Adafruit和开放源硬件!
书面由Limor Fried/Ladyada为Adafruit Industries提供。 BSD许可证,以上所有文本都必须包含在任何重新分发中****************************************** **************/
/**************************由bedRoonics的PELEGREN修改实验室**************************************/
/****** ****************带有16x2 LCD显示器的ARDUINO指纹扫描仪***************/
#include
#include
#include
#include
int getFingerprintIDez();
//引脚2是传感器(GREEN线)的输入
//引脚3是arduino(白线)的输出
SoftwareSerial mySerial(2,3);
LiquidCrystal lcd(9,8,7,6,6,5,4);//使用接口引脚的编号初始化库
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
void setup()
{Serial.begin( 9600);//初始化串行通信:
lcd.begin(16,2); lcd.setCursor(0,0); lcd.print(“扫描手指”);
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
pinMode(A0,INPUT);
finger.begin(57600);//设置传感器串行端口的数据速率}
void loop()//反复运行
{
getFingerprintID();
延迟(100);
digitalWrite(13,HIGH);
}
uint8_t getFingerprintID()
{uint8_t p = finger.getImage();
开关(p)
{
case FINGERPRINT_OK:
lcd.clear();
lcd .print(“图片拍摄。..”);
延迟(1000);
中断;
case FINGERPRINT_NOFINGER:
返回p;
案例FINGERPRINT_PACKETRECIEVEERR:
返回p;
案例FINGERPRINT_IMAGEFAIL:
返回p;
默认值:
返回p; }
//成功!
p = finger.image2Tz();
开关(p){
case FINGERPRINT_OK:
break;
案例FINGERPRINT_IMAGEMESS:
返回p;
案例FINGERPRINT_PACKETRECIEVEERR:
返回p;
案例FINGERPRINT_FEATUREFAIL:
返回p;
案例FINGERPRINT_INVALIDIMAGE:
返回p;
默认值:
返回p; }
//确定已转换!
p = finger.fingerFastSearch();
如果(p == FINGERPRINT_OK)
{
lcd.clear();
lcd.print(“找到匹配项!”);
digitalWrite(11,HIGH);
延迟(1000);
digitalWrite(11,LOW);//打开绿色LED指示匹配
}
否则if(p == FINGERPRINT_NOTFOUND)
{
lcd.clear ();
lcd.setCursor(0,0);
lcd.print(“不匹配!”);
延迟(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“扫描手指!”);
返回p;
}
else
{return p; }
//如果找到了匹配项。..。..。..。..
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“找到的ID#”);
lcd.print(finger.fingerID);
lcd.setCursor(0,1);
lcd.print(“ confidence”);
lcd.print(finger.confidence); }
//如果失败则返回-1,否则返回ID#
int getFingerprintIDez(){
uint8_t p = finger.getImage();
如果(p!= FINGERPRINT_OK)返回-1;
p = finger.image2Tz();
如果(p!= FINGERPRINT_OK)返回-1;
p = finger.fingerFastSearch();
如果(p!= FINGERPRINT_OK)返回-1;
//找到匹配项!
digitalWrite(13,LOW);
延迟(10);
digitalWrite(13,HIGH);
延迟(10);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“找到的ID#”);
lcd.print(finger.fingerID);
lcd.setCursor(0,1);
lcd.print(“ confidence”);
lcd.print(finger.confidence);
返回finger.fingerID;
}
全部0条评论
快来发表一下你的评论吧 !