劉琳琳 朱振宇 蔡金玉 蔣藝華
摘 要:環(huán)境檢測是環(huán)境保護的重要手段,建立一種快速、簡便、精確的環(huán)境檢測方法有利于實現(xiàn)環(huán)境的監(jiān)管控制。本設計利用Arduino軟硬件開發(fā)平臺,通過藍牙模塊進行小車的無線控制和環(huán)境中溫度、濕度、可燃性氣體的濃度等各類參數(shù)的檢測,并將檢測得到的數(shù)據(jù)通過藍牙模塊發(fā)送回手機藍牙串口助手APP,實現(xiàn)手機對環(huán)境參數(shù)實時監(jiān)測和小車的前進、后退及方向控制。檢測小車集藍牙控制、數(shù)據(jù)采集、報警等功能于一體,可在非特定或其他惡劣條件下代替人進行環(huán)境數(shù)據(jù)檢測工作,具有一定的推廣意義和應用前景。
關鍵詞:Arduino單片機;藍牙;環(huán)境檢測;手機
中圖分類號:TP23 文獻標識碼:A
文章編號:1671-0134(2018)08-066-04 DOI:10.19483/j.cnki.11-4653/n.2018.08.024
隨著科學的發(fā)展,社會生產(chǎn)力水平的不斷提高,環(huán)境監(jiān)測的內(nèi)容也由工業(yè)污染源的監(jiān)測,逐步發(fā)展到對大環(huán)境的監(jiān)測。[1]環(huán)境監(jiān)測越來越受到人們的重視,但新技術、新方法的加入仍然處在研究發(fā)展階段,主要還是采用人工及半自動方法采集環(huán)境因子,效率低,精度差。[2]建立一種快速、簡便、精確的環(huán)境檢測方法有利于實現(xiàn)環(huán)境的監(jiān)管控制。Arduino是一個開源的單片機電子設計平臺,其硬件開發(fā)板上有許多為傳感器模塊設計好的接口,只需插上封裝好的相應模塊,它就可以讀取傳感器從外界獲取的信號,并在程序的指揮下做出相應的反饋,提高了程序的效率。[3]論文提出了一種基于Arduino的環(huán)境數(shù)據(jù)檢測藍牙控制小車設計,通過手機藍牙控制小車的左右及前進、后退運動,將車上傳感器采集到的環(huán)境數(shù)據(jù)實時傳送,并在濃度值超過閾值時觸發(fā)報警裝置。
1.系統(tǒng)設計
系統(tǒng)利用Arduino單片機為核心控制板,通過手機藍牙同時完成小車狀態(tài)的控制和環(huán)境數(shù)據(jù)的收發(fā)及顯示,系統(tǒng)結(jié)構框圖如圖1所示。
圖中,電源部分由鋰電池組和線性直流穩(wěn)壓電源組成,為小車系統(tǒng)的驅(qū)動電機提供穩(wěn)定的驅(qū)動電流;車體部分采用了一般的四輪車體結(jié)構,其中,前面兩個車輪分別裝有直流電機,以便控制小車的左右方向轉(zhuǎn)動、前進、后退以及停止運動;溫濕度傳感器、可燃氣體傳感器與Arduino主控相連,用于環(huán)境數(shù)據(jù)的采集。藍牙模塊實現(xiàn)小車與手機的通信,使小車能夠接收手機所發(fā)送的指令并將采集的數(shù)據(jù)傳回手機,并可通過手機控制小車的運動。
2.硬件設計
硬件部分主要有Arduino開發(fā)板、HC-05藍牙模塊、DHT11溫濕度傳感器、MQ-2煙霧氣敏傳感器模塊以及L298N電機驅(qū)動模塊、直流減速電機等。其中,Arduino開發(fā)板為小車系統(tǒng)的控制中心,藍牙模塊為手機與小車的通信模塊。電機驅(qū)動模塊驅(qū)動直流減速電機的正轉(zhuǎn)與反轉(zhuǎn)控制和改變小車的運動狀態(tài),DHT11溫濕度傳感器與MQ-2煙霧氣敏傳感器為環(huán)境數(shù)據(jù)數(shù)據(jù)采集模塊進行溫濕度與煙霧或可燃氣體濃度的檢測。
本設計將Arduino控制板的0號管腳(RX)、1號管腳(TX)分別與藍牙模塊的TX、RX腳相連;L298N電機驅(qū)動模塊的IN1、IN2、IN3、IN4接口與具有脈沖寬度調(diào)制的6、9、10、11號管腳相連;溫濕度模塊與數(shù)字5號管腳相連;煙霧氣敏傳感器需要與模擬串口相連,因此將之與A0口連接,與之功能相關聯(lián)的蜂鳴器接2號管腳。Arduino開發(fā)板管腳分配完成后,將L298N電機驅(qū)動模塊的OUT1、OUT2輸出口與左側(cè)直流減速電機相連,另一側(cè)以同樣方式與右側(cè)的直流減速電機相連,硬件連接的具體串口設置如圖2所示。
2.1Arduino主控制器單元
Arduino控制器[4,5]主要包含單片機、數(shù)字串口、模擬串口、晶振和5V穩(wěn)壓器等部件(如圖3所示)。開發(fā)板通過USB數(shù)據(jù)接口與計算機連接進行程序的編譯與導入工作,在IDE中編寫程序代碼后,將程序通過USB接口上傳到Arduino開發(fā)板,開發(fā)板上的單片機進行程序的執(zhí)行與數(shù)據(jù)的處理。本設計的Arduino UNO開發(fā)板的3,5,6,9,10和11號管腳具有脈沖寬度調(diào)制(PWM)功能,能夠提供舵機、電機驅(qū)動模塊等部件調(diào)速的功能。
2.2數(shù)據(jù)采集單元
環(huán)境數(shù)據(jù)采集功能主要依靠數(shù)字溫濕度傳感器和MQ-2煙霧氣敏傳感器實現(xiàn)溫濕度與煙霧或可燃氣體濃度的檢測。
2.2.1DHT11溫濕度傳感器
DHT11數(shù)字溫濕度傳感器主要包含采集技術和傳感技術,該傳感器包括濕式電阻和NTC電阻,其內(nèi)部原理圖如圖4所示。
濕式電阻是將一層膜覆蓋在基片上,該膜由感濕材料制成。當感濕膜接觸到空氣中的水蒸氣時,元件的電阻值會隨著吸濕與脫濕過程中氫離子濃度的變化而變化,內(nèi)置的轉(zhuǎn)換電路將最終的電壓變化計算后與濕度的變化相對應,這樣便可以測量環(huán)境中的濕度。[6]NTC電阻即負溫度系數(shù)電阻表示當環(huán)境溫度升高時電阻值下降,電壓輸出也會隨之變高,轉(zhuǎn)換電路再根據(jù)相應變化使電壓值與環(huán)境的溫度相對應。DHT11溫濕度傳感器的主要參數(shù)如表1所示。
2.2.2 MQ-2煙霧氣敏傳感器
氣敏電阻是MQ-2煙霧氣敏傳感器測量可燃氣體濃度的核心元件,它將檢測到的可燃性氣體的濃度轉(zhuǎn)換為電壓上傳給單片機。氣敏電阻具有P型半導體和N型半導體兩種。當它處于正常情況下時,N型半導體的氣敏電阻處于陰離子缺位的狀態(tài),當氣敏電阻與可燃性氣體分子接觸時,電子將會從可燃性的氣體分子向N型半導體移動,半導體的電阻值也將會減小,從而改變電路的電壓值。[7]對于P型半導體的氣敏電阻是陽離子缺位,半導體的電阻會增加。由于溫度對半導體的電導率的影響較大,所以在使用時MQ-2煙霧氣敏傳感器測量可燃性氣體濃度時需要將其加熱。
2.3通信單元
手機與檢測小車通過藍牙模塊進行通信,將檢測得到的環(huán)境數(shù)據(jù)通過藍牙模塊發(fā)送回手機藍牙串口助手APP,實現(xiàn)手機對環(huán)境參數(shù)實時監(jiān)測和小車的前進、后退及方向控制。
HC-05藍牙模塊與手機藍牙進行配對實現(xiàn)通信功能,HC-05藍牙模塊有六個引腳:VCC、GND、TXD、RXD、KEY、LED,當藍牙模塊處于不同的通信狀態(tài)時,模塊上的指示燈會呈現(xiàn)不同的閃爍狀態(tài),便于用戶判斷藍牙模塊是否正常工作。若將KEY接高電平之后或同時給藍牙模塊上電,指示燈將會以每秒一次的頻率慢閃,模塊進入AT狀態(tài)不可進行配對任務;KEY懸空或接地時指示燈的狀態(tài)以每秒二次的頻率快閃,當藍牙模塊配對成功之后,指示燈將會變成雙閃狀態(tài),每兩秒閃爍一次。在可配對狀態(tài)下將KEY接高電平,模塊又將退出可匹配狀態(tài)進入AT狀態(tài),但此時指示燈的閃爍頻率與可匹配狀態(tài)下指示燈的狀態(tài)一致。本設計將KEY引腳懸空,各引腳功能如表2所示。
2.4小車運動單元
小車的運動功能主要依靠L298N電機驅(qū)動模塊以及DC3V-6V直流減速電機實現(xiàn)。L298N[8,9](如圖5)內(nèi)置的兩組H橋用來維持電機兩端電壓始終處于在高低電平之間。該模塊除了將12V電源轉(zhuǎn)換成5V供電給開發(fā)板外還可以驅(qū)動和控制兩路電機,當使能端ENA、ENB均為高電平時,通過組合不同的IN1、IN2狀態(tài)控制直流減速電機的不同運動狀態(tài)。
在對直流電機進行脈沖寬度調(diào)制以用來調(diào)節(jié)電機速度之前,需要先確定IN1和IN2口與直流電機的連接,確定電機的轉(zhuǎn)動方向。在確定直流電機的轉(zhuǎn)動方向后,再通過程序確定單片機的引腳與左右電機的對應關系,當需要調(diào)節(jié)直流減速電機速度的時候再輸出PWM脈沖進行調(diào)速。當IN1和IN2接口均為0狀態(tài)或均為1狀態(tài)時,兩個輸出接口所控制的對應直流電機制動。小車運動單元原理圖如圖6所示。
3.軟件設計
軟件部分采用模塊化設計,主要分為主程序、數(shù)據(jù)采集程序、藍牙通信程序、小車運動控制程序,程序設計流程圖如圖7所示,當某一功能的程序設計好就導入至Arduino開發(fā)板,導入后看功能是否正常實現(xiàn),若能正常實現(xiàn)就再設計下一功能程序。若功能不能正常實現(xiàn),則重新調(diào)試該部分程序,當四部分功能程序均完成后,再對四部分功能的程序進行組合拼接,不斷導入程序并調(diào)試,當所有功能均實現(xiàn)后,則程序設計完成。
對藍牙串口助手進行編輯(如圖8左),手機與檢測小車通過藍牙模塊進行通信,發(fā)送不同指令實現(xiàn)對小車的控制,實現(xiàn)手機對小車的前進、后退及方向控制,并將檢測得到的環(huán)境數(shù)據(jù)通過藍牙模塊發(fā)送回手機藍牙串口助手APP(如圖8右),當環(huán)境數(shù)據(jù)超過閾值時進行報警。
結(jié)語
本設計完成了用于環(huán)境數(shù)據(jù)采集藍牙控制小車的系統(tǒng)設計,通過手機藍牙與數(shù)據(jù)采集小車通信,無線遙控小車的運動狀態(tài),藍牙控制范圍在10 m內(nèi),并將各傳感器采集的數(shù)據(jù)通過藍牙模塊傳送回手機藍牙串口助手APP,并且實現(xiàn)了根據(jù)煙霧濃度進行報警的功能。
參考文獻
[1]徐元文,張婧婧,陳寧.基于Arduino的無線環(huán)境探測小車的設計[J].計算機與現(xiàn)代化,2015(6):119-121.
[2]王惠軍.基于STC89S52與DHT11的溫濕度采集系統(tǒng)的設計[J].中國電子商務,2011(1):264-265.
[3]戈惠梅.基于Arduino的智能小車避障系統(tǒng)的設計[J].現(xiàn)代電子技術,2014,37(11):118-120.
[4]蘇琳,馬子杰,方穎宏.基于Arduino DUE的防跟蹤遇襲報警系統(tǒng)[J].傳感器與微系統(tǒng),2017,36(10):105-107.
[5]趙廣元,周亮,薛振諾,等.基于Arduino的貨運車輛實時監(jiān)測系統(tǒng)[J].西安郵電大學學報,2014(3):69-73.
[6]楊瑋,呂科,張棟,吳松,等.基于ZigBee技術的溫室無線智能控制終端開發(fā)[J].農(nóng)業(yè)工程學報,2010,26(3):198-202.
[7]張飛云.基于ZigBee無線網(wǎng)絡的智能豬舍控制系統(tǒng)設計[J].廣東農(nóng)業(yè)科學,2013,40(15):185-187.
[8]徐元文,張婧婧,陳寧.基于Arduino的無線環(huán)境探測小車的設計[J].計算機與現(xiàn)代化,2015(6):119-121.
[9]李瑞華,劉峰,喬玉峰.基于Arduino的礦井環(huán)境實時檢測系統(tǒng)設計與實現(xiàn)[J].電子設計工程,2017,25(5):17-19.