蔡偉城,陳昭拼,巫志城,張 功,徐 軍
(華南農(nóng)業(yè)大學(xué),廣東廣州 510642)
基于單片機的課室人數(shù)智能監(jiān)測與自助查詢系統(tǒng)研究
蔡偉城,陳昭拼,巫志城,張 功,徐 軍?
(華南農(nóng)業(yè)大學(xué),廣東廣州 510642)
研究了一種應(yīng)用于課室在座人數(shù)實時監(jiān)測的分布式自動化系統(tǒng)。該系統(tǒng)通過在課室安裝一個以STC89C52單片機和YL-62紅外線傳感器為核心的人數(shù)進出信息反饋和處理模塊,進行編碼后經(jīng)過CC1101無線數(shù)據(jù)發(fā)射模塊將信息發(fā)送至連接PC機串口終端的接收模塊,利用PC機進行解碼和運算處理并最終顯示在VB程序界面,從而達(dá)到遠(yuǎn)程監(jiān)測與查詢課室人數(shù)的目的。該系統(tǒng)結(jié)構(gòu)簡單,成本低廉,性能可靠,具有較大的應(yīng)用前景。
52單片機;紅外線傳感器;數(shù)據(jù)無線傳輸;串口通信;VB界面
隨著現(xiàn)代科技及我國大學(xué)教育的蓬勃發(fā)展,教學(xué)資源的智能化管理對學(xué)校而言尤為重要。當(dāng)下,智能監(jiān)測和管理技術(shù)與傳統(tǒng)教學(xué)資源管理逐步結(jié)合,利用現(xiàn)代傳感技術(shù)、自動化技術(shù)、網(wǎng)絡(luò)技術(shù)等使課室人數(shù)及教學(xué)信息能夠及時獲取,既方便老師的教學(xué)管理,又有利于學(xué)生的學(xué)習(xí)安排。
本系統(tǒng)是針對上述情況而提出的。該系統(tǒng)可以改變傳統(tǒng)的課室不能實時監(jiān)測、實時反饋的弊端,能夠通過自主查詢隨時隨地地了解課室的在座人數(shù)和空位狀況。對于老師而言,能夠輕松掌握學(xué)生的出勤情況并做出針對性的考勤工作,既提高了工作效率,又節(jié)省了人力資源;對于學(xué)生而言,能通過網(wǎng)絡(luò)了解具體空課室的自習(xí)人數(shù)并挑選好自習(xí)課室,既節(jié)省了時間和精力,又能充分利用教學(xué)資源。
此系統(tǒng)主要由52單片機系統(tǒng)[1-2]、YL-62紅外線傳感器模塊、CC1011無線數(shù)據(jù)傳輸收發(fā)模塊、PC機串口傳輸通道和VB顯示界面組成。系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
該系統(tǒng)首先通過一對紅外線傳感器模塊進行數(shù)據(jù)收集,進而識別進出狀態(tài)[3]。兩個傳感器的管腳分別接入單片機的INT0和INT1管腳[4],當(dāng)有人進入課室時,先觸發(fā)傳感器1的感應(yīng),再觸發(fā)傳感器2的感應(yīng);當(dāng)有人離開課室時,則是先觸發(fā)傳感器2的感應(yīng),再觸發(fā)傳感器1的感應(yīng)。單片機系統(tǒng)根據(jù)這兩種不同的狀態(tài)作出響應(yīng),然后對數(shù)據(jù)進行編碼,進而通過連接單片機串行口的無線數(shù)傳收發(fā)模塊,將數(shù)據(jù)經(jīng)連接PC機串口的USB轉(zhuǎn)TTL模塊傳送給PC機。在軟件中通過一定算法將收到的數(shù)據(jù)進行解碼,最終顯示在VB界面上。當(dāng)然,也可以通過Internet技術(shù)實現(xiàn)網(wǎng)絡(luò)互聯(lián),實現(xiàn)遠(yuǎn)程訪問的功能。
本系統(tǒng)使用的傳感器是YL-62紅外線傳感器模塊[5]。該傳感器模塊對環(huán)境光線適應(yīng)能力強,具有一對紅外線發(fā)射和接收管,發(fā)射管發(fā)射出一定頻率的紅外線,當(dāng)檢測方向遇到障礙物時,紅外線反射回來被接收管接收,經(jīng)過比較器電路處理以后,綠色指示燈會亮起,同時信號輸出接口輸出一個低電平信號,可通過電位器旋鈕調(diào)節(jié)檢測距離,有效距離范圍2~80 cm,工作電壓3.3~5 V。該傳感器的探測距離可以通過電位器調(diào)節(jié)、具有干擾小、便于裝配、使用方便等優(yōu)點。紅外線傳感器模塊的電路原理圖如圖2所示,實物圖如圖3所示。
圖2 紅外線傳感器模塊電路原理圖
圖3 紅外線傳感器模塊實物圖
本系統(tǒng)使用的無線數(shù)據(jù)傳輸收發(fā)模塊選用CC1101芯片。該芯片是由美國TI公司出品的工作在低于1 GHz頻段的無線數(shù)傳芯片,是一款高性能射頻收發(fā)器,工作在387.0~464.0 MHz頻段;傳輸距離為300~400 m;最高可設(shè)置為+10dBm的發(fā)射功率;支持0.6~500 kbps的數(shù)據(jù)傳輸速率;支持多種調(diào)制方式,包括OOK、ASK、GFSK、4-FSK和MSK,具有高靈敏度、低電流消耗等優(yōu)點。無線模塊電路原理圖如圖4所示,組成模塊的外圍電路所需的元器件較少,電路的組成包括CC1101芯片、晶振部分、穩(wěn)壓部分和天線部分。
無線模塊的實物圖如圖6所示,該模塊采用郵票孔封裝方式,可貼片焊接,模塊大小27.8 mm ×14.4 mm×4 mm,很方便嵌入系統(tǒng)之內(nèi)。模塊上有PCB天線座ANT1,可通過同軸線,使用433M頻段外接天線。
本系統(tǒng)沒有使用傳統(tǒng)的RS232串口數(shù)據(jù)線,而使用了以PL2302芯片為核心的USB轉(zhuǎn)TTL模塊。將模塊的TXD、RXD、VCC和GND管腳分別與無線接收模塊的RXD、TXD、VCC和GND管腳相連,然后將該模塊與PC機的串口相連,安裝相應(yīng)的驅(qū)動后就可以實現(xiàn)將無線模塊接收到的數(shù)據(jù)傳輸給PC機的功能,模塊小巧,集成度高,使用起來比傳統(tǒng)的RS232串口數(shù)據(jù)線更加方便。模塊的電路原理圖如圖5所示,實物圖如圖7所示。
根據(jù)系統(tǒng)的結(jié)構(gòu)框圖和所選的模塊,設(shè)計了如圖8所示的系統(tǒng)電路原理圖。電路板的供電電源為5V,可通過220V轉(zhuǎn)5V的變壓器接入板上的DC-005電源插口給52單片機、傳感器模塊、無線模塊及LED提示燈進行供電。52單片機外接11.0592MHz的晶振;一對傳感器模塊通過接入板上的排針將信號輸出管腳分別與單片機上的INT0和INT1管腳相連,一旦傳感器有感應(yīng),便會觸發(fā)單片機的外部中斷從而對信息進行識別及處理;無線發(fā)射模塊也通過接入板上的排針將RXD 和TXD管腳分別與單片機上的TXD和RXD管腳相連,一旦傳感器有感應(yīng),單片機系統(tǒng)就會將信息進行編碼,然后通過串行口傳輸給無線發(fā)射模塊,進而發(fā)送給PC機。此外,單片機的I/O口還接有兩個LED燈和一個共陽極三位數(shù)碼管,前者用作人員進出課室的指示,后者用作課室在座人數(shù)的驗證及PC機上VB界面中顯示數(shù)據(jù)的對比。
圖4 無線模塊電路原理圖
圖5 USB轉(zhuǎn)TTL模塊電路原理圖圖7 USB轉(zhuǎn)TTL模塊實物圖
圖6 無線模塊實物圖
圖7 USB轉(zhuǎn)TTL模塊實物圖
圖8 系統(tǒng)板的電路原理圖
圖9和圖10分別為系統(tǒng)板的PCB布線圖和實物圖。該系統(tǒng)板采用單層雙面板,以單片機為中心進行布線,元器件均安排在正面[6]。
圖9 系統(tǒng)板PCB布線圖
圖10 系統(tǒng)板實物圖
此系統(tǒng)的軟件程序包括單片機模塊程序和VB顯示界面程序[7]。其中,單片機模塊程序的開發(fā)是在Keil uVision4匯編器完成的;VB顯示界面程序是在Visual Basic 6.0開發(fā)完成的。這兩部分程序相互聯(lián)系,協(xié)調(diào)作用,共同完成系統(tǒng)計數(shù)、通信和顯示的功能。
單片機模塊程序包括計數(shù)子程序和通信子程序。兩個傳感器分別安裝在課室里外的門檐,門外傳感器對應(yīng)單片機中斷引腳INT0;門內(nèi)傳感器對應(yīng)單片機中斷引腳INT1。計數(shù)子程序的程序流程圖如圖11所示,當(dāng)沒有人進出課室時,兩個傳感器傳至單片機的信號均為高電平,不產(chǎn)生中斷信號,數(shù)碼管計數(shù)維持不變;當(dāng)有人進入課室時,先觸發(fā)門外傳感器,使INT0引腳為低電平,產(chǎn)生外部中斷0中斷,進而判斷是否接著觸發(fā)門內(nèi)傳感器使INT1引腳為低電平,若是則最終識別人員為進入狀態(tài),數(shù)碼管計數(shù)加1,紅色指示燈閃爍一次;當(dāng)有人離開課室時,先觸發(fā)門內(nèi)傳感器,使INT1引腳為低電平,產(chǎn)生外部中斷1中斷,進而判斷是否接著觸發(fā)門外傳感器使INT0引腳為低電平,若是則最終識別人員為離開狀態(tài),數(shù)碼管計數(shù)減1,黃色指示燈閃爍一次。
圖11 計數(shù)子程序的程序流程圖
每一個單片機子模塊先規(guī)定一個英文編碼值,如第一塊子模塊為“A”,第二塊子模塊為“B”等等。在通信子程序中,令數(shù)碼管的顯示數(shù)值保存在temp變量中。若temp值發(fā)生變化,觸發(fā)單片機的串行口中斷,將temp值分別通過“temp/ 100、temp/100%10、temp%10”的方法提取出百位、十位和個位的數(shù)值,然后依次間隔20ms通過將數(shù)值賦值給SBUF,進而通過連接單片機RXD 和TXD引腳的無線發(fā)射模塊將數(shù)據(jù)發(fā)送給PC機,最后把該單片機子模塊的英文編碼值也發(fā)送給PC機,作為子系統(tǒng)的識別符。通信子程序的程序流程圖如圖12所示。
當(dāng)無線接收模塊接收到單片機子模塊發(fā)送的數(shù)據(jù)后,通過TTL轉(zhuǎn)UBS模塊將數(shù)據(jù)經(jīng)串口傳送給PC機,同時驅(qū)動了VB顯示界面程序。PC機與單片機之間的通信使用VB通信中的MSComm控件。VB顯示界面程序的程序流程圖如圖13所示,PC機的串口屬性設(shè)置與單片機子模塊的串口屬性設(shè)置一致,采用串口通信模式1,波特率為9600bps,傳輸?shù)臄?shù)據(jù)包包含8個數(shù)據(jù)位、1個停止位、無奇偶校驗位。
圖12 通信子程序的程序流程圖
VB界面的寬為7500twip,高為4575twip。界面中假定了3個課室,分別為01、02和03,其容量分別假定為120人、150人和200人。界面上具體需要顯示的參數(shù)包括各個課室的“在座人數(shù)”、“剩余空位”及“空位狀況”。此外,界面上還有設(shè)置3個命令按鈕和當(dāng)前時間顯示。3個命令按鈕包括“開始”、“清零”和“退出”。當(dāng)按下“開始”按鈕時,輸入正確的PC機通信端口號,即可開始傳輸數(shù)據(jù);當(dāng)按下“清零”按鈕時,界面上的參數(shù)歸為初始值;當(dāng)按下“退出”按鈕時,退出VB界面。VB顯示界面的外觀圖如圖14所示。
當(dāng)按下“開始”按鈕時,正式驅(qū)動了VB界面的后臺程序。程序中用變量buffer代表接收到的數(shù)據(jù),用字符串變量X存儲接收到的所有數(shù)據(jù)。當(dāng)接收緩沖區(qū)有數(shù)據(jù)時,把buffer中的數(shù)據(jù)放到X中存儲。判斷buffer中的數(shù)據(jù)是否為英文字符,若是則進行通信解碼以確定數(shù)據(jù)發(fā)送方。VB界面中,01、02和03課室的英文編碼值分別為“A”、“B”和“C”。故只要判斷出具體的英文字符,就能將發(fā)送方的數(shù)據(jù)相應(yīng)的顯示在界面的參數(shù)框中。
圖13 VB顯示界面的程序流程圖
圖14 VB顯示界面
該系統(tǒng)經(jīng)多次實際測試,表現(xiàn)較為穩(wěn)定和準(zhǔn)確。系統(tǒng)結(jié)構(gòu)簡單、易于操作、實用性強,只要根據(jù)不同場合,替換相應(yīng)靈敏度的傳感器及修改VB界面程序,就能推廣至商店、圖書館、博物館等地作為人數(shù)統(tǒng)計裝置使用。在實際使用當(dāng)中,系統(tǒng)或多或少總會遇到一些問題:若環(huán)境光線對傳感器造成干擾,可在傳感器上添加“保護罩”;若傳感器的靈敏度或響應(yīng)范圍不夠,可更換其他高靈敏度或?qū)掜憫?yīng)范圍的傳感器;若課室眾多,無線傳輸距離不夠,可修改單片機的通信編碼,且在傳輸途中適當(dāng)添加一兩個子模塊作為“中繼站”,數(shù)據(jù)經(jīng)由子模塊匯總再發(fā)送給PC機。本文所介紹的系統(tǒng)僅是將各個單片機子模塊獲得的數(shù)據(jù)通過無線收發(fā)模塊發(fā)送給PC機并顯示在VB界面上,若想達(dá)到網(wǎng)絡(luò)共享數(shù)據(jù)、遠(yuǎn)程訪問的功能,還需建立存儲數(shù)據(jù)的數(shù)據(jù)庫及編寫相應(yīng)的網(wǎng)頁,連接服務(wù)器,上傳互聯(lián)網(wǎng)。
[1] 張鑫,郭洪巖,馬國利.基于單片機的LED旋轉(zhuǎn)式顯示屏設(shè)計[J].大學(xué)物理實驗,2014,6:31-34.
[2] 白炳良,周錦榮.基于單片機的開關(guān)電源并聯(lián)供電系統(tǒng)的設(shè)計[J].大學(xué)物理實驗,2013,6:20-23.
[3] 王建鵬,張聰.基于單片機的教室人數(shù)統(tǒng)計系統(tǒng)設(shè)計[J].民營科技,2011(11):331.
[4] 李朝青.單片機原理及接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2006.
[5] 周杏彭.傳感器與檢測技術(shù)[M].北京:清華大學(xué)出版社,2010.
[6] 李建兵,周長林.EDA技術(shù)基礎(chǔ)教程:Multisim與Protel的應(yīng)用[M].北京:國防工業(yè)出版社,2013.
[7] 林卓然.VB語言程序設(shè)計[M].2版,北京:電子工業(yè)出版社,2009.
Research of Intelligent Monitoring and Self-inquiry System for Classroom Population Based on Single-chip Microcomputer
CAI Wei-cheng,CHEN Zhao-pin,WU Zhi-cheng,ZHANG Gong,XU Jun?
(South China Agricultural University,Guangdong Guangzhou 510642)
A kind of distributed automatic system applied to real-time monitoring for classroom population is researched in this paper.The information of population is feedback and processed by a STC89C52 single-chip microcomputer and YL-62 infrared sensor module,which is installed in classroom.By using the CC1101 wireless data transmitter module,the coded information is sent to the receiver module connected to the serial terminal of PC.The information sent to the PC is decoded and computed.Finally it is displayed on the VB program interface.This achieves the aim of remote-monitoring and inquiry for classroom population.Our system is simple,low cost and high reliability.It may have a great application prospect.
52 single-chip MCU;infrared sensor;wireless data transmission;serial communication;VB interface
O4-39
A
10.14139/j.cnki.cn22-1228.2015.02.004
1007-2934(2015)02-0011-07
2014-10-28
廣東省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目(1056413103)
?通訊聯(lián)系人