![閔行中學(xué)-基于藍(lán)牙手機(jī)的植物微生活管理-論文_第1頁(yè)](http://file4.renrendoc.com/view/899c623052bd87602282f115a6c699f0/899c623052bd87602282f115a6c699f01.gif)
![閔行中學(xué)-基于藍(lán)牙手機(jī)的植物微生活管理-論文_第2頁(yè)](http://file4.renrendoc.com/view/899c623052bd87602282f115a6c699f0/899c623052bd87602282f115a6c699f02.gif)
![閔行中學(xué)-基于藍(lán)牙手機(jī)的植物微生活管理-論文_第3頁(yè)](http://file4.renrendoc.com/view/899c623052bd87602282f115a6c699f0/899c623052bd87602282f115a6c699f03.gif)
![閔行中學(xué)-基于藍(lán)牙手機(jī)的植物微生活管理-論文_第4頁(yè)](http://file4.renrendoc.com/view/899c623052bd87602282f115a6c699f0/899c623052bd87602282f115a6c699f04.gif)
![閔行中學(xué)-基于藍(lán)牙手機(jī)的植物微生活管理-論文_第5頁(yè)](http://file4.renrendoc.com/view/899c623052bd87602282f115a6c699f0/899c623052bd87602282f115a6c699f05.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于藍(lán)牙手機(jī)的植物微生活管理閔行中學(xué)高二(7)於尹帆摘要由來(lái):如今,氣象與人們的生活密不可分,尤其對(duì)于植物愛(ài)好者來(lái)說(shuō),準(zhǔn)確的氣象預(yù)測(cè)能幫助他們更好的管理控制植物的生活環(huán)境,可市面上大多的天氣預(yù)報(bào)皆是一個(gè)大范圍的概況,如一個(gè)城市為單位,這些氣象值與其中的一個(gè)小區(qū)域范圍的氣象值往往存在不少的偏差,所以我想設(shè)計(jì)一款監(jiān)控小區(qū)域范圍內(nèi)天氣狀況的app,能幫助植物愛(ài)好者更好的了解植物所處范圍內(nèi)的氣象狀況。設(shè)計(jì)與思路;首先,軟件的功能擬定了五項(xiàng)最為普遍的測(cè)量項(xiàng),分別是溫度,濕度,氣壓,紫外線(xiàn)和PM2.5。并通過(guò)藍(lán)牙將手機(jī)與單片機(jī)相連,達(dá)到數(shù)據(jù)的傳輸與反饋,同時(shí),除了單片機(jī)測(cè)量的區(qū)域性氣象,軟件上還能通過(guò)網(wǎng)絡(luò),了解到大范圍的天氣狀況,我還想到在天氣悶熱的情況下,能否通過(guò)手機(jī)控制來(lái)達(dá)到降溫的作用,于是我又在單片機(jī)上添加來(lái)協(xié)助完成散熱的功能。這款app通過(guò)藍(lán)牙控制傳輸和接收信息,氣象站上主要有溫度,濕度傳感器,氣壓傳感器,紫外線(xiàn)傳感器和PM2.5傳感器,當(dāng)單片機(jī)將這五項(xiàng)數(shù)據(jù)采集并轉(zhuǎn)化后,通過(guò)藍(lán)牙將數(shù)據(jù)發(fā)送至手機(jī),再通過(guò)對(duì)所發(fā)送的信息進(jìn)行提取,方便使用者能直觀的在手機(jī)上看到每項(xiàng)數(shù)據(jù)值,并做出對(duì)植物環(huán)境的調(diào)整與防范,不僅是小區(qū)域范圍的天氣監(jiān)測(cè),app中還有可連接網(wǎng)絡(luò)查詢(xún)大區(qū)域范圍的功能,另外,氣象站上還有一個(gè)小馬達(dá),通過(guò)手機(jī)上的open和stop鍵控制,在天氣過(guò)于悶熱的情況下,對(duì)植物進(jìn)行一定的散熱。關(guān)鍵詞,氣象監(jiān)測(cè),小區(qū)域,手機(jī)軟件本項(xiàng)目主要?jiǎng)?chuàng)新點(diǎn):通過(guò)藍(lán)牙濕手機(jī)程序和單片機(jī)程序通訊,可監(jiān)測(cè)小范圍精準(zhǔn)的氣象情況,手機(jī)端鏈接網(wǎng)絡(luò),可查詢(xún)大范圍氣象情況單片機(jī)端上連接小馬達(dá)作為風(fēng)扇,通過(guò)手機(jī)端控制為植物降溫。目錄一、序言3(1)選題由來(lái)3(2)研究?jī)?nèi)容3二、技術(shù)方案的設(shè)計(jì)與實(shí)現(xiàn)4(1)技術(shù)方案的選定4(2)裝置功能總介紹5(3)運(yùn)行原理及其邏輯圖5(4)裝置核心結(jié)構(gòu)介紹及開(kāi)發(fā)7三、結(jié)論與展望13四、感謝14五、參考文獻(xiàn)14附錄
一、序言(1)選題由來(lái)如今,氣象與人們的生活密不可分,尤其對(duì)于植物愛(ài)好者來(lái)說(shuō),準(zhǔn)確的氣象預(yù)測(cè)能幫助他們更好的管理控制植物的生活環(huán)境。通過(guò)調(diào)查我發(fā)現(xiàn)1.市面上大多的天氣預(yù)報(bào)皆是一個(gè)大范圍的概況,如一個(gè)城市為單位。2.大多天氣預(yù)報(bào)顯示的數(shù)據(jù)大多為一個(gè)地區(qū)溫濕度,氣壓等的平均值這些氣象值與其中的一個(gè)小區(qū)域范圍的真實(shí)氣象值往往存在不少的偏差。所以我想設(shè)計(jì)一款監(jiān)控小區(qū)域范圍內(nèi)天氣狀況的app,能幫助植物愛(ài)好者更好的了解植物所處范圍內(nèi)的氣象狀況(2)研究?jī)?nèi)容我開(kāi)發(fā)一款可以通過(guò)手機(jī)進(jìn)行監(jiān)控并控制降溫的智能氣象站。我開(kāi)發(fā)的智能氣象站的設(shè)計(jì)思想是:通過(guò)單片機(jī)連接傳感器獲得空氣中溫濕度,氣壓,紫外線(xiàn),以及PM2.5的數(shù)據(jù),并將數(shù)據(jù)實(shí)時(shí)傳給手機(jī)端;手機(jī)端接受到數(shù)據(jù)后,結(jié)合預(yù)設(shè)的設(shè)置對(duì)數(shù)據(jù)進(jìn)行分析,提取。當(dāng)溫度過(guò)高的情況下,通過(guò)手機(jī)給單片機(jī)發(fā)送指令,單片機(jī)通過(guò)手機(jī)發(fā)送回的指令來(lái)控制風(fēng)扇的開(kāi)啟和關(guān)閉。我設(shè)計(jì)并開(kāi)發(fā)的智能氣象站目的是針對(duì)現(xiàn)有市面氣象報(bào)告的缺點(diǎn),提出一種小范圍氣象測(cè)量的裝置,具有結(jié)構(gòu)合理、使用簡(jiǎn)便、測(cè)量精準(zhǔn)等優(yōu)點(diǎn)。
二、技術(shù)方案的設(shè)計(jì)與實(shí)現(xiàn)(1)技術(shù)方案的選定1.具體方案我開(kāi)發(fā)的智能氣象站的設(shè)計(jì)思想是:通過(guò)單片機(jī)連接傳感器獲得空氣中溫濕度,氣壓,紫外線(xiàn),以及PM2.5的數(shù)據(jù),并將數(shù)據(jù)實(shí)時(shí)傳給手機(jī)端;手機(jī)端接受到數(shù)據(jù)后,結(jié)合預(yù)設(shè)的設(shè)置對(duì)數(shù)據(jù)進(jìn)行分析,提取。當(dāng)溫度過(guò)高的情況下,通過(guò)手機(jī)給單片機(jī)發(fā)送指令,單片機(jī)通過(guò)手機(jī)發(fā)送回的指令來(lái)控制風(fēng)扇的開(kāi)啟和關(guān)閉。整個(gè)智能氣象站主要由兩部分組成,第一部分,手機(jī)端控制程序的開(kāi)發(fā)。該程序主要是實(shí)現(xiàn)對(duì)空氣中溫濕度,氣壓,紫外線(xiàn),以及PM2.5的數(shù)據(jù)的監(jiān)控,同時(shí)用戶(hù)可以通過(guò)手機(jī)端進(jìn)行控制風(fēng)扇開(kāi)啟達(dá)到降溫目的的設(shè)置。在手機(jī)端還設(shè)計(jì)了鏈接網(wǎng)絡(luò)查看大范圍氣象的功能。第二部分,單片機(jī)端程序開(kāi)發(fā)和氣象站的組建。包括單片機(jī),溫度,濕度傳感器,氣壓傳感器,紫外線(xiàn)傳感器和PM2.5傳感器。功能實(shí)現(xiàn)主要點(diǎn):?jiǎn)纹瑱C(jī)控制器連接四項(xiàng)傳感器,并控制連接風(fēng)扇。結(jié)合方案單片機(jī)控制部分和澆水的機(jī)械部分材料的選定如下,單片機(jī)開(kāi)發(fā)板選擇Mega2560。ArduinoMega2560特點(diǎn)是采用USB接口的核心電路板,具有54路數(shù)字輸入輸出,適合需要大量IO接口的設(shè)計(jì)。處理器核心是ATmega2560,同時(shí)具有54路數(shù)字輸入/輸出口(其中16路可作為PWM輸出),16路模擬輸入,4路UART接口,一個(gè)16MHz晶體振蕩器,一個(gè)USB口,一個(gè)電源插座,一個(gè)ICSPheader和一個(gè)復(fù)位按鈕。ArduinoMega2560也能兼容為ArduinoUNO設(shè)計(jì)的擴(kuò)展板。,空氣溫濕度傳感器選擇DHT11,氣壓傳感器選擇BMP085,PM2.5傳感器選擇SDS018-V2-012,馬達(dá)選擇28BYJ-48,藍(lán)牙模塊選擇HC-06。手機(jī)我們選擇帶藍(lán)牙功能的安卓手機(jī)即可。2.開(kāi)發(fā)流程(1)調(diào)查如今氣象普遍測(cè)量范圍(2)查閱相關(guān)書(shū)籍解決技術(shù)問(wèn)題(3)編寫(xiě)程序(4)調(diào)試完善3.開(kāi)發(fā)環(huán)境手機(jī)端程序開(kāi)發(fā)工具為AppInventor2版本。單片機(jī)程序開(kāi)發(fā)軟件為Arduino1.6.11版本。(二)裝置功能總介紹我開(kāi)發(fā)的系統(tǒng)包括有以下一些主要功能(1)通過(guò)開(kāi)發(fā)手機(jī)程序和單片機(jī)程序結(jié)合通訊,實(shí)現(xiàn)遠(yuǎn)端監(jiān)控。時(shí)刻檢測(cè)到當(dāng)前土壤濕度和空氣溫濕度。(2)能夠通過(guò)手機(jī)端程序?qū)︼L(fēng)扇進(jìn)行控制啟動(dòng),達(dá)到降溫的目的.(3)手機(jī)端程序鏈接網(wǎng)絡(luò),獲取大范圍天氣預(yù)報(bào)(三)運(yùn)行原理及其邏輯圖在設(shè)計(jì)思想的指導(dǎo)下,基于選定的設(shè)計(jì)方案和功能我的整個(gè)裝置的邏輯圖應(yīng)如下圖一所示:溫濕度傳感器溫濕度傳感器藍(lán)牙模塊藍(lán)牙模塊氣壓傳感器手機(jī)氣壓傳感器手機(jī)Mega2560單片機(jī)Mega2560單片機(jī)紫外線(xiàn)傳感器紫外線(xiàn)傳感器PM2.5傳感器PM2.5傳感器Mega2560單片機(jī)2Mega2560單片機(jī)2風(fēng)扇風(fēng)扇 圖一基于安卓系統(tǒng)的智能氣象站的手機(jī)端的邏輯圖如下圖二所示:將采集到的所有數(shù)據(jù)發(fā)給手機(jī)將采集到的所有數(shù)據(jù)發(fā)給手機(jī)開(kāi)始接受手機(jī)端信息接受手機(jī)端信息數(shù)據(jù)分析與提取數(shù)據(jù)分析與提取結(jié)束結(jié)束圖二基于安卓系統(tǒng)的智能氣象站的單片機(jī)控制端的邏輯圖如下圖三所示開(kāi)始開(kāi)始通過(guò)藍(lán)牙與單片機(jī)相連通過(guò)藍(lán)牙與單片機(jī)相連獲取獲取當(dāng)前氣溫濕度,氣壓,紫外線(xiàn),PM2.5將氣象值發(fā)送至手機(jī)端將氣象值發(fā)送至手機(jī)端結(jié)束
結(jié)束基于安卓系統(tǒng)的智能氣象站的單片機(jī)端2控制的邏輯圖如下圖四所示開(kāi)始開(kāi)始將采集到的所有數(shù)據(jù)發(fā)給手機(jī)接受手機(jī)端信息接受手機(jī)端信息模式判斷模式判斷打開(kāi)風(fēng)扇打開(kāi)風(fēng)扇openopen關(guān)閉風(fēng)扇關(guān)閉風(fēng)扇stopstop結(jié)束結(jié)束圖四(四)裝置核心結(jié)構(gòu)介紹及開(kāi)發(fā)(1)單片機(jī)和手機(jī)互相通訊問(wèn)題智能氣象站系統(tǒng)包括手機(jī)端和單片機(jī)端,為了使數(shù)據(jù)信息傳遞,在整個(gè)系統(tǒng)開(kāi)發(fā)中,首先要解決的問(wèn)題這兩個(gè)設(shè)備之間的通訊問(wèn)題。從各方面考慮,我最終選定藍(lán)牙技術(shù)作為本項(xiàng)目中的通訊方式。第一、選定并正確連接藍(lán)牙模塊,藍(lán)牙模塊為HC-06,將藍(lán)牙模塊的RXD,TXD(數(shù)據(jù)接受端)分別連接在Mega2560單片機(jī)的TX3,RX3數(shù)據(jù)發(fā)送端。見(jiàn)下圖五TX3Mega2560單片機(jī)圖五TX3Mega2560單片機(jī)圖五RXDRXDHC-06藍(lán)牙模塊RX3HC-06藍(lán)牙模塊RX3TXDTXD第二、確定通訊約定和單片機(jī)端編寫(xiě)通訊程序。通訊約定為八為一組,具體分操作模式,命令,數(shù)據(jù)三類(lèi),如下所示:由1)Command:CX:C--tagforCommandX--1:requestforthetemperatureandhumidityvalue2:requestforthepressurevalue3:requestforthePM2.5andUVvalue3)Data:D1XYZABC:D--tagforDataXYZ--XY:integervalueoftemperatureZ:fractionalvalueoftemperatureABC--AB:integervalueofhumidityC:fractionalvalueofhumidityD2UVWXYZ:D--tagforDataUVWXYZ--AirpressurevalueD3HIJKUV:D--tagforDataHIJK--valueofPM2.5U--UVlevel上述可知如果手機(jī)端藍(lán)牙接收到“D1191189”表示當(dāng)前空氣溫度為19.1度,濕度為18.9%,。如果手機(jī)端藍(lán)牙接收到“D2101822”表示氣壓為101822pa。如果手機(jī)端藍(lán)牙接收到“D3115025”,表示PM2.5為115.0μg/m3,紫外線(xiàn)為25。單片機(jī)往串口3發(fā)送信息時(shí),因?yàn)镠C-06藍(lán)牙模塊接在Mega2560單片機(jī)的RX3和TX3,所以藍(lán)牙模塊就能收到信息。第三、手機(jī)端的藍(lán)牙作為藍(lán)牙客戶(hù)端。接受從單片機(jī)端的藍(lán)牙模塊發(fā)送過(guò)來(lái)的信息。在通訊時(shí),手機(jī)端藍(lán)牙首先要與單片機(jī)藍(lán)牙聯(lián)機(jī),手機(jī)端編寫(xiě)聯(lián)機(jī)代碼如下圖五:圖五手機(jī)端發(fā)送的代碼如下圖六:手機(jī)端接受信息的代碼如下圖七:圖七(2)單片機(jī)對(duì)風(fēng)扇的控制當(dāng)溫度過(guò)高的情況下,通過(guò)手機(jī)給單片機(jī)發(fā)送指令,單片機(jī)通過(guò)手機(jī)發(fā)送回的指令來(lái)控制風(fēng)扇的開(kāi)啟和關(guān)閉。如下圖八所示:Mega2560單片機(jī)2Mega2560單片機(jī)2風(fēng)扇風(fēng)扇步進(jìn)電機(jī)驅(qū)動(dòng)器INNO步進(jìn)電機(jī)驅(qū)動(dòng)器INNO解決了關(guān)鍵性的技術(shù)后,我設(shè)計(jì)開(kāi)發(fā)了基于安卓系統(tǒng)的智能氣象站,開(kāi)發(fā)出的實(shí)物圖如下圖1圖2:圖1圖2三、結(jié)論與展望我的整個(gè)系統(tǒng)經(jīng)過(guò)多次測(cè)試效果良好,小范圍的數(shù)據(jù)都很準(zhǔn)確,所有的功能都達(dá)到了我的預(yù)期要求,可以監(jiān)控小區(qū)域范圍內(nèi)天氣狀況,幫助植物愛(ài)好者更好的了解植物所處范圍內(nèi)的氣象狀況。我設(shè)計(jì)的基于安卓系統(tǒng)的智能氣象站將手機(jī)程序和單片機(jī)程序?qū)崿F(xiàn)通訊。整個(gè)溫度,濕度傳感器,氣壓傳感器,紫外線(xiàn)傳感器和PM2.5傳感器測(cè)得數(shù)據(jù)并傳給Mega2560單片機(jī),再由單片機(jī)的輸出到藍(lán)牙模塊。藍(lán)牙再將信息發(fā)給手機(jī),手機(jī)接收到信息顯示出來(lái),作為參考值。智能氣象站是通過(guò)單片機(jī)將測(cè)量值發(fā)送給手機(jī),手機(jī)端對(duì)數(shù)據(jù)進(jìn)行分析和提取.同時(shí),通過(guò)手機(jī)上的open和stop鍵控制單片機(jī)端,在天氣過(guò)于悶熱的情況下,對(duì)植物進(jìn)行一定的散熱。通過(guò)這次項(xiàng)目的實(shí)踐過(guò)程,我不但學(xué)會(huì)了一些單片機(jī)編程的基礎(chǔ)知識(shí),也豐富了我對(duì)編程方面的知識(shí)與認(rèn)知。嚴(yán)密的編程鍛煉了我的邏輯思維,項(xiàng)目的組裝時(shí)的種種困難也鍛煉了我堅(jiān)持下去的意志,培養(yǎng)了堅(jiān)持不懈,刻苦鉆研問(wèn)題的精神。這些收獲是我在完成項(xiàng)目的過(guò)程中最為可貴的的。對(duì)于我的智能氣象站,進(jìn)一步設(shè)想和改進(jìn):可增加警告提示,比如當(dāng)某一項(xiàng)值超過(guò)正常范圍,顯示提示,使植物愛(ài)好者能更直觀的發(fā)現(xiàn)并作出防范四、感謝本次項(xiàng)目是我在老師的細(xì)心輔導(dǎo)下完成的。從課題一開(kāi)始的選擇方向與發(fā)展方向,到實(shí)體物體的組裝與軟件的開(kāi)發(fā),再到最后項(xiàng)目的完成,老師都在我的身邊細(xì)心耐心的輔導(dǎo)我,鼓勵(lì)我。在課題的整個(gè)研究工作期間,每當(dāng)我遇見(jiàn)技術(shù)上的問(wèn)題時(shí),他總是耐心的為我講解,使我不斷的堅(jiān)持努力下來(lái),并對(duì)我的項(xiàng)目提出了不少建議,使我不斷改進(jìn)完善自我,使我的項(xiàng)目更加科學(xué)嚴(yán)密。在此謹(jǐn)向老師致以衷心的感謝和深深的敬意!謝謝老師。五、參考文獻(xiàn) [1]鄭劍春,
張少華
.AppInventor2與機(jī)器人程序設(shè)計(jì)[M].清華大學(xué)出版社.第1版(2016年8月1日).[2]王寅峰(編者).AppInventor2中文版開(kāi)發(fā)實(shí)戰(zhàn):Android智能應(yīng)用開(kāi)發(fā)前傳[M].電子工業(yè)出版社;第1版(2015年8月1日).[3]沃爾貝(DavidWolbe),埃布爾森(HalAbelson),斯珀特斯(EllenSpertus),盧尼(LizLooney),金從軍(譯者).寫(xiě)給大家看的安卓應(yīng)用開(kāi)發(fā)書(shū):AppInventor2快速入門(mén)與實(shí)戰(zhàn)[M].人民郵電出版社.第1版(2016年6月1日).[4]吳亞峰杜化美蘇亞光(作者),《Android編程典型實(shí)例與項(xiàng)目開(kāi)發(fā)》,電子工業(yè)出版社[5]佘志龍、鄭名杰(作者)等,《AndroidSDK開(kāi)發(fā)范例大全第2版》,人民郵電出版社[6]高彩麗袁海(作者)等,《AndroidSDK應(yīng)用開(kāi)發(fā)范例精解》,清華大學(xué)出版社[7]周士凱,唐春玲《智能手機(jī)軟件開(kāi)發(fā)—安卓版》重慶大學(xué)出版社2015年02月
[8]劉旭,萬(wàn)春旭《手機(jī)應(yīng)用軟件開(kāi)發(fā)與應(yīng)用項(xiàng)目實(shí)踐(Android版)》清華大學(xué)出版社2012年11月
[9] [美]MichaelMargolis.臧海波譯.《學(xué)Arduino玩轉(zhuǎn)機(jī)器人制作》[M].人民郵電出版社.2014-04-30[10] [澳]JohnBOXALL著翁愷譯.《動(dòng)手玩轉(zhuǎn)Arduino》[M].北京人民郵電出版社.2014年1月204-210[11] [美]GordonMcComb著,唐樂(lè)譯.《Arduino機(jī)器人制作指南》[M].科學(xué)出版社.2014年1月[12] SimonMonk著,唐樂(lè)譯.《Arduino+Android互動(dòng)智作》[M].科學(xué)出版社.2013-1附錄*//*******************PortInterface**************ArduinoMegaDHT-22D5DAT+5VVCCGNDGND/*******************PortInterface**************ArduinoMegaBlueToothHC06TX3RXRX3TX+5VVCCGNDGND/*******************PortInterface**************ArduinoMegaI2CLCD1602GNDGND+5VVCCSCLSCLSDASDA/*******************PortInterface**************ArduinoMegaBMP085GNDGND+5VVCCSCLSCLSDASDA/*******************PortInterface**************ArduinoMegaDS3231GNDGND+5VVCCSCLSCLSDASDA/*******************PortInterface**************ArduinoMegaPM2.5SDS018TX2RXRX2TX+5VVCCGNDGND/*******************PortInterface**************ArduinoMegaUVSensorA0DAT+5VVCCGNDGNDCommunicationprotocal:1)Command:CX:C--tagforCommandX--1:requestforthetemperatureandhumidityvalue2:requestforthepressurevalue3:requestforthePM2.5andUVvalue3)Data:D1XYZABC:D--tagforDataXYZ--XY:integervalueoftemperatureZ:fractionalvalueoftemperatureABC--AB:integervalueofhumidityC:fractionalvalueofhumidityD2UVWXYZ:D--tagforDataUVWXYZ--AirpressurevalueD3HIJKUV:D--tagforDataHIJK--valueofPM2.5U--UVlevel*/#include<Wire.h>#include"DS3231.h"#include<LiquidCrystal_I2C.h>#include<dht.h>#include<BMP085.h>LiquidCrystal_I2Clcd(0x20,16,2);//settheLCDaddressto0x20fora16charsand2linedisplaydhtDHT;//CreatetheDHT22objectDS3231RTC;//CreatetheR8025objectBMP085dps=BMP085();//DigitalPressureSensor#defineDHT22_PIN5charweekDay[7][4]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};byteintegerTem=0;bytefractionalTem=0;byteintegerHum=0;bytefractionalHum=0;longpressure=0;longtmp_pressure=0;byteuvLevel=0;byteSDS018_buf[10]={0};byteindexPM25=0;uint8_tCRC_Check=0;uint16_tPM25=0;uint16_tPM10=0;uint16_ttmpPM25=0;uint16_ttmpPM10=0;byteindex=0;byteRx_buf[2]={'0','0'};byteDHT_buf[8]={'D','1','0','0','0','0','0','0'};byteAir_buf[8]={'D','2','0','0','0','0','0','0'};bytePM25_buf[8]={'D','3','0','0','0','0','0','0'};voidsetup(){pinMode(A0,INPUT);Serial.begin(9600);Serial2.begin(9600);Serial3.begin(9600);lcd.init();//initializethelcdWire.begin();RTC.begin();//initializetheDS3231dps.init(MODE_ULTRA_HIGHRES,1000,true);//10meters,true=usingmeterunitslcd.backlight();//lcd.noBacklight();lcd.setCursor(0,0);lcd.print("0000/00/0000.0C");lcd.setCursor(0,1);lcd.print("00.0%000000Pa");}voidloop(){ShowDate();showHumidity_Temperature();showPressure();showUVLevel();for(inti=0;i<8;i++)Serial.print(char(DHT_buf[i]));Serial.println();delay(1000);}voidShowDate(void){DateTimenow=RTC.now();//getthecurrentdate-timelcd.setCursor(0,0);lcd.print(now.year());if(now.month()>9)lcd.setCursor(5,0);elselcd.setCursor(6,0);lcd.print(now.month());if(now.date()>9)lcd.setCursor(8,0);elselcd.setCursor(9,0);lcd.print(now.date());Serial.print(now.year());Serial.print('/');Serial.print(now.month());Serial.print('/');Serial.print(now.date(),DEC);Serial.print('');Serial.print(now.hour(),DEC);Serial.print(':');Serial.print(now.minute(),DEC);Serial.print(':');Serial.print(now.second(),DEC);Serial.print('');Serial.print(weekDay[now.dayOfWeek()-1]);Serial.println();}voidshowHumidity_Temperature(){Serial.print("DHT22,\t");intchk=DHT.read22(DHT22_PIN);switch(chk){caseDHTLIB_OK:Serial.print("OK,\t");break;caseDHTLIB_ERROR_CHECKSUM:Serial.print("Checksumerror,\t");break;caseDHTLIB_ERROR_TIMEOUT:Serial.print("Timeouterror,\t");break;default:Serial.print("Unknownerror,\t");break;}//DISPLAYDATASerial.print(DHT.humidity,1);Serial.print(",\t");Serial.print(DHT.temperature,1);Serial.println();integerTem=int(DHT.temperature)/1;fractionalTem=int(DHT.temperature*10)%10;DHT_buf[2]=IntToByte(integerTem/10);DHT_buf[3]=IntToByte(integerTem%10);DHT_buf[4]=IntToByte(fractionalTem);lcd.setCursor(11,0);lcd.print(integerTem);lcd.setCursor(14,0);lcd.print(fractionalTem);integerHum=int(DHT.humidity)/1;fractionalHum=int(DHT.humidity*10)%10;DHT_buf[5]=IntToByte(integerHum/10);DHT_buf[6]=IntToByte(integerHum%10);DHT_buf[7]=IntToByte(fractionalHum);lcd.setCursor(0,1);lcd.print(integerHum);lcd.setCursor(3,1);lcd.print(fractionalHum);}voidshowPressure(void){dps.getPressure(&pressure);Serial.print("Pressure(Pa):");Serial.println(pressure);lcd.setCursor(8,1);lcd.print(pressure);tmp_pressure=pressure;Air_buf[2]=IntToByte(tmp_pressure/100000);tmp_pressure=tmp_pressure%100000;Air_buf[3]=IntToByte(tmp_pressure/10000);tmp_pressure=tmp_pressure%10000;Air_buf[4]=IntToByte(tmp_pressure/1000);tmp_pressure=tmp_pressure%1000;Air_buf[5]=IntToByte(tmp_pressure/100);tmp_pressure=tmp_pressure%100;Air_buf[6]=IntToByte(tmp_pressure/10);tmp_pressure=tmp_pressure%10;Air_buf[7]=IntToByte(tmp_pressure);}voidshowUVLevel(void){byteuv_value=0;byteref_level=64;uv_value=analogRead(A0);Serial.println(uv_value);uvLevel=int(uv_value/ref_level);PM25_buf[6]=IntToByte(uvLevel/10);PM25_buf[7]=IntToByte(uvLevel%10);}voidserialEvent2(void){while(Serial2.available()){SDS018_buf[indexPM25]=Serial2.read();//getthenewbyte:if(SDS018_buf[0]==0xAA)indexPM25=indexPM25+1;elseindexPM25=0;if(indexPM25>9){indexPM25=0;CRC_Check=0;if(SDS018_buf[1]==0xC0)//for(inti=0;i<10;i++)Serial.println(SDS018_buf[i]);for(inti=2;i<8;i++)CRC_Check+=SDS018_buf[i];if(CRC_Check==SDS018_buf[8]){Serial.println("CRCpassed!");PM25=(uint16_t)SDS018_buf[2]|(uint16_t)(SDS018_buf[3]<<8);PM10=(uint16_t)SDS018_buf[4]|(uint16_t)(SDS018_buf[5]<<8);Serial.println(PM25);Serial.println(PM10);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 成都市農(nóng)業(yè)源非CO2 GHG達(dá)峰及減排路徑研究
- 電子競(jìng)技產(chǎn)業(yè)融資策劃書(shū)教育視角的探索
- 個(gè)人項(xiàng)目投資計(jì)劃書(shū)
- 四川2024年12月四川南充南部縣黨政機(jī)關(guān)考調(diào)20人(第二批)國(guó)家公務(wù)員考試消息筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年度家禽養(yǎng)殖場(chǎng)節(jié)能減排與新能源利用合同
- 北京2024年12月國(guó)家藥品監(jiān)督管理局高級(jí)研修學(xué)院招考1名編制外人員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 存量房買(mǎi)賣(mài)中介居間合同范本
- 農(nóng)村自制水電維修合同范本
- 人才測(cè)繪合同范本
- 農(nóng)業(yè)項(xiàng)目租地合同范本
- 勞動(dòng)感悟800字作文30篇
- 尚書(shū)全文及譯文
- 華師大版初中數(shù)學(xué)中考總復(fù)習(xí)全套課件
- 動(dòng)物外科與產(chǎn)科
- 上下樓梯安全我知道安全教育課件
- 市級(jí)臨床重點(diǎn)專(zhuān)科申報(bào)書(shū)
- 手術(shù)風(fēng)險(xiǎn)及醫(yī)療意外險(xiǎn)告知流程
- 綜合實(shí)踐活動(dòng)六年級(jí)下冊(cè) 飲料與健康課件 (共16張PPT)
- 《醫(yī)院重點(diǎn)專(zhuān)科建設(shè)專(zhuān)項(xiàng)資金管理辦法》
- 最新短視頻運(yùn)營(yíng)績(jī)效考核表KPI(優(yōu)選.)
- 設(shè)備基礎(chǔ)隔振設(shè)計(jì)探討
評(píng)論
0/150
提交評(píng)論