李怡 趙云鵬
【摘要】當下社會,伴隨著科學技術(shù)的大力發(fā)展,人民顯著地提升了自我生活水平,生活節(jié)奏也變得越來越快,從而經(jīng)常在身邊發(fā)生丟失錢物的現(xiàn)象,甚至丟失兒童的事情也時有出現(xiàn)。為了應對這種情況,防丟器的發(fā)明應運而生。本文闡述的藍牙防丟系統(tǒng)是采用STM32F103型單片機進行設計的。首先闡述了目前人們有時候會忘記一些物品或是兒童玩耍容易走出家長視線的現(xiàn)象,開始進行針對性設計。主要功能包括:防丟器的藍牙模塊可以與手機藍牙模塊相連;手機操作界面可以讓裝置發(fā)出警報;可以通過裝置令手機發(fā)出警報聲;藍牙斷開鏈接,手機與裝置同時報警。此設計的主要模塊包括:STM32F103C8T6最小系統(tǒng),電源模塊,藍牙模塊,報警模塊等。在設計的基礎上給出了對于基本模塊的理解與實現(xiàn),最后給出了在未來系統(tǒng)需要進一步被完善的方向。
【關(guān)鍵詞】單片機;防丟裝置;藍牙;檢測報警
目前由于個人、家庭責任和社會競爭等諸多因素,人們往往把自己的大腦投入到應對這種忙碌和緊張的情況,從長遠來看會導致記憶力下降,出現(xiàn)健忘的癥狀,往往不記得自己的包,自己的手機,鑰匙等放在何處。本課題設計的智能防丟器采用了藍牙技術(shù),以單片機為主控,分別控制藍牙模塊與報警模塊,意圖在于在嘈雜的人群中發(fā)揮丟失報警的作用,有效的解決丟失物品的問題。
本設計分為軟硬件兩部分,以基于STM32的藍牙防丟器的設計與實現(xiàn),完成手機端APP與微控制器STM32F103之間的數(shù)據(jù)傳輸系統(tǒng)。
硬件部分設計思想基于STM32單片機、藍牙模塊HC-05、蜂鳴器、提示報警模塊、電源模塊搭建電路,利用藍牙的連接與斷開,控制硬件達到報警與否。
1. 系統(tǒng)硬件設計
1.1 報警模塊設計
本設計使用的是有源蜂鳴器,只要通電蜂鳴器就可以發(fā)出聲音。無源蜂鳴器的優(yōu)點是:價格低廉、可以發(fā)出多種聲調(diào),一些成品的例子里,控制端口可以重復使用。有源蜂鳴器優(yōu)點則是通過編程控制較為簡單。
在本設計中,蜂鳴器引腳接單片機PC15,當上位機尋找下位機或者二者連接已斷開時,MCU將一個低電壓發(fā)送到8050三極管的發(fā)射極,三級管導通,蜂鳴器報警,二極管發(fā)光。
1.2 藍牙模塊設計
該系統(tǒng)采用HC-05藍牙串口模塊,HC-05不僅實現(xiàn)了藍牙HCI層以下物理鏈路的建立,而且處理器只需RXD,TXD兩組信號,即可對其進行控制與傳輸,大大降低了設計難度,減少了設計與開發(fā)的時間。
處理器和藍牙之間建立無線傳輸只需要藍牙訊號,因此只需要在HCI層以下實現(xiàn)協(xié)議棧即可。在藍牙的整體系統(tǒng)中,HCI是位于作為L2CAP(邏輯鏈路控制和適配協(xié)議)層和LMP(鏈路管理協(xié)議)層之間的協(xié)議層,是藍牙2.0技術(shù)的一個工作層。2.0藍牙技術(shù)對比1.2版本,一些BUG得到了修復,部分功能得到了增加,傳輸速率也提升到2M/s左右,增加了對于全雙工模式的支持。但是,舊版本藍牙技術(shù)中,配置操作復雜以及耗電量大的特性仍舊沒有得到緩解。本藍牙模塊主要使用RXD與TXD兩個引腳來實現(xiàn)與單片機與手機的收發(fā)信號功能。
1.3 電源模塊設計
此設備電源模塊的來源可以通過計算機的USB口供給,也可以由5V-1A的手機充電頭進行提供。電路中添加了電源指示LED小燈L2,方便用戶檢測設備的供電狀態(tài)。圖中R9為LED的限流電阻,阻值為1K歐姆,SW1為電源開關(guān)。
2. 系統(tǒng)軟件設計
2.1 開發(fā)環(huán)境
本設計采用Keil Software公司出品的集成環(huán)境進行編程,Keil是德國Keil Software公司出品的51/32系列兼容單片機C語言軟件開發(fā)系統(tǒng),其版本為Keil μVision5。Keil μVision5是2013年10月發(fā)布的最新版本,是針對Windows桌面平臺所研發(fā)的一套完整的集成開發(fā)環(huán)境,具有可視化、靈活的Windows窗口管理。與匯編等語言相比較,C語言在節(jié)省編寫閱讀時間、易于維護和可以完成的功能方面具有明顯的優(yōu)勢,易于學習和用戶使用。
2.2 主要程序設計
2.2.1 主程序設計
軟件的部分設計一共有兩部分,一是對STM32單片機的初始化、中斷程序的設計,對蜂鳴器的調(diào)用程序、對LED燈的調(diào)用程序、第二部分是軟件代碼的設計,主要用到的語言是C語言。
本系統(tǒng)使用STM32F103C8T6型單片機最小系統(tǒng)作為控制的單片機芯片,軟件設計部分主要分為:系統(tǒng)初始化、藍牙模塊、報警模塊等部分,每個功能模塊對整體設計都非常重要。通過軟件程序控制的STM32F103C8T6可以很好地獲得收集的外部信息、進行分析和處理。本設計的主程序的流程圖,如圖2.1所示。
2.2.2 報警模塊子程序設計
本次設計采用蜂鳴器報警。蜂鳴器俗稱喇叭,是廣泛運用于各種電子產(chǎn)品的一種元器件,它用于提示、報警、音樂等諸多運用場合。
本系統(tǒng)使用上下位機均可報警的設計完成報警電路,上下位機斷開連接時,二者同時報警。在設計中,下位機尋找上位機時,按下按鈕驅(qū)動上位機自帶的報警聲音,上位機尋找下位機時,按下按鈕,下位機蜂鳴器發(fā)出提示音,LED小燈閃爍。
2.2.3藍牙驅(qū)動子程序設計
藍牙系統(tǒng)有三種主要狀態(tài):待機狀態(tài),連接狀態(tài)和省電狀態(tài)。在從待機狀態(tài)轉(zhuǎn)換到連接狀態(tài)期間,有7個子狀態(tài):尋呼、尋呼掃描、查詢、查詢掃描、主響應、從響應、查詢響應。物理信道是藍牙系統(tǒng)的最低層結(jié)構(gòu),其特征在于偽隨機跳頻序列,特定傳輸時隙定時,接入碼和幀頭編碼。本程序主要使用藍牙作為連接載具,起到為單片機以及APP端收發(fā)數(shù)據(jù)的作用。
3. 系統(tǒng)的組裝與測試
系統(tǒng)的組裝與測試分為硬件焊接組裝測試與軟件測試,是對整個設計系統(tǒng)的完成度、穩(wěn)定性的測試,意圖在于發(fā)現(xiàn)設計過程中出現(xiàn)的設計錯誤,或者是不完善的某些部分,從而修改設計理念,保證整個系統(tǒng)的正常運行。
3.1 硬件的組裝與測試
要做好元器件的組裝焊接工作,首先需要準備好需要的元件,焊接工具。準備好所需的元器件和工具以后,需要根據(jù)電路原理圖安裝好元器件,安裝的時候要注意,元件要平整安裝。安裝元器件后,焊接時要注意焊接前要處理焊盤上的氧化層。焊接要遵循先焊接小元件,再焊接大元件,先處理不容易焊接的元器件,這個和連接元器件的原則是一樣的。
將元器件都進行正確的安裝固定后,進行組裝電路最后一個步驟,也是最關(guān)鍵的一個步驟,那就是焊接。電烙鐵要用220V交流電源,使用時要特別注意安全。
焊接完成后,在通電調(diào)試之前,必須認真檢查電路連線是否有錯誤。
3.2 軟件的測試
該系統(tǒng)使用主要在KEIL5平臺上實現(xiàn)的C語言編程。當手機app啟動時,主板上的應用程序微控制器啟動并成功初始化,微控制器啟動對藍牙連接狀態(tài)的檢測。如果連接,程序的內(nèi)部功能將保留在當前指令上,如果斷開連接,則會打開蜂鳴器和LED的閃爍警報提醒。
主控制應用是為Android 4.0及更高版本的操作系統(tǒng)設計的,所使用的開發(fā)工具是一個廣泛的跨平臺集成開發(fā)環(huán)境Eclipse。藍牙主機系統(tǒng)APK安裝在智能手機上,點擊藍牙防丟器程序,應用程序?qū)棾鰡铀{牙請求接口,點擊允許進行藍牙連接。連接防丟設備后,STM32F103C8T6單片機會將自動重置并開始運行該程序。對于接收藍牙數(shù)據(jù)的手機,如果藍牙模塊未接收到數(shù)據(jù),在手機上使自帶的報警聲響起。
當手機和藍牙主板超過一定距離,手機藍牙和藍牙主板鏈路斷開,即認定超過安全距離,手機發(fā)出報警聲,同時藍牙主板上的有源蜂鳴器發(fā)出報警,LED指示燈閃爍。
參考文獻:
[1]韓冬.基于藍牙的防丟器硬件設計與實現(xiàn).河南教育學院學報(自然科學版),2015,24(3):39-41.
[2]孫慧.手機防丟系統(tǒng)的設計.技術(shù)與市場,2016,23(7):81-82.
[3]張毅剛.單片機原理及接口技術(shù)[M].北京:人民郵電出版社,2011:1-13.
[4]劉星.基于藍牙和單片機的智能控制系統(tǒng)設計.電子技術(shù)設計與應用,2013,38(6):46-48.
[5]李輝.STM32單片機的原理分析與硬件電路設計.電子測試,2018,14(1):26-28.
作者簡介:李怡(1997-),女,盤錦市,學歷:本科,學生。通訊作者:趙云鵬(1983.2-),遼寧朝陽。教師,職稱:講師,研究方向:信息系統(tǒng)。