王金智,何穎,韓浩男,李錦暉
(西安思源學院 電子信息工程學院,陜西西安,710038)
單片機能夠很好的增強其智能化與數(shù)據(jù)處理能力,“物聯(lián)網(wǎng)”時代所要打造的是萬事萬物的聯(lián)通,信息的共享,為人類打造更加方便、省心的生活方式??爝f行業(yè)使得人們可以通過手機或者PC知曉快遞物品是否在配送,或者是否到達了派送點,也可以獲取到物品在寄存點的取貨碼,但這些遠遠不夠,人們不僅需要購物的方便、省心,也希望接受一份快遞也同樣簡單、省心。人們也希望在不能及時簽收的同時能有一個不需要花費太多金錢就可以寄存的場所,更不會因為管理員的疏忽或者自己的粗心大意致使快遞簽收不及時,從而導致的快遞的損壞、丟失等問題。
系統(tǒng)以STM32系列單片機為主控,OLED顯示屏顯示快遞柜的信息,包括設計信息的展示,按鍵輸入顯示等。HC-RS501模塊主要利用熱釋電效應構成的紅外傳感器,檢測到周圍人體溫度則輸出高電平,可構成報警電路部分。GA6-B模塊負責使用USART串口與單片機進行通信,并由單片機控制其發(fā)送信息。系統(tǒng)總體設計方框圖如圖1所示。
圖1 系統(tǒng)總體設計方框圖
快遞柜在OLED顯示電路設計時,采用OLED IC接口顯示屏,使用需要用到四根線,除了VCC和GND,此外需要一個數(shù)據(jù)線SDA,一根時鐘線SCL,OLED顯示屏電路設計如圖2所示。
圖2 OLED顯示屏電路設計
STM32F103芯片內部的復位信號會在NRST引腳上輸出,脈沖發(fā)生器保證每一個復位元都能有至少2個機器周期的脈沖演示;當NRST引腳被拉低產(chǎn)生外部復位時,會產(chǎn)生復位脈沖,單片機就實現(xiàn)復位。A0引腳喚醒MCU,如單片機在低功耗狀態(tài)下,該引腳拉低可以使單片機進入正常工作狀態(tài)。復位電路設計如圖3所示。
圖3 復位電路設計
快遞柜因需要輸入密碼和手動關閉繼電器等操作,同時為了方便驗證和控制系統(tǒng),設計了四個按鍵和一個LED燈電路。按鍵的設計可用按鍵進行輸入驗證碼,也可以用作繼電器的關閉。PC13接口使用一只LED燈顯示系統(tǒng)狀態(tài),也可通過系統(tǒng)控制來調試串口操作的響應和其他驗證操作。按鍵及LED電路設計如圖4所示。
圖4 按鍵及LED電路設計
HC-SR501是基于紅外線技術的自動控制模塊,提供了直流負載接線和交流負載接線兩種方式,該模式下默認為可重復觸發(fā)。工作特點是全自動感應,人體進入其感應范圍則輸出高電平,人離開感應范圍則自動關閉高電平,輸出低電平。該模塊的使用是為提供報警功能,HC-SR501紅外檢測模塊及接線方式如圖5所示。
圖5 HC—SR501紅外檢測模塊及接線方式
GA6-B短信模塊具備高性能、低功耗和穩(wěn)定性都可保證快遞柜信息的發(fā)送中,避免短信丟失和漏發(fā)。短信模塊GA6-B主要使用USART串口2,可使用5V(VCC)進行供電,GND需要與STM32進行共地界限,GA6-B通信模塊引腳及接線方式圖如圖6所示。
圖6 GA6—B通信模塊引腳及接線方式圖
快遞柜系統(tǒng)的主要工作流程是檢測快遞包裹是否存入,若快遞包裹未存入則結束操作,其中OLED顯示會顯示當前系統(tǒng)未存入快遞;當快遞存入后,可通過按鍵進行操作碼輸入,操作碼為用戶和快遞員兩部分,當操作碼輸入正確系統(tǒng)判斷是否正確,然后進行存取件操作,若操作碼不正確,OLED顯示密碼錯誤,然后結束操作。主程序流程框圖如圖7所示。
圖7 主程序流程框圖
快遞員模式主要用于快遞員存放物品,存放過程中,先對各模塊參數(shù)進行初始化,再對項目名稱及當前工作模式進行顯示??爝f員使用管理密鑰打開柜門,隨后系統(tǒng)收到物品存入的信息,將該系統(tǒng)中預設的驗證碼通過GA6-B模塊發(fā)送,隨后快遞員可通過按鍵使系統(tǒng)上鎖,快遞員操作存件操作結束。快遞員模式存件流程圖如圖8所示。
圖8 快遞員模式存件流程圖
用戶模式主要是用戶從快遞柜提取快遞的過程??爝f柜在待取件狀態(tài)時,用戶通過按鍵進行操作碼或者取件碼進行密碼輸入,如果密碼正確則進入取件環(huán)節(jié),否則無法取件。密碼正確時,單片機先對各模塊進行參數(shù)的確認,對各模塊狀態(tài)讀取,用戶通過驗證將快遞柜執(zhí)行至取件狀態(tài),繼電器正常打開,紅外人體檢測模塊關閉報警,OLED顯示正常的狀態(tài);若驗證碼出錯,則需重新輸入驗證,當驗證碼輸入符合正常開鎖驗證,快遞柜可正常打開使用,當用戶取件完成,可關閉系統(tǒng),系統(tǒng)操作結束。用戶模式取件如圖9所示。
圖9 用戶模式取件
GA6-B模塊是快遞柜的通信部分,通過該模塊單片機可與外界產(chǎn)生遠距離的通信,快遞柜使用到該模塊的USART串口,通過串口發(fā)送AT指令,其中需要配置模塊進入文本模式,默認為PDU模式,其次便是設置收信卡號,將短信內容寫入,以十六進制0x1A結束短信操作。GA6-B短信模塊工作狀態(tài)如圖10所示。
圖10 GA6—B短信模塊工作狀態(tài)
OLED顯示屏功能測試是使用單片機寫OLED進行寫字符操作,測試過程中先對快遞柜進行漢字取模設計,系統(tǒng)選用模塊為0.91存128×64點陣,漢字取模大小為16×16,ASCII碼取模大小為8×16,屏幕被分為4行8列,測試字符分別是顯示位置為0行0列點起始寫“STM32快遞柜設計”和測試位置為4行0列位置顯示“OLED TEST OK!”。OLED屏幕測試如圖11所示。
圖11 OLED屏幕測試
HC-SR501紅外測試功能測試模塊由監(jiān)測模塊由觸發(fā)方式有可持續(xù)觸發(fā)和不可重復觸發(fā)兩種方式,測試時可設置為不可重復測試模式,避免干擾。模塊被測有觸發(fā)延時旋鈕和感應距離調節(jié),最遠感應距離為7m,延時最大為300s,測試時距離很近,模塊響應效果很好。
按鍵模塊測試使用的是LED小燈作為相應,每個按鍵按下單片機通過按鍵接線GPIO端口的電平變化,判斷是按鍵按下順序進行響應,測試中綁定按鍵為按下處于高電平,當按鍵按下時,連接LED端的GPIO端口,則輸出低電平點亮LED小燈。
繼電器模塊主要分為單片機接線控制端和負載端,測試時將控制端接單片機VCC和GND端,并且將IN端接在有按鍵GPIO端口端口,根據(jù)繼電器出發(fā)電平的選擇合適的觸發(fā)電平,使用按鍵2對繼電器控制測試,當繼電器處于低電平觸發(fā)方式時,按下按鍵2,繼電器會發(fā)出清脆的響聲,默認為繼電器已被觸發(fā)。
系統(tǒng)使用STM32F103C8T6單片機為核心控制器,控制方便、快捷,編程簡單,硬件設計含有OLED顯示屏、GA6-B通信模塊、HC-SR501紅外傳感器,蜂鳴器電路、繼電器開關、LED小燈和其他電路模塊等組成。軟件設計一般是利用程序代碼對系統(tǒng)予以控制。系統(tǒng)被通電之后,可對程序進行初始化操作,程序對按鍵進行掃描,判斷是否有按鍵按下,按下開始按鈕,系統(tǒng)開始工作.通過OLED顯示屏顯示存取快遞等一系列信息。檢測到的驗證碼與設定值進行比較,是否符合要求,若不符合要求進行報警并且返回上一步操作。該系統(tǒng)穩(wěn)定性高,操作簡單,方便實用。