葉 楠
(福州理工學院 工學院,福建 福州 350506)
隨著人們生活節奏的加快,掉落東西的情況也變得更加容易發生,人們平常擔心掉手機,掉錢包,出遠門的時候擔心丟失行李,且很多的家長們經常會擔心小孩走丟。在這種社會現狀下,防丟報警定位器其實擁有非常好的發展遠景[1-2]。本文主要設計與實現了一種在防丟報警器的基礎上,增加了基于單片機的GPS-GSM定位器,這樣既可以實現及時報警提醒人們丟失了物品,又能定位丟失物品的位置,從而全面地實現防丟功能。
防丟報警器母機由ST C89C51RC單片機、按鍵模塊、聲光報警模塊、震動報警模塊、nRF24L01無線模塊、復位電路與晶振電路組成,如圖1所示。

圖1 防丟報警器母機系統框圖
防丟報警器子機由STC89C51RC單片機、聲光報警模塊、nRF24L01無線模塊、復位電路、燈光報警電路與晶振電路組成,如圖2所示。

圖2 防丟報警器子機系統框圖
基于單片機的GPS-GSM定位器由STC89C51RC單片機、LCD1602液晶顯示模塊、GPS模塊,GSM模塊、復位電路、晶振電路組成,如圖3所示。

圖3 防丟報警器子機系統框圖
本方案選用單片機STC89C51RC作為主控制器,nRF24L01作為無線射頻信號收發器,選擇GPS模塊來完成定位功能。GPS模塊是本文設計中定位器的關鍵模塊,由核心CPU、基帶CPU、RF射頻芯片和相關的外圍電路組成,通過接收天線獲取衛星信號,并且加以處理,從而實現定位功能。此外,除了要在定位器的LCD1602液晶顯示屏上顯示定位信息,更重要的是要能把定位信息發送到手機上,從而可以在手機上顯示出定位信息,在該設計中,選擇通過GSM模塊來完成此項功能。GSM模塊可以實現語音通話,發送SMS短信與GPRS數據無線傳輸等。在防丟報警定位器的設計中,STC89C51RC與GSM模塊實現通信,從而控制GSM模塊實現無線通訊功能。
2.1.1 STC89C51RC主控模塊設計
STC89C51RC單片機片內含ROM/EPROM,所以由這種芯片組成的最小系統簡單而且穩定。用STC89C51RC單片機構成最小應用系統,僅需把單片機接上時鐘電路、復位電路就可以了[3]。由于STC89C51RC單片機內有一個振蕩電路,因此在XTAL1(18)與XTAL2(19)引腳外接晶振,就組成了自激振蕩器,在單片機的內部即產生了時鐘脈沖信號。
復位電路設計采用按鍵手動復位,分別是電平方式跟脈沖方式。其中,電平復位是通過RST跟VCC連接來完成的,RST引入高電平且保持兩個機器周期時,單片機內部執行復位。
2.1.2 nRF24L01無線模塊設計
在電路設計上,nRF24L01P的VCC因為要接的是3.3V的電壓,所以接了一個三端可調輸出的線性穩壓器集成電路,輸入5V電壓,輸出3.3V,接到nRF24L01P的VCC,而nRF24L01P的CSN、MOSI、IRQ、MISO、CLK和CE則依次分別接到STC89C51RC單片機的P3.1、P3.2、P3.3、P3.4、P3.5和P3.6引腳,另外,nRF24L01P的GND接地[4]。
2.1.3 報警模塊設計
報警模塊的形式主要有燈光提示、聲音報警和震動報警。其中,震動模塊采用振動電機來實現。
防丟報警器的母機和子機電路原理圖如下所示(圖4、圖5):

圖4 防丟報警器母機電路原理圖

