步驟1:注冊(cè)指紋并連接FPS傳感器和LCD
請(qǐng)遵循adafruit教程http://www.adafruit.com/product/751中的說(shuō)明,了解如何在注冊(cè)過(guò)程中將指紋傳感器連接到arduino。下載適用于Windows的軟件并安裝在您的計(jì)算機(jī)中。使用該軟件注冊(cè)指紋使該過(guò)程更加容易。
請(qǐng)確保將adafruit庫(kù)添加到您的arduino庫(kù)中。
轉(zhuǎn)到http://arduino.cc/zh-CN/Tutorial/LiquidCrystalSerial,以獲取LCD教程以及有關(guān)如何連接組件的說(shuō)明。
步驟2:使用LCD草圖加載指紋草圖
復(fù)制并粘貼下面修改的代碼,以適應(yīng)指紋掃描并在LCD上顯示結(jié)果。
/** ******************************************************
這是我們的光學(xué)指紋傳感器的示例草圖
專為與Adafruit BMP085 Breakout配合使用而設(shè)計(jì)----》 http://www.adafruit.com/products/751
這些顯示器使用TTL串行通信,需要2個(gè)引腳來(lái)進(jìn)行接口Adafruit提供了此開放源代碼,因此投入了大量時(shí)間和資源,請(qǐng)從Adafruit購(gòu)買產(chǎn)品來(lái)支持Adafruit和開放源硬件!
書面由Limor Fried/Ladyada為Adafruit Industries提供。 BSD許可證,以上所有文本都必須包含在任何重新分發(fā)中****************************************** **************/
/**************************由bedRoonics的PELEGREN修改實(shí)驗(yàn)室**************************************/
/****** ****************帶有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);//使用接口引腳的編號(hào)初始化庫(kù)
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);//設(shè)置傳感器串行端口的數(shù)據(jù)速率}
void loop()//反復(fù)運(yùn)行
{
getFingerprintID();
延遲(100);
digitalWrite(13,HIGH);
}
uint8_t getFingerprintID()
{uint8_t p = finger.getImage();
開關(guān)(p)
{
case FINGERPRINT_OK:
lcd.clear();
lcd .print(“圖片拍攝。..”);
延遲(1000);
中斷;
case FINGERPRINT_NOFINGER:
返回p;
案例FINGERPRINT_PACKETRECIEVEERR:
返回p;
案例FINGERPRINT_IMAGEFAIL:
返回p;
默認(rèn)值:
返回p; }
//成功!
p = finger.image2Tz();
開關(guān)(p){
case FINGERPRINT_OK:
break;
案例FINGERPRINT_IMAGEMESS:
返回p;
案例FINGERPRINT_PACKETRECIEVEERR:
返回p;
案例FINGERPRINT_FEATUREFAIL:
返回p;
案例FINGERPRINT_INVALIDIMAGE:
返回p;
默認(rèn)值:
返回p; }
//確定已轉(zhuǎn)換!
p = finger.fingerFastSearch();
如果(p == FINGERPRINT_OK)
{
lcd.clear();
lcd.print(“找到匹配項(xiàng)!”);
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; }
//如果找到了匹配項(xiàng)。..。..。..。..
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;
//找到匹配項(xiàng)!
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;
}
-
lcd
+關(guān)注
關(guān)注
34文章
4437瀏覽量
167961 -
掃描儀
+關(guān)注
關(guān)注
2文章
427瀏覽量
67910 -
Arduino
+關(guān)注
關(guān)注
188文章
6474瀏覽量
187444
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論