關於製作基於STM32的指紋打卡器(不完全體)

2021-10-10 13:42:59 字數 1601 閱讀 3552

關於製作基於stm32的指紋打卡器(不完全體)

筆者認為首先需要構思好此打卡器需要實現的功能有哪些?作為乙個指紋打卡器首先應該具備指紋識別功能。其次需要將我們識別到的使用者反饋到顯示器上給予打卡者打卡成功的反饋,同時可以在打卡成功的同時加入蜂鳴器進行提醒。最後需要在打卡成功以後將打卡者的打卡時間儲存到某個具有儲存功能的介質當中。

首先實現實現第一步指紋的錄入與識別。筆者使用的是yx-66319電容指紋識別模組,使用此模組的錄入指紋我們需要首先使用其提供的上位機進行,錄入成功以後。就可以進入指紋部分的**編寫了,更具官方提供的通訊協議進行使用者識別。

之後便可比打卡者指紋與指紋庫中的指紋。**如下:

u8 ack_search()

while

((usart1_rx_sta&

0x80)==

0)//µè´ý½óêõ³é¹¦

if(set[4]

==ack_nouser||set[4]

==ack_timeout)

else

}

判斷其是否已經錄入指紋,如果比對成功則返回其使用者id號。至此指紋模組的任務完成。得到我們需要的id號後我們可以將其與我們的使用者庫(即結構體陣列)中的使用者id進行比對,然後再oled上顯示打卡者的姓名與打卡成功與否。筆者曾經想用iic通訊實現與oled的通訊,但是移植了中景的**卻一直沒有成功,無奈放棄iic通訊使用spi通訊(請各位大佬指點)。

此處顯示的便是成功識別使用者顯示其id號1號使用者,打卡成功。假如識別失敗時便顯示不存在此使用者。另外打卡成功時蜂鳴器會發出聲響此處蜂鳴器**便不展示了。

完成了了指紋的對比識別以及顯示以後我們還需要考慮其功耗問題,因為筆者使用的是鋰電池供電所以筆者與實驗室的小夥伴認為還需讓打卡器在不工作時進入待機模式於是筆者便移植了正點的待機喚醒方案。因為yx-66319電容指紋識別模組的2號引腳在用手指靠經識別時會提供乙個高電平於是我們使其成為我們的喚醒訊號。在**移植方面只需將2號引腳接在pa0口。

if

(wkup_kd ==0)

}

完成了這些以後便只差最後一步將其儲存在儲存介質中,筆者選擇將其儲存在sd卡中但是目前遇到比較多的問題首先是c8t6的大小不足,然後便是初始化一直失敗返回0xff,移植沒有成功,後續成功後筆者會再發博完善。

(本文由咖啡要加糖與gdou.linkk共同撰寫)

STM32製作FLASH字型檔

w25q128!總空間 16m define spi font start 12 從12m開始寫入,其餘是檔案系統 define font16x16 spi addr spi font start 1024 16 4096 16x16字型檔 define font16x16 spi size 282...

基於STM32的串列埠通訊

序列通訊一般是以幀格式傳輸資料,即一幀一幀的傳輸,每一幀都含有起始訊號,資料資訊以及停止資訊等。資料各個位同時傳輸,速度快,但是占用引腳資源多。eg led1602 資料按位順序傳輸,占用引腳資源少,但是速度相對較慢。一位一位傳輸 bit iic spi 串列埠通訊 單工,半雙工,全雙工 同步通訊 ...

基於STM32的恆流源設計

本設計以stm32f103rct6為主控晶元,利用mos管的恆流區特點,設計恆流源。設計電流範圍為1 300ma。基本原理圖 q2為n溝道mos管,在正常工作情況下,運放與mos管之間構成深度負反饋,使得輸入控制電壓與vr虛短,近似相等。這可以得到負載電流 3.1.電源 電路圖如圖所示 電源由 12...