久久天天丁香婷婷中文字幕-久久天天婷婷五月俺也去-久久天天躁狠狠躁夜夜躁-久久天天躁狠狠躁夜夜躁2014-久久天天躁狠狠躁夜夜躁2024-久久天天躁狠狠躁夜夜中文字幕

TRICONEX 9661-610? ? 模塊

TRICONEX 9661-610? ? 模塊

TRICONEX 9661-610按鈕直接連接到Arduino相對于地的A0(登記)、A1(刪除)、A2(上)、A3(下),黃色LED通過1k電阻連接到Arduino相對于地的數字引腳D7。指紋模塊的Rx和Tx直接連接在Arduino的串行引腳D2和D3(軟件串行)上。5v電源用于為取自Arduino板的指紋模塊供電。蜂鳴器也連接在引腳A5上。在中配置了一個16×2的LCD4位模式其RS、EN、D4、D5、D6和D7直接連接在Arduino的數字引腳D13、D12、D11、D10、D9和D8上。

代碼解釋:

這TRICONEX 9661-610的指紋考勤系統代碼在隨后的章節中給出。雖然代碼用注釋解釋得很好,但我們在這里討論的是代碼的幾個重要部分。我們將指紋庫用于指紋模塊與Arduino板的接口。

首先,我們包括頭文件,定義輸入和輸出引腳,定義宏和聲明變量。之后,在設置功能中,我們給定義的pin指令,并啟動LCD和指紋模塊

之后我們還要寫代碼下載考勤數據。

void setup(){delay(1000);lcd.begin(16,2);serial.begin(9600);pinMode(enroll,INPUT _ pull up);pinMode(up,INPUT _ pull up);pinMode(down,INPUT _ pull up);pinMode(del,INPUT _ pull up);pinMode(match,INPUT _ pull up);pinMode(蜂鳴器,輸出);pinMode(indFinger,OUTPUT);digitalWrite(蜂鳴器,低);if(digital read(enroll)==0){digital write(蜂鳴器,高);延遲(500);digitalWrite(蜂鳴器,低);LCD.clear();lcd.print(“請稍候”);lcd.setCursor(0,1);lcd.print(“下載數據”);

之后,我們必須編寫代碼來清除EEPROM中的考勤數據。

if(digital read(del)==0){LCD.clear();lcd.print(“請稍候”);lcd.setCursor(0,1);lcd.print(“重置…..”);for(int I=1000;i%3C1005i++)EEPROM.write(i,0);for(int I=0;i%3C841i++)EEPROM.write(i,0x ff);LCD.clear();lcd.print(“系統復位”);延時(1000);}

之后,我們啟動指紋模塊,在LCD上顯示歡迎信息,并啟動RTC模塊。

之后,在循環功能中,我們讀取RTC時間并在LCD上顯示

void loop(){now=RTC.now();lcd.setCursor(0,0);lcd.print(“時間-%3E”);lcd.print(now.hour(),DEC);LCD.print(‘:’);lcd.print(now.minute(),DEC);LCD.print(‘:’);lcd.print(now.second(),DEC);LCD.print(“”);lcd.setCursor(0,1);lcd.print(“日期-%3E”);lcd.print(now.day(),DEC);LCD.print(‘/’);lcd.print(now.month(),DEC);LCD.print(‘/’);lcd.print(now.year(),DEC);

TRICONEX 9661-610之后,等待指紋輸入,并將捕獲的圖像ID與存儲的ID進行比較。如果出現匹配,則繼續下一步。并檢查注冊刪除鍵

int result=getFingerprintIDez();if(結果%3E0){digitalWrite(indFinger,低);digitalWrite(蜂鳴器,高);延遲(100);digitalWrite(蜂鳴器,低);LCD.clear();LCD.print(“ID:”);lcd.print(結果);lcd.setCursor(0,1);lcd.print(“請稍候…”);延時(1000);出勤率(成績);LCD.clear();lcd.print(“考勤”);lcd.setCursor(0,1);LCD.print(“Registed”);延時(1000);digitalWrite(食指,高);返回;}

給定空隙checkKeys()該功能用于檢查是否按下了注冊或刪除鍵,以及如果按下了該怎么辦。如果登記鍵被按下注冊()函數被調用,然后按DEL鍵刪除()函數被調用。

void delet()功能用于輸入要刪除的ID和調用uint8_t刪除指紋(uint8_t id)將從記錄中刪除手指的功能。

給定函數用于獲取指紋圖像,并將其轉換為模板,以及通過選定的ID保存到指紋模塊存儲器中。

uint 8 _ t getFingerprintEnroll(){int p=-1;LCD.clear();lcd.print(“手指ID:”);LCD.print(id);lcd.setCursor(0,1);lcd.print(“放置手指”);延遲(2000年);而(p!=finger _ OK){p=finger.getimage();…………………

給定函數用于將考勤時間和日期存儲在EEPROM的分配槽中

void考勤(int id){int user=0,eep loc=0;if(id==1){eepLoc=0;user=user 1++;}else if(id==2){eepLoc=210;user=user 2++;}else if(id==3)………….

給定函數用于從EEPROM讀取數據并發送到串行監視器

void download(int eep index){if(EEPROM.read(eep index)!=0x ff){serial.print(“T-%3E”);if(EEPROM.read(eepIndex)%3c 10)serial.print(‘

 

返回頂部
主站蜘蛛池模板: 91日韩在线| 日韩欧美精品在线视频一区| 日本无人区码卡1卡2卡免费| 久久午夜福利无码1000合集| 国产人妻无码一区二区三区18| 东京热av一区二区| 色偷偷AV亚洲男人的天堂| 91日韩在线| 国产精品自拍va从这里开始| 亚洲天堂资源| 91久久国产视频(免费)在线观看| 狼人伊人中文字幕| 久久久国产人妻精品| 寡妇高潮一级毛片免费看| 日本精品久久久久精品三级综合亚洲一区二区三区 | 91大神精品网站| 久久久久久夜精品精品免费| 国产精品剧情| 国产91精品老熟女泻火| 日本无人区码一二三区别| 亚洲黄色官网| 国产精品欧洲专区无码| 天堂在线中文网| 精品欧美一区二区在线观看欧美熟 | 福利视频亚洲| 人妻少妇av中| 欧美性猛交aa一级| 丰满多毛少妇做爰视频| 日韩无码视频免费观看| 少妇被躁爽到高潮无码麻豆AV| 国产看片一区二区三区| 无码人妻精品一区二区三区99仓本 | av网页中文字幕| 老汉色老汉首页a亚洲| 国产91精品成人不卡在线观看 | 国产成人综合一区精品| 色四房播播| 中文有码人妻字幕在线| 国产成人无码免费视频9| 日韩精品无码一区二区三区三州| 亚洲精品精华液一区二区|