董苗苗,朱雅嫻,蔡繼暐
(東南大學(xué)成賢學(xué)院,江蘇南京,210088)
單片機(jī)最小系統(tǒng)為單片機(jī)STM32F103C8T6,是一款基于ARM內(nèi)核STM32系列的32位的微控制器,程序存儲(chǔ)器容量是64KB,需要電壓2V~3.6V,一系列的省電模式保證低功耗的要求。
指紋模塊是一款高性能的光學(xué)指紋識(shí)別模塊。其中包含了串口、USB通訊接口等模塊,對(duì)于復(fù)雜的圖像處理及指紋識(shí)別算法,用戶(hù)只需要通過(guò)簡(jiǎn)易的串口、USB并按照其通訊協(xié)議便可控制模塊,不需要研究復(fù)雜的內(nèi)容。本模塊中的指紋識(shí)別算法能夠高效率的采集并識(shí)別指紋。模塊需要3.3V電壓供電,額定電流為40mA,彼特率為9600*N。
采用的時(shí)安信可A9G模塊,工作電壓大約在3.9-4.2v左右,低功耗芯片工作電流在3mA左右。它是GPS定位和發(fā)送定位的雙重模塊。本模塊可以24小時(shí)穩(wěn)定在線,保證隨時(shí)隨地聯(lián)網(wǎng),完全不受時(shí)間、地理位置等外在條件的影響,同時(shí)提供GPS定位和基站定位。在非常短的時(shí)間內(nèi)實(shí)現(xiàn)聯(lián)網(wǎng)定位,目前為止我們可以利用模塊進(jìn)行準(zhǔn)確定位,并且可以向手機(jī)發(fā)送準(zhǔn)確的經(jīng)緯度。實(shí)現(xiàn)防丟失功能和尋找功能。
在光敏模塊工作時(shí),外部光照產(chǎn)生的載流粒子導(dǎo)電,在外加電場(chǎng)作用下做漂移運(yùn)動(dòng),即電子移動(dòng)到電源正極,空穴移動(dòng)到電源負(fù)極,最后使得光敏電阻的阻值迅速降低。通過(guò)設(shè)定光強(qiáng)轉(zhuǎn)換為數(shù)字信號(hào)的數(shù)值準(zhǔn)確的設(shè)定來(lái)進(jìn)行對(duì)外部設(shè)備的控制。主要采用了光敏模塊和光敏電阻,電壓為3.3v采用電流為10mA左右。
液晶即為各種液晶顯示器的統(tǒng)稱(chēng)。其體積小、能耗低、實(shí)際操作簡(jiǎn)單,但是液晶也有一個(gè)明顯的弱點(diǎn),通用型液晶的正常工作溫度在0°C~+55°C,可以看出其正常使用溫度范圍很窄,因此在設(shè)計(jì)、生產(chǎn)液晶相應(yīng)的產(chǎn)品時(shí),務(wù)必考慮各種因素,選取合適的液晶,保證產(chǎn)品的實(shí)用性、安全性。
在本實(shí)驗(yàn)中的電路板中,單片機(jī)是控制器,其被嵌入到系統(tǒng)中。本實(shí)驗(yàn)的應(yīng)用程序的開(kāi)發(fā)主要有GPS模塊應(yīng)用、光敏模塊應(yīng)用、指紋識(shí)別模塊的應(yīng)用程序開(kāi)發(fā)和對(duì)12864液晶、按鍵程序開(kāi)發(fā)四大部分。本實(shí)驗(yàn)設(shè)計(jì)中,使用Keil單片機(jī)軟件開(kāi)發(fā)環(huán)境對(duì)單片機(jī)進(jìn)行編程,該編譯器支持模塊化程序設(shè)計(jì),因此可以先將源程序分為幾個(gè)模塊,分開(kāi)編寫(xiě),最后通過(guò)編譯器生成一個(gè)最終文件。單片機(jī)開(kāi)發(fā)環(huán)境可以進(jìn)行程序的軟件仿真調(diào)試,可以方便快捷地編寫(xiě)和調(diào)試程序,通過(guò)調(diào)試的代碼文件可以通過(guò)開(kāi)發(fā)板下載到單片機(jī)。在上電后,單片機(jī)上的主程序完成相應(yīng)的初始化工作。依據(jù)要求,單片機(jī)主程序必須對(duì)液晶初始化,并且同時(shí)對(duì)按鍵進(jìn)行檢測(cè),若由對(duì)應(yīng)的按鍵按下,執(zhí)行相應(yīng)的操作,由串行接口對(duì)指紋模塊的內(nèi)容進(jìn)行讀寫(xiě)。
對(duì)于已錄入指紋環(huán)節(jié)先按下指紋生成特征指紋,然后再次錄入指紋,若此次錄入指紋與第一次錄入指紋特征相同,則在指紋庫(kù)中記錄下指紋。如果不同這返回第一次錄入指紋,利用循環(huán)語(yǔ)句將指紋錄入,在錄入的同時(shí)判斷指紋庫(kù)的容量是否超出庫(kù)容量,如果5次錄入失敗則自動(dòng)退出錄入程序。刷指紋環(huán)節(jié)先將手指按下生成指紋,然后與指紋庫(kù)中的指紋對(duì)比,如成功則對(duì)IO口返回值為“1”使輸出為高電平控制鎖開(kāi),并顯示得分。如與指紋庫(kù)中的指紋不匹配則這使返回值為“0”輸出低電平則不能出發(fā)電磁鎖開(kāi)。
圖1 指紋識(shí)別
通過(guò)GPS模塊與單片機(jī)連接,通過(guò)GPS衛(wèi)星對(duì)單片機(jī)進(jìn)行定位,并且AT指令固件集成了機(jī)智云接入?yún)f(xié)議,使用簡(jiǎn)單的幾條命令就可以快速接入機(jī)智云,從而在非常短的時(shí)間內(nèi)實(shí)現(xiàn)聯(lián)網(wǎng)定位,定位后向手機(jī)發(fā)送經(jīng)緯度信息對(duì)物體進(jìn)行準(zhǔn)確定位。
圖2 GPS模塊定位
對(duì)于光線設(shè)定一個(gè)固定的閾值當(dāng)模塊在環(huán)境光線亮度達(dá)不到設(shè)定閾值時(shí),輸出端輸出高電平,當(dāng)外界環(huán)境光線亮度高過(guò)設(shè)定閾值時(shí),輸出端輸出低電平。對(duì)于光線的檢測(cè)通過(guò)程序來(lái)控制。
圖3 光敏模塊原理
將寫(xiě)好的指紋模塊程序?qū)雴纹瑱C(jī),通過(guò)單片機(jī)的USB接口與上位機(jī)相連,將指紋模塊按程序定義I/O口相連,可以在上位機(jī)上錄入指紋,刪除指紋,進(jìn)行指紋對(duì)比識(shí)別,如果識(shí)別成功將會(huì)顯示與指紋庫(kù)識(shí)別相同并且顯示對(duì)比時(shí)間為多少,如果沒(méi)有識(shí)別成功則顯示該指紋不存在。
將寫(xiě)好的指紋模塊程序?qū)雴纹瑱C(jī),通過(guò)單片機(jī)的USB接口與上位機(jī)相連,將GPS模塊按程序定義I/O口相連,將開(kāi)關(guān)打開(kāi),就會(huì)進(jìn)行衛(wèi)星GPS定位,并且在上位機(jī)上顯示準(zhǔn)確的經(jīng)緯度,通過(guò)地圖可以準(zhǔn)確定位位置。
將光敏模塊與單片機(jī)相連,并且在上位機(jī)上可以看見(jiàn)準(zhǔn)確的數(shù)值,當(dāng)將光敏電阻遮起來(lái)則在上位機(jī)上的數(shù)值就會(huì)明顯的變化,可以通過(guò)數(shù)值的值來(lái)控制外部設(shè)備。
導(dǎo)入12864液晶的測(cè)試程序,上電后,通過(guò)調(diào)節(jié)液晶屏背面的電位器調(diào)節(jié)12864的對(duì)比度,在調(diào)試液晶時(shí)要注意:屏幕上顯示小方格。其產(chǎn)生原因:運(yùn)行程序中,應(yīng)該是部分初始化指令沒(méi)有正常接收命令,致使液晶初始化不正常。解決方法:按照標(biāo)準(zhǔn)的初始化步驟調(diào)整程序,或者調(diào)整命令指令之間的延時(shí)。
本文主要介紹了基于單片機(jī)的指紋識(shí)別系統(tǒng)的設(shè)計(jì),使用的單片機(jī)為STM32F103C8T6,指紋模塊來(lái)實(shí)現(xiàn)指紋識(shí)別,并且利用液晶來(lái)顯示,輔助的硬件有按鍵可以準(zhǔn)確的發(fā)送錄入及識(shí)別信號(hào),文中主要介紹了指紋識(shí)別、GPS、光敏模塊的工作原理,并根據(jù)工作原理設(shè)計(jì)了基于單片機(jī)的整體系統(tǒng)的各部分硬件電路,程序部分采用Keil軟件進(jìn)行編程,從而實(shí)現(xiàn)整個(gè)系統(tǒng)的功能。本設(shè)計(jì)可以完成指紋的錄入、指紋的刪除、GPS的定位和光的控制,并且以上功能可以應(yīng)用在許多不同領(lǐng)域以上即為本設(shè)計(jì)的主要內(nèi)容還有很多東西待開(kāi)發(fā),為了是人們生活便利,本設(shè)計(jì)還需要?jiǎng)?chuàng)新更多實(shí)用功能。