沈華剛 洪香勤 都興隆
摘 要:文章針對(duì)城市中PM2.5進(jìn)行分析監(jiān)視,并把數(shù)據(jù)實(shí)行顯示在下位機(jī)和網(wǎng)絡(luò)端。有利于相關(guān)部門或個(gè)人獲得PM2.5數(shù)據(jù)信息,及時(shí)對(duì)惡劣污染作出反應(yīng),減少惡劣環(huán)境對(duì)人們的侵害。本系統(tǒng)由Arduino uno R3開發(fā)板、PM2.5傳感器、LCD液晶顯示模塊、蜂鳴器報(bào)警裝置、W5100等模塊組成,空氣中的PM2.5被傳感器采集,數(shù)據(jù)經(jīng)過Arduino單片機(jī)處理后,顯示在LCD12864顯示屏上,并通過W5100把數(shù)據(jù)傳到網(wǎng)絡(luò)端,由C#接收數(shù)據(jù)并保存在數(shù)據(jù)庫(kù)中,同時(shí)在網(wǎng)絡(luò)端顯示數(shù)據(jù)和曲線。
關(guān)鍵詞:Arduino;實(shí)時(shí)監(jiān)測(cè);PM2.5
1 系統(tǒng)的總體設(shè)計(jì)思路
本設(shè)計(jì)所要介紹的是基于Arduino單片機(jī)的PM2.5檢測(cè)裝置及通過W5100上傳到網(wǎng)絡(luò)的網(wǎng)絡(luò)顯示系統(tǒng)。利用PM2.5傳感器檢測(cè)PM2.5值,經(jīng)Arduino處理后在12864液晶顯示屏上顯示,供人觀測(cè)。將獲取的PM2.5值利用C#保存到SQL Server數(shù)據(jù)庫(kù)中利用C#,ECharts,JQuery技術(shù)將PM2.5值以折線的形式顯示在網(wǎng)頁(yè)中,可以顯示不同時(shí)段、不同間隔的PM2.5值,當(dāng)檢測(cè)到的PM2.5值超過警戒值時(shí),在下位機(jī)上蜂鳴器會(huì)發(fā)聲,同時(shí)在液晶屏上出現(xiàn)哭臉,在網(wǎng)絡(luò)端會(huì)發(fā)郵件給環(huán)境管理人員;當(dāng)環(huán)境溫度正常時(shí),在下位機(jī)上顯示笑臉,并顯示PM2.5數(shù)據(jù)[1]。
2 元器件的選擇
2.1 單片機(jī)部分
本系統(tǒng)采用Arduino單片機(jī),該單片機(jī)常用于3D打印機(jī)的控制,是一塊基于開放源代碼新型開源單片機(jī),包括12數(shù)字通道,4個(gè)PWM端口,8個(gè)ADC接口,Arduino簡(jiǎn)單易學(xué),使用類似Java,C語言編程開發(fā)環(huán)境。使用者可以快速使用Arduino與Flash或Processing等軟件實(shí)現(xiàn)常用的功能。
2.2 傳感器部分
選擇工作電壓為4.8~5.2 V夏普二代粉塵傳感器,其工作溫度-20~70 ℃,該傳感器內(nèi)部集成單片機(jī)驅(qū)動(dòng)算法,檢測(cè)到PM2.5數(shù)據(jù)直接通過傳感器的串口輸出。在編程時(shí)直接通過相應(yīng)的單片機(jī)解析得到16位數(shù)據(jù)即可,數(shù)據(jù)輸出方式有模擬端口和串口兩種方式,在編程時(shí)可以利用模擬端口輸出電壓值Vo乘以修正系數(shù)K即得到PM2.5值;也可以利用串口輸出值Vo,實(shí)際應(yīng)用時(shí)應(yīng)該根據(jù)傳感器輸出的不同的電壓確定相應(yīng)的灰塵質(zhì)量分?jǐn)?shù)[2]。
2.3 蜂鳴器
蜂鳴器是一種產(chǎn)生鳴叫的電子元器件,采用直流電源供電,在需要報(bào)警發(fā)聲或利用聲音起提示功能的電路中經(jīng)常使用。蜂鳴器可以分為兩類:一類是利用電壓發(fā)聲的壓電式蜂鳴器,另一種是利用電磁感應(yīng)原理發(fā)聲的電磁式蜂鳴器。
3 顯示部分
本次系統(tǒng)選擇了LCD12864液晶顯示屏作為PM2.5顯示部分,LCD12864液晶顯示屏支持串行和并行兩種模式,既可以顯示中文也可以顯示英文和表情符號(hào),在編程時(shí)只要把中文和表情利用軟件轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)即可在該液晶屏上顯示,可直觀地顯示當(dāng)前的PM2.5值。
LCD12864液晶顯示屏廣泛應(yīng)用于單片機(jī)控制系統(tǒng),可以顯示英文也可以顯示漢字、圖片、曲線等數(shù)據(jù)。LCD12864液晶顯示屏集成度很高,一般由行驅(qū)動(dòng)芯片、數(shù)據(jù)控制芯片和列驅(qū)動(dòng)芯片三大模塊組成,LCD12864液晶顯示屏帶由漢字庫(kù),所以能夠顯示漢字和表情。Arduino單片機(jī)讀寫LCD12864液晶顯示屏數(shù)據(jù)實(shí)際上就是對(duì)LCD的控制芯片進(jìn)行讀寫。利用Arduino單片機(jī)編程驅(qū)動(dòng)LCD12864液晶顯示屏?xí)r,不需要對(duì)LCD12864液晶顯示屏的原理進(jìn)行深入了解,只要調(diào)用Arduino的液晶顯示屏庫(kù)文件和相應(yīng)的方法就可以了[3]。
LCD12864顯示屏使用時(shí)注意事項(xiàng):(1)當(dāng)使用LCD12864顯示屏?xí)r,在讀取數(shù)據(jù)時(shí)視線應(yīng)該垂直于液晶顯示屏。(2)防止LCD12864顯示屏液晶屏跌落或撞擊,避免液晶顯示屏破裂。(3)液晶顯示屏表面避免有液體,當(dāng)出現(xiàn)液體時(shí)盡快擦干以防止液晶屏腐蝕,降低顯示效果。(4)LCD12864顯示屏液晶屏液晶模組應(yīng)在規(guī)定的溫度范圍內(nèi)使用。(5)不要在LCD12864顯示屏的電源斷路器(Power Circuit Breaker,PCB)板上打孔,不要私自打開移動(dòng)或修改顯示屏的元件。(6)避免靜電[4]。
4 數(shù)據(jù)處理及編程思路
夏普PM2.5傳感器接收到的數(shù)據(jù)按公式計(jì)算后轉(zhuǎn)換成電壓Vo的值,計(jì)算公式如下:Vo=(Vout(H)×256+Vout(L))/1 024×5。
例如:Vout(H)=0x01,轉(zhuǎn)換為10進(jìn)制為1;Vout(L)=0xe0,轉(zhuǎn)換為10進(jìn)制為224;則Vo=(1×256+224)/1024×5=2.344 V。
得到Vo的數(shù)值后,乘以灰塵修正系數(shù)K即可得到PM2.5的質(zhì)量分?jǐn)?shù)值:灰塵質(zhì)量分?jǐn)?shù)=K×Vo。
本系統(tǒng)實(shí)現(xiàn)PM2.5監(jiān)測(cè)方案最基本的實(shí)現(xiàn)方法是由Arduino uno R3開發(fā)板、PM2.5傳感器、LCD液晶顯示模塊、蜂鳴器報(bào)警裝置、W5100等組件組成的電路,空氣中的PM2.5被傳感器采集,其數(shù)據(jù)經(jīng)過Arduino單片機(jī)處理后,最終結(jié)果會(huì)在LCD顯示屏上顯示。PM2.5值高于報(bào)警值后,蜂鳴器會(huì)報(bào)警[5]。另外,本課題不僅能夠?qū)崟r(shí)檢測(cè)PM2.5的質(zhì)量分?jǐn)?shù),也可以根據(jù)當(dāng)前檢測(cè)的PM2.5質(zhì)量分?jǐn)?shù)值是否超標(biāo)做出反應(yīng),超標(biāo)時(shí)蜂鳴器會(huì)報(bào)警,表情會(huì)變成哭臉。報(bào)警值可以預(yù)設(shè)程序中的臨界值,根據(jù)PM2.5檢測(cè)網(wǎng)的空氣質(zhì)量新標(biāo)準(zhǔn):優(yōu) 0~35 μg/m3,良35~75 μg/m3,輕度污染75~115 μg/m3,中度污染 115~150 μg/m3,重度污染150~250 μg/m3,嚴(yán)重污染大于250 μg/m3及以上,故編寫下位機(jī)程序的思路如下。
檢測(cè)的PM2.5的質(zhì)量分?jǐn)?shù)值在300以下,蜂鳴器不鳴叫,表示環(huán)境未達(dá)到嚴(yán)重污染,表情為笑臉;檢測(cè)的PM2.5的質(zhì)量分?jǐn)?shù)值在300以上,蜂鳴器鳴叫,表示環(huán)境達(dá)到嚴(yán)重污染,表情為哭臉[6]。
對(duì)于網(wǎng)絡(luò)編程是將Arduino接收到的PM2.5值利用w5100將監(jiān)測(cè)到的PM2.5值傳送W5100的網(wǎng)關(guān)http://192.168.1.177/,利用C#抓取http://192.168.1.177/網(wǎng)頁(yè)中的內(nèi)容,分解得到PM2.5值并存入數(shù)組和數(shù)據(jù)庫(kù),利用C#,AJAX,JSON,ECharts,JQuery技術(shù)將PM2.5值以折線的形式顯示在網(wǎng)頁(yè)中,可以顯示不同時(shí)段、不同間隔的PM2.5值,當(dāng)檢測(cè)到的PM2.5值超過警戒值時(shí),在網(wǎng)絡(luò)端會(huì)發(fā)郵件給環(huán)境管理人員[7]??梢越y(tǒng)計(jì)每一周、每個(gè)月環(huán)境處于各個(gè)等級(jí)的天數(shù),以表格中不同字體顏色和折線兩種方式反映PM2.5的情況。
5 程序運(yùn)行情況
圖1是下位機(jī)的運(yùn)行情況圖,當(dāng)PM2.5正常的時(shí)候出現(xiàn)笑臉,并且顯示PM2.5的值。當(dāng)檢測(cè)到的PM2.5值超過警戒值時(shí),在下位機(jī)上蜂鳴器會(huì)發(fā)聲,同時(shí)在液晶屏上出現(xiàn)哭臉。
[參考文獻(xiàn)]
[1]蘇巧平,薛穎操,周一晨,等.基于MC9S12XS128MAA單片機(jī)的智能小車設(shè)計(jì)[J].新鄉(xiāng)學(xué)院學(xué)報(bào)(自然科學(xué)版),2013(3):195-198.
[2]高青,陳洪波,馮濤,等.老年人跌倒檢測(cè)系統(tǒng)的研究現(xiàn)狀與發(fā)展趨勢(shì)[J].醫(yī)療衛(wèi)生裝備,2015(12):102-105.
[3]王旭東.基于Lab Windows/CVI7.1綜合檢測(cè)系統(tǒng)[J].今日電子,2007(8):38-40.
[4]于慶魁,王任飛,李科杰.引信零件微機(jī)控制在線尺寸檢測(cè)系統(tǒng)的探討[J].現(xiàn)代引信,1988(4):22-30.
[5]張文龍,徐蔭濃.微計(jì)算機(jī)檢測(cè)系統(tǒng)中提高分辨能力的一種方法及其應(yīng)用[J].微計(jì)算機(jī)應(yīng)用,1988(5):33-35.
[6]南江萍.一種甲醛檢測(cè)系統(tǒng)的設(shè)計(jì)[J].無線互聯(lián)科技,2016(23):47-48.
[7]鄭娛,鮑楠,徐禮勝,等.跌倒檢測(cè)系統(tǒng)的研究進(jìn)展[J].中國(guó)醫(yī)學(xué)物理學(xué)雜志,2014(4):5071-5076.