带有16X2LCD的ARDUINO指纹扫描仪的制作

电子说

1.3w人已加入

描述

步骤1:注册指纹并连接FPS传感器和LCD

lcd

lcd

请遵循adafruit教程http://www.adafruit.com/product/751中的说明,了解如何在注册过程中将指纹传感器连接到arduino。下载适用于Windows的软件并安装在您的计算机中。使用该软件注册指纹使该过程更加容易。

请确保将adafruit库添加到您的arduino库中。

转到http://arduino.cc/zh-CN/Tutorial/LiquidCrystalSerial,以获取LCD教程以及有关如何连接组件的说明。

步骤2:使用LCD草图加载指纹草图

lcd

lcd

lcd

lcd

lcd

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;

}

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分