關(guān)志艷
(山西工程科技職業(yè)大學(xué)信息工程學(xué)院,山西 太原030619)
高校圖書館“占座”現(xiàn)象普遍,如何有效管理圖書館座位,是現(xiàn)在需要解決的一個(gè)問題。劉大杰[1]等人采用人體紅外傳感來實(shí)時(shí)監(jiān)測(cè)座位前是否有人,但單純只用紅外傳感器容易監(jiān)測(cè)出座位附近其他人而非本人,造成監(jiān)測(cè)誤判。徐海東[2]等人引入人臉識(shí)別和視頻監(jiān)控模塊,但這樣成本太高。
針對(duì)以上情況,本設(shè)計(jì)提出基于STM32的圖書館占座監(jiān)測(cè)裝置,采用人體紅外傳感器和壓力傳感器,雙重監(jiān)測(cè)判斷是否“占座”,一旦發(fā)現(xiàn)此座位連續(xù)一個(gè)小時(shí)沒人,即通過GSM模塊將座位號(hào),使用狀態(tài)以短信的形式發(fā)送給圖書館自習(xí)室管理員,以便將不來的學(xué)生物品放置專指地點(diǎn),這樣其他同學(xué)就可以有效利用此座位。
本設(shè)計(jì)需要雙重監(jiān)測(cè)以保障“占座”有效,在該座寫字桌上安置紅外傳感器,在學(xué)生座椅上安裝壓力傳感器,為了減少課桌到座椅的連體布線,本設(shè)計(jì)采用主機(jī)與從機(jī)分別監(jiān)測(cè),再將從機(jī)上的監(jiān)測(cè)數(shù)據(jù)通過無線藍(lán)牙傳輸?shù)街鳈C(jī)上,主機(jī)再綜合判斷,這樣無線傳輸而不用擔(dān)心因?yàn)椴季€導(dǎo)致的桌椅間的挪動(dòng)不方便。從機(jī)部分用于桌面人體紅外線傳感器探測(cè),主機(jī)部分為座位壓力傳感器探測(cè),同時(shí)定時(shí)監(jiān)測(cè)信號(hào)的時(shí)間。若規(guī)定時(shí)間內(nèi)該學(xué)生又返回,則計(jì)時(shí)時(shí)間清零,重新開始查詢。若規(guī)定時(shí)間結(jié)束該學(xué)生仍未回來,主機(jī)單片機(jī)向GSM模塊發(fā)送指令進(jìn)行短信通知管理員“xxx座位被違規(guī)占用!”。系統(tǒng)的整體框圖如圖1所示。
圖1 整體設(shè)計(jì)框圖
傳感器信息采集模塊:紅外線傳感器模塊監(jiān)測(cè)書桌前是否有人,壓力傳感器監(jiān)測(cè)座椅上是否有人。
獨(dú)立按鍵輸入模塊:設(shè)置時(shí)間和監(jiān)控模式。
液晶顯示器輸出模塊:顯示監(jiān)測(cè)數(shù)據(jù)及時(shí)間。
無線通信模塊:藍(lán)牙用于主從機(jī)通信,GSM用于主機(jī)與管理員手機(jī)通信。
主從機(jī)單片機(jī)的最小單片機(jī)系統(tǒng)及電源部分都相同,采用3.3 V供電。本設(shè)計(jì)的電路是在Aultium Designer軟件下進(jìn)行繪制與設(shè)計(jì)的。
在主機(jī)系統(tǒng)中,采用STM32F103C8T6最小單片機(jī)系統(tǒng)的基礎(chǔ)上,連接壓力傳感器HX711、藍(lán)牙模塊HC05、GSM模塊Air208、連載基礎(chǔ)外設(shè)LED、蜂鳴器、獨(dú)立按鍵、LCD1602。
圖2 主機(jī)整體電路圖
單片機(jī)的PA1,PA0引腳連接壓力傳感器模塊;PA4,PA5,PA6,PA7分別連接按鍵模塊;PB10,PB11分別連接藍(lán)牙模塊;PA9,PA10分別連接短信通知模塊;PC14,15連接信號(hào)指示燈;PB3-PB9引腳分別接LCD1602顯示屏;PC13連接蜂鳴器。在從機(jī)系統(tǒng)中,PA1引腳連接紅外傳感器模塊;PA9,PA10連接藍(lán)牙模塊;PC13,PC14連接信號(hào)指示燈。
1) STM32F103C8T6最小單片機(jī)系統(tǒng)
STM32F103C8T6是基于ARM Cortex-M3內(nèi)核的32位微控制器,含有豐富的外設(shè)功能,如GPIO、NVIC、EXTI、TIM、DAM等,足夠本設(shè)計(jì)所需,也是主流單片機(jī)之一。
2) 壓力傳感器模塊電路
選擇HX711作為本設(shè)計(jì)中檢測(cè)座椅物體重量的模塊,HX711芯片通過對(duì)電壓進(jìn)行采樣,并通過A/D轉(zhuǎn)換輸出轉(zhuǎn)換值,再通過單片機(jī)對(duì)數(shù)據(jù)進(jìn)行處理。此模塊在組裝設(shè)計(jì)時(shí)需要兩塊亞克力板,在組裝時(shí)要保護(hù)好傳感器的線。壓力傳感器模塊的實(shí)物和仿真如圖3所示。
圖3 壓力傳感器模塊實(shí)物與仿真
3) 藍(lán)牙模塊電路設(shè)計(jì)
HC05藍(lán)牙模塊主要用于主從機(jī)數(shù)據(jù)的傳輸,將從機(jī)中的人體感應(yīng)模塊的信號(hào)傳輸給主機(jī)單片機(jī)中,主要利用STM32自帶的串口中斷功能,主機(jī)單片機(jī)對(duì)接收的從機(jī)藍(lán)牙模塊傳輸?shù)男盘?hào)進(jìn)行判斷。
4) GSM模塊電路設(shè)計(jì)
GSM模塊主要用于通知管理員違規(guī)占用座位的信息。其通過使用標(biāo)準(zhǔn)的AT命令來實(shí)現(xiàn)無線通信的功能。GSM模塊使用相對(duì)簡(jiǎn)單,有效引腳只有兩個(gè),分別連接PA9端和PA10端,剩余兩個(gè)引腳分別連接電源的正負(fù)極。GSM模塊仿真圖如圖4所示。
圖4 GSM模塊仿真
5) 按鍵模塊電路設(shè)計(jì)
使用了四個(gè)按鍵用于時(shí)間的設(shè)置和監(jiān)控模式的開關(guān)。按鍵1和2可以調(diào)整監(jiān)測(cè)時(shí)間;按鍵3和4為監(jiān)控開關(guān)。在手動(dòng)模式下,按下按鍵1可增加規(guī)定時(shí)間,按下按鍵2可減少規(guī)定時(shí)間,按下按鍵3為打開監(jiān)控,按鍵4的功能為關(guān)閉監(jiān)控模式。按鍵模塊仿真圖如圖5所示。
圖5 按鍵模塊仿真
從機(jī)的基礎(chǔ)電路和主機(jī)相同,在此不在贅述,選擇HC-SR501型號(hào)的感應(yīng)模塊用作檢測(cè)桌前座位是否有學(xué)生在使用。此元件通過高低電平的判斷產(chǎn)生警報(bào)信號(hào)[3]。由于自習(xí)室座位間距離較近,為避免檢測(cè)誤差,可調(diào)節(jié)其檢測(cè)距離系統(tǒng)軟件設(shè)計(jì)。圖6為從機(jī)整體電路圖。
基于STM32的實(shí)時(shí)管理圖書館自習(xí)室占座系統(tǒng)的程序采用KEIL5軟件進(jìn)行程序編程,主要分為主機(jī)程序和從機(jī)程序兩部分。由于從機(jī)搭載外設(shè)較少,相對(duì)簡(jiǎn)單,在此描述主機(jī)程序基本流程如下:
系統(tǒng)初始化:由于使用壓力傳感器HX711AD模塊、GSM模塊、LCD1602、STM32的GPIO口、中斷、定時(shí)器、ADC轉(zhuǎn)換等都需要進(jìn)行初始設(shè)置。HX711AD模塊有三種工作模式,A通道128增益、B通道32增益、A通道64增益。對(duì)應(yīng)不同的增益,其滿額度差分輸入信號(hào)幅值也不同,因此需要初始化設(shè)置。GSM模塊需要選擇休眠方式、電話號(hào)碼等初始化設(shè)置。LCD1602模塊需要進(jìn)行顯示模式、輸入模式、數(shù)據(jù)線位數(shù)等初始化設(shè)置[4]。初始化配置是非常重要的一個(gè)環(huán)節(jié)。
圖6 從機(jī)整體電路圖
傳感器采集傳輸:紅外傳感器、壓力傳感器分別檢測(cè)到數(shù)據(jù),紅外檢測(cè)到的負(fù)跳沿變化通過藍(lán)牙模塊實(shí)時(shí)傳輸給主機(jī)。
定時(shí)器中斷:STM32內(nèi)的定時(shí)器、中斷在初始化后,一旦主機(jī)經(jīng)過綜合判定座位無人,啟動(dòng)定時(shí)器,進(jìn)入計(jì)時(shí)狀態(tài)。
GSM傳輸:主機(jī)計(jì)時(shí)1小時(shí),GSM啟動(dòng)短信功能,送指令通知管理員“xxx座位被違規(guī)占用!”。
本設(shè)計(jì)經(jīng)過測(cè)試基本實(shí)現(xiàn)了較準(zhǔn)確地監(jiān)測(cè)座位“占座”情況,但只是整個(gè)圖書館座位管理系統(tǒng)中的一小部分,要想更好服務(wù)于學(xué)生,還需將其嵌入到圖書館座位管理系統(tǒng)中。將來還可擴(kuò)展功能,學(xué)生可以在手機(jī)上選座,及時(shí)提醒有空座,長(zhǎng)時(shí)間“占座”收到警告并及時(shí)回去學(xué)習(xí)。要想建立一個(gè)良好、沒有矛盾問題的公共場(chǎng)所,還需要每位使用者的自我約束。