韓欽 吳紅梅
摘 要:本文介紹了基于單片機的自動存儲柜設計方法,通過單片機、GSM模塊、矩陣按鍵模塊、電子鎖等實現人為輸入手機號,單片機控制GSM模塊向手機發送存包密碼。
關鍵詞:單片機;存儲柜;GSM模塊;隨機密碼
中圖分類號:TP13 文獻標識碼:A
傳統的存包系統功能單一、操作麻煩,并且人工看管或者使用微型打印機打印密碼條,這樣造成了一定的人力、物力的浪費,存在著一定的缺點。自動存儲柜是利用密碼鎖解鎖,當用戶存包時,按下存包鍵,并向單片機系統輸入用戶的手機號,自動存儲柜將會打開,同時單片機就能夠生成六位隨機密碼并通過系統中的GSM模塊向客戶的手機發送密碼短信,密碼不會重復,以短信的形式存留在用戶手機中。用戶取包時,只需按下取包鍵,并輸入6位密碼,自動存儲柜將會打開。自動存儲柜還設有一鍵打印密碼條功能,主要是為了老人或者出門沒帶手機的顧客準備,能夠更方便的進行存包操作。
1 總體方案設計
自動存儲柜由兩部分組成,分別為電路部分和機械部分,STC89C52單片機作為CPU,用程序來制作六位隨機密碼,用4*4矩陣鍵盤作為輸入端。使用的顯示器是LCD1602液晶顯示屏,作為輸出端,并且用電子鎖來模擬存包柜,用繼電器來模擬微型打印機,通過GSM模塊向用戶發送六位隨機密碼短信。
系統主要實現以下的功能。
(1)運用矩陣按鍵來輸入手機號碼和存包密碼。
(2)編制程序來生成六位隨機密碼,并且不會重復。
(3)隨機密碼在單片機中的保存及刪除。
(4)電子鎖模擬柜子的打開與關閉。
(5)繼電器模擬打印機。
(6)利用GSM模塊將隨機密碼發送短信給用戶。
(7)考慮到超市老人們不會使用GSM發送短信或者未帶手機的情況,在系統中添加了一項功能:當老人們不方便使用短信密碼功能時候,按打印鍵使用打印機打印出帶有密碼的小紙條,老人就能在不懂操作的時候簡單明了的獲得密碼。
本設計的最大創新點是使用6位隨機密碼和運用GSM模塊將密碼以短信的方式發送到用戶手機上,相對于現在普遍使用的打印密碼紙條或鑰匙鎖,節約了成本,省去了人工看管等費用,具有智能性,同時也符合綠色觀念。
2 硬件電路設計
(1)主控制器電路設計。單片機的主控制器選擇STC89C52,在節電方面和運行速度方面相比其它型號更為突出,是一款高性能的CPU,內部含有8k可編程存儲器,4K字節EEPROM存儲空間,[1]可直接使用串口下載。在自動存儲柜系統中。主控制器不僅要滿足本系統的一些要求,而且要滿足節約成本與高性價比的要求,而控制器STC89C52完全符合。
(2)顯示器。LCD1602是一種工業字符型液晶,能夠同時顯示32個字符,[2]主要優點有成本消耗上非常節約,以及性能非常好,能滿足基本的字母表達需求以及數字表達;對比度能夠自行調節;具有復位電路等,能夠滿足自動存儲柜的各種要求。主要作用顯示顯示顧客輸入的手機號以及顧客取包時輸入的密碼。
(3)GSM模塊。GSM模塊是將GSM射頻芯片、基帶處理芯片、存儲器、功放器件等集成在一塊線路板上,具有獨立的操作系統、GSM射頻處理、基帶處理的并提供標準接口的功能模塊。[3]GSM模塊有40個引腳,正常運行時需要與單片機相配合,當我們的單片機發送指令給GSM模塊時,GSM模塊就可以命令GSM卡向手機號碼發送密碼的短信。
(4)矩陣按鍵電路。智能存儲柜系統由于需要用戶輸入手機號、密碼、打印紙條以及確認等操作,所以采用4*4的矩陣按鍵,分別包括0-9 10個數字按鍵,以及ABCDEF六個功能按鍵,這16個按鍵足以滿足我們智能存儲柜系統的需求。按鍵0-9是用于輸入手機號和密碼,按鍵A的功能是打印密碼條;按鍵B的功能是刪除,手機號或密碼輸入錯誤時,可將其刪除,重新輸入;按鍵C的功能是密碼輸入(取包),想取包離開時,可以按下C鍵,接下來就可以輸入密碼;按鍵D的功能是密碼確認鍵,輸入密碼之后,按下D鍵,若密碼正確則可打開柜子,否則顯示屏顯示“輸入密碼錯誤”。按鍵E和F的功能分別是手機號輸入(存包)和手機號保存,按下E鍵,顯示屏將會顯示“請輸入手機號”,輸入11位手機號之后,按下F鍵,系統將隨機產生6位隨機密碼,通過GSM模塊將6位隨機密碼發送到用戶輸入的手機號上。
(5)蜂鳴器報警電路。在智能存儲柜系統中,因為用戶有可能會開錯柜子或者惡意打開他人的柜子,因此需要設定一個輸入密碼錯誤三次,立即用蜂鳴器報警10S,用于對顧客的警示或提醒作用。
3 軟件設計
(1)軟件設計構想。系統正常運行時,顯示屏顯示“welcome”,若有人按下存包鍵,此時單片機內部按照事先編號生成6位隨機密碼的程序運行,并生成6位隨機碼,顯示屏顯示“請輸入手機號”。用戶輸入玩手機號之后按下F鍵,系統將通過GSM模塊將已生成的6位密碼保存并發送到用戶手機,同時單片機控制繼電器打開柜子,幾秒后繼電器閉合,存儲柜將被關閉。當用戶取包時,按下C(取包)鍵,顯示屏顯示“請輸入密碼”,用戶輸入正確的6位密碼,按下密碼確認鍵之后,系統將會控制繼電器打開對應的存儲柜,取包過程結束。當用戶連續三次輸入密碼錯誤時,蜂鳴器將會發出報警聲,用作提醒或警示作用。
(2)程序各模塊設計。智能存儲柜系統由多個模塊,分別是GSM模塊、6位隨機碼生成模塊,繼電器模塊、顯示屏模塊、矩陣按鍵模塊、密碼錯誤報警模塊和打印機模塊。
本設計采用C語言對各個模塊進行編程,C語言與匯編語言相比在可讀性和可維護性等方面均具有明顯的優勢,C語言具有國際化、標準化、全面化的優點。
4 結論
以單片機為核心的智能存儲柜,利用GSM、LCD1602液晶顯示屏、矩陣按鍵等實現對存儲柜的控制。本設計具有如下優點,顧客可以利用手機獲得密碼,不再需要打印紙條獲得密碼,這樣做既保護環境,又防止了密碼丟失的可能性;當顧客沒有帶手機時,可以使用打印密碼條的方式獲得密碼;本系統無需人工看管;另外本系統連續輸錯三次密碼后,將會報警,用于提醒顧客。
參考文獻:
[1]鄒海軍,楊穎杰,等.基于數字PID和89C52單片機的恒溫控制器設計與實現[J].實驗室科學,2011(02).
[2]張宇峰,黃科巖,等.簡易基于單片機的空氣粉塵和溫濕度檢測系統設計[J].中國戰略新興產業,2018(04).
[3]李杭彩.基于GSM模塊的交互式多媒體課堂系統[J].計算機技術與發展,2011(09).
作者簡介:韓欽(1997-),女,漢族,山東菏澤人,本科在讀,電氣工程及其自動化專業。
通訊作者:吳紅梅(1977-),女,漢族,副教授,主要研究方向:分布式電源并網穩定研究。