圖5 防丟報警器子機電路原理圖
2.2.1 GPS模塊設計
GPS衛星不斷地傳達信號來顯示自己的定位及時間,而GPS模塊可以計算出它到相應衛星的距離,只要在同一時間接收到4個以上衛星的數據,并且對其進行處理,GPS模塊就可以獲取到自己的定位。GPS模塊設計電路如圖6中所示,GPS模塊的VCC接到VCC電源,TXD口接100歐電阻,再接到STC89C51RC單片機的P3.0引腳,這樣STC89C51RC單片機就可以接收到GPS模塊的數據,進行處理,而那個100歐的電阻則可以起到降低干擾的作用,還有最后一點就是GPS模塊的GND口接地[5-6]。
2.2.2 GSM模塊設計
GSM模塊設計電路如圖6所示,GSM模塊的TX口接到STC89C51RC的P3.0引腳,也就是RXD口,這樣單片機就可以接收到GSM模塊的數據,GSM模塊的RX口接到STC89C51RC的P3.1引腳,也就是TXD口,這樣GSM模塊就可以接收到單片機的數據[7-8]。

圖6 基于單片機的GPS-GSM定位器電路原理圖
(1)母機開始工作后,首先是定時器變量初始化,然后進入while循環,查找按鍵按下,假如判斷結果為“是”,就發送0和1進入查找模式,如果為“否”的話,就發送0和1進入連接模式,然后設置接收模式,接著判斷是否接收到數據,如果判斷結果是“是”,就表示未丟失,繼續發送數據,而如果判斷結果是“否”,就接著判斷是否超過400ms無數據,如果是“是”的話,就表示已丟失,進行聲光提示。其相應流程圖如圖7所示:

圖7 母機流程圖
(2)子機開始工作后,首先是定時器變量初始化,然后進入while循環,設置接收模式,判斷是否接收到了數據,如果接收到了數據,就判斷接收到的數據是否是0和1,如果是就進入查找模式并聲光提示;如果接收到的數據不是0和1,則返回到上一個階段,重新從是否接收到數據開始繼續往下判斷;而如果在判斷是否接收到數據這個階段判斷是否,那么就進入判斷是否超過一秒無數據這個階段,如果判斷結果是“是”,就聲光提示已丟失;那么,如果在判斷是否超過一秒無數據這個階段,判斷結果是“否”的話,就重新回到判斷是否接收到數據這個階段,開始繼續往下判斷。其相應流程圖如圖8所示:

圖8 子機流程圖
(3)基于單片機的GPS-GSM定位器開始工作后,先是液晶初始化,然后是串口初始化和GSM、GPS初始化,接著進入while循環,判斷是否接收到短信,如果判斷結果是“是”,就解析GPS信息,發送短信至手機,接著又回到判斷是否接收到短信的階段,開始循環;而如果在判斷是否接收到短信這個階段,判斷結果為“否”的話,就不發送定位信息至手機,接著也是回到判斷是否接收到短信的階段,開始循環。其相應流程圖如圖9所示:

圖9 定位顯示流程圖
本設計防丟報警定位器是防丟報警器與基于單片機的GPS-GSM定位器的結合體。其中,防丟報警器由母機跟子機組成,并且母機跟子機都采用nRF24L01無線模塊進行通訊,同時具有發射與接收無線通信信號的功能,然后由STC89C51RC單片機處理模塊間讀取到的信息,而基于單片機的GPS-GSM定位器則采用GPS模塊進行定位,GSM模塊發送定位信息,STC89C51RC驅動各個模塊正常工作。當使用時,啟動開關,防丟報警器的母機放置在使用者身上,子機和定位器放置在行李、貴重物品或小孩身上,一旦母機和子機超過設定距離,母機震動同時聲光報警,此時使用者就可以及時發現丟失情況,以便及時找回丟失物品,而如果因為種種原因,一時之間找不回丟失的物品,則可隨意發送一條短信至定位器,定位器接收到短信后,會把定位信息發送到手機。本文所設計的無線防丟器功耗低、實用性強,具有很好的市場推廣潛力。