陳世海 王軍 代偉 靳文斌
摘要:將Android融入電子信息專業綜合實驗,不僅可以提高學生的學習興趣,而且有利于培養學生的創新能力,為其從事相關研發工作奠定基礎。
關鍵詞:專業綜合實驗;Android;甲醛檢測
中圖分類號:G642.423 文獻標志碼:A 文章編號:1674-9324(2018)49-0267-02
電子信息專業綜合實驗[1]是面向電子信息專業高年級學生開設的綜合性實踐課程,要求學生能夠綜合運用所學專業知識進行電子信息類產品的設計開發實踐。該課程對于培養學生綜合運用專業知識的能力,提高其創新意識具有重要的作用。隨著Android[2]智能手機的飛速發展,Android智能平臺已經進入普及階段,開發基于Android的綜合實驗案例,不僅能夠提高學生的學習興趣、培養起創新實踐能力,同時為學生以后從事相關研發工作打下基礎。實驗案例以Android智能平臺和STC89C52為軟硬件核心,采用MS1100甲醛傳感器,實現基于Android智能平臺的無線甲醛檢測系統。
一、系統硬件設計
系統硬件框架以STC89C52微處理器為核心控制器,其與MS1100甲醛傳感器電路、HC-05藍牙、蜂鳴器電路、LCD1602顯示屏、上拉電阻、時鐘電路、復位電路等外部設備連接在一起組成無線甲醛檢測系統。MS1100甲醛傳感器、HC-05藍牙、單片機等這些功能需要通電才能實現。在系統設計中,由于MS1100甲醛傳感器輸出的信號是模擬信號,而STC89C52的引腳內部沒有AD轉換功能,導致模擬信號不能直接與單片機進行數據傳輸,因此要在兩者之間加上一個可以轉換數據模式的AD轉換芯片,然后按照各個模塊引腳的功能以及引腳的連接方式進行電路連接。
硬件電路按照數據采集電路、蜂鳴器工作電路、串口通信電路的順序進行設計。數據采集電路采用MS1100甲醛傳感器電路和數模轉換芯片ADC0832相連接構成數據采集電路。其次,設計蜂鳴器報警電路,電路采用蜂鳴器和三極管、電阻組成蜂鳴器電路;LCD1602顯示屏和上拉電阻組成甲醛濃度顯示電路。最后,串口通信電路由HC-05藍牙與STC89C52相連組成,實現甲醛濃度通過藍牙向手機端傳輸。
(一)甲醛傳感器
傳感器選取以MS1100為核心的VOC(volatile organic compounds)式傳感器。MS1100是半導體式VOC氣體傳感器,它具有很高的靈敏度,價格相對便宜,適合檢測空氣中的甲醛這種具有揮發性的有機化合物。MS1100利用金屬氧化物遇到VOC氣體阻值會發生變化這一特性來檢測空氣中甲醛的濃度。如圖1所示,該傳感器共有四個引腳:VCC、GND、AOUT和VCC。其中,VCC和GND分別接的是直流電源5V和GND,AOUT是模擬信號輸出口。甲醛濃度與輸出電壓的關系不是簡單的直線關系,而是呈現一種log對數函數的關系,當空氣中不含甲醛時,或者說甲醛濃度為零時,傳感器的阻值就是無窮大,電路外接電阻分到的電壓就為零,模擬信號輸出為零。傳感器電路中,在電源VCC和GND之間加10pf的電容是因為電容具有通交隔直的作用,它可以濾掉電路中多余的交流信號,從而使電路中的電壓穩定。傳感器AOUT口輸出0-5V的模擬信號,傳感器的模擬信號接口不能直接與STC89C52微處理器進行連接,需要通過ADC0832將模擬電壓轉成數字量后輸入微處理器。
(二)數模轉換
模數轉換部分采用的是具有8位分辨率的A/D轉換芯片ADC0832,其最高分辨可以達到256級。DI作為數據的輸入端,用以選擇通道功能。設計中,采用單通道(CH1)輸入模擬信號的方式。CS為芯片的選通引腳,當芯片通電后CS端通過單片機發送一個低電平芯片就選通完成,可以開始工作。
(三)藍牙電路
基于藍牙的無線通信,通常可以實現10m范圍內的無線數據傳輸,在傳輸中藍牙有主機和從機之分。系統中采用的HC-05藍牙模塊集主從于一體,既可以作為主動搜索其他藍牙設備的主機,也可以作為只能被其他設備搜索的從機。HC-05既可以接收數據也可以發送數據,這給系統設計帶來了較大的便利,同時也降低了實驗中的硬件故障率。
實驗時,首先將藍牙模塊與USB轉串口連接,然后按住藍牙模塊上的黑色按鈕,并將USB口插入電腦端,如果藍牙模塊的state燈變為慢閃,則表明藍牙模塊已經進入AT模式,打開串口調試助手即可進入藍牙設置AT模式。功能代碼如表1所示。
如果串口助手返回“OK”就代表藍牙參數設置成功。需要注意的是,設置指令里的符號不要在中文狀態下輸入,否則不會返回相應指令。
二、軟件設計
總體軟件設計采用模塊式編程,軟件流程如圖2所示。首先是對設備進行初始化,然后進行數據采集。數據采集軟件主要完成對MS1100甲醛傳感器輸出的模擬了經ADC0832數模轉換芯片轉成數字量后輸送至微處理器;數據傳輸部分先將檢測到的甲醛濃度對應為數字信號,再通過藍牙模塊進行傳輸;蜂鳴器報警程序需要在程序中設置蜂鳴器的閾值,當接收到的甲醛濃度大于閾值時,接蜂鳴器的端口會置為低電平,蜂鳴器會報警。微處理器與藍牙模塊之間采用串行通信方式,兩者可以互發信息,實現數據在上位機的顯示,以及上位機控制下位機的蜂鳴器關閉。
手機APP通過調用手機本地藍牙實現與HC-05藍牙模塊的連接,從而把與STC89C52微處理器連接的藍牙數據傳輸到手機APP上并且顯示。當甲醛濃度數據大于蜂鳴器設定的閾值,通過指令發送給藍牙再發送給單片機,STC89C52處理數據使蜂鳴器與微處理器的端口重新恢復到高電平,取消報警。
手機端的APP需要在Android開發平臺完成,目前Android的開發主流平臺有eclipse和Android studio兩種。這兩個平臺均為開發者提供了豐富的系統控件,可以編寫漂亮的界面,也可以通過擴展系統控件,常見控件有:TextView、Buttion、EditText、一些布局控件等。實驗案例選用了Eclipse開發軟件進行設計。設計APP時首先需要將Eclipse的開發環境配置好,開發環境搭建好后,即可調用相應的控件完成界面設計。編寫藍牙通信程序時,由于Android對藍牙設備的一系列操作方法進行了封裝,所以設計藍牙APP只需要調用封裝的方法即可。
三、總結
實驗案例綜合應用了微處理器應用、傳感與檢測技術、Android智能平臺應用開發等專業知識與技術,案例中設計的基于Android的甲醛監測系統不僅可以作為電子信息專業綜合實驗教學案例,同時其自身也具有較好的應用價值。
參考文獻:
[1]吳樂南.用于電類專業綜合創新的教學實驗平臺[J].電氣電子教學學報,2016,38(05):99-102.
[2]張義紅,李永樂,郝礦榮,韋方.Android物聯網創新型實驗研究與應用[J].實驗室研究與探索,2018,37(01):22-24+37.