版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于STM32的環(huán)境智能監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)摘要由于這幾年工業(yè)發(fā)展非常迅速,所以污染物排放量也比較大,所以各界技術(shù)人員針對(duì)這個(gè)問(wèn)題研發(fā)出各種技術(shù),所以環(huán)境保護(hù)也多了更多更方便更健全的應(yīng)用技術(shù),本次設(shè)計(jì)針對(duì)現(xiàn)目前環(huán)境監(jiān)測(cè)這一領(lǐng)域不能解決的問(wèn)題來(lái)設(shè)計(jì)一個(gè)比較實(shí)用的環(huán)境監(jiān)測(cè)系統(tǒng)。選用STM32單片機(jī),設(shè)計(jì)一個(gè)智能環(huán)境監(jiān)控系統(tǒng)。采用DXP軟件畫(huà)出電路原理圖,再用KeilμVision5編寫(xiě)程序來(lái)處理五個(gè)傳感器獲取環(huán)境實(shí)時(shí)參數(shù)、具有對(duì)煙霧濃度、濕度、溫度、氣壓、空氣質(zhì)量指標(biāo)進(jìn)行監(jiān)控的功能。用GSM和藍(lán)牙分別進(jìn)行遠(yuǎn)程無(wú)線通信和近距離無(wú)線通信并且接收信息來(lái)實(shí)現(xiàn)報(bào)警功能,同時(shí)蜂鳴器發(fā)出響聲,再通過(guò)OLED模塊顯示出煙霧濃度、PM2.5指標(biāo)、環(huán)境溫度、氣壓及濕度。然后用STM32嵌入式系統(tǒng)設(shè)計(jì)并制作智能監(jiān)控系統(tǒng),最后制作實(shí)物,進(jìn)行系統(tǒng)調(diào)試。該環(huán)境智能監(jiān)控系統(tǒng)在現(xiàn)實(shí)中有著重大的價(jià)值,提高了保護(hù)環(huán)境的工作質(zhì)量,給環(huán)保人員帶來(lái)便捷,減輕了工作負(fù)擔(dān)。當(dāng)檢測(cè)值超出設(shè)定值時(shí)會(huì)第一時(shí)間報(bào)警,解決了生活中所潛在的麻煩和危險(xiǎn)。關(guān)鍵詞:傳感器;GSM;藍(lán)牙;環(huán)境監(jiān)測(cè);STM32;無(wú)線通信目錄TOC\o"1-3"\h\u23407摘要 第2章系統(tǒng)總體設(shè)計(jì)2.2硬件電路設(shè)計(jì)模塊的選定2.2.1主控模塊對(duì)于設(shè)計(jì)這種電路,涉及到嵌入式這領(lǐng)域目前用得最多的兩種嵌入式單片機(jī)有AT89C51單片機(jī)和STM32單片機(jī)。本次課題選擇的是STM32單片機(jī)。STM32單片機(jī)分為多個(gè)功耗,它運(yùn)用的場(chǎng)合不同那么工作溫度不同,劃分為四個(gè)溫度級(jí)別,它的處理字長(zhǎng)為32位,處理器主頻根據(jù)型號(hào)不同頻率也不同,最高可達(dá)到2.5GHz。它的CPU的速度可以達(dá)到72MHz,它有一個(gè)優(yōu)秀受大眾廣泛運(yùn)用的性能,價(jià)格也非常低。I/O口主要的功能,接入外來(lái)設(shè)備后,可以接受來(lái)自外界的信號(hào),同時(shí)也可以把系統(tǒng)處理好的數(shù)據(jù)發(fā)送到外部接收端。功能模塊有多個(gè)不同模塊而且功能也非常強(qiáng)大。STM32要正常工作,還需要一些外部元件的搭配,這些外部元件我們稱為單片機(jī)的最小系統(tǒng)。它的工作電壓為2到3.6V用電源供電,所以可以看出來(lái)它的耗電能力是非常低的。相對(duì)51單片機(jī)來(lái)講,它們都有自己的特點(diǎn),有自己的開(kāi)發(fā)方式,系統(tǒng)中有自己的資源,有自己的開(kāi)發(fā)環(huán)境,當(dāng)然它們的操作系統(tǒng)也會(huì)有很大的區(qū)別,因?yàn)?1單片機(jī)不支持操作系統(tǒng),然而STM32則不同,它恰恰相反。因此用于開(kāi)發(fā)也比較簡(jiǎn)單,這時(shí),51單片機(jī)如果用于開(kāi)發(fā)則沒(méi)有這么容易了。雖然51系列單片機(jī)對(duì)于STM32而言比較容易學(xué)和簡(jiǎn)單,而且調(diào)試的步驟也比STM32單片機(jī)少,但是相對(duì)于STM32而言,它的實(shí)用性和功能都不算太高,系統(tǒng)自身結(jié)構(gòu)、性能也不是很突出,實(shí)用性也不高,它主要只是用在一些功能設(shè)備技術(shù)要求不高的領(lǐng)域。它的缺點(diǎn)相對(duì)STM32而言也比較多,AD、EEPROM這些功能必須得外加擴(kuò)展才能實(shí)現(xiàn),所以我們?cè)谧鲕浖陀布y(cè)試的時(shí)候是有一定難度的,如果它處于高電平時(shí),它沒(méi)有輸出的能力。這也是51系列單片機(jī)的一項(xiàng)弱點(diǎn),其二,它的運(yùn)行速度也沒(méi)有STM32快,系統(tǒng)保護(hù)能力也比較差,如果測(cè)試過(guò)程中有不當(dāng)操作隨時(shí)可能燒壞整個(gè)系統(tǒng)電路。所以本次經(jīng)過(guò)對(duì)比,篩選,以及可行性分析過(guò)后,選用STM32來(lái)作為主控模塊,用STM32單片機(jī)微控制器能完成本次智能監(jiān)控系統(tǒng)設(shè)計(jì)的要求,可以結(jié)合其他外圍電路模塊實(shí)現(xiàn)本次設(shè)計(jì)的全部功能。2.2.2GSM模塊運(yùn)用GSM模塊來(lái)通信實(shí)現(xiàn)數(shù)據(jù)傳輸達(dá)到一個(gè)報(bào)警功能,通過(guò)五個(gè)傳感器獲得的數(shù)據(jù)經(jīng)過(guò)微控制器處理過(guò)后,把其中煙霧濃度和空氣質(zhì)量?jī)身?xiàng)超標(biāo)數(shù)據(jù)通過(guò)GSM系統(tǒng)遠(yuǎn)程手機(jī)短信通知來(lái)達(dá)到通信報(bào)警功能。GSM模塊用于進(jìn)行控制信號(hào)發(fā)送與接收,主控制器在獲取到傳感器檢測(cè)到的環(huán)境參數(shù)并經(jīng)過(guò)判斷后,將環(huán)境參數(shù)通過(guò)GSM模塊發(fā)送給用戶,從而用戶得出相應(yīng)的環(huán)境參數(shù)信息。比如當(dāng)溫度傳感器檢測(cè)到當(dāng)前的溫度值超過(guò)或者是低于設(shè)置的值,則系統(tǒng)需要給用戶發(fā)送提示信號(hào),而提示信號(hào)主要是通過(guò)GSM來(lái)完成的。此外對(duì)于用戶在遠(yuǎn)程的家電控制指令的實(shí)現(xiàn)問(wèn)題也是通過(guò)信息模塊來(lái)進(jìn)行傳輸?shù)?。因此就功能上?lái)說(shuō),短信通知模塊GSM的主要是完成的是對(duì)用戶的提示作用,其相當(dāng)于是系統(tǒng)中報(bào)警裝置的一部分。因此,經(jīng)過(guò)研究分析,GSM也可以很好的運(yùn)用在這次設(shè)計(jì)中來(lái)作為遠(yuǎn)程通信部分來(lái)實(shí)現(xiàn)報(bào)警。2.2.3OLED顯示模塊本次智能監(jiān)控系統(tǒng)設(shè)計(jì)采用OLED液晶顯示屏,它是一種自發(fā)光的材料。讓人一目了然、顯示出來(lái)的數(shù)字信號(hào)畫(huà)質(zhì)清晰、而且顯示的速度非???、用稍微低一點(diǎn)的電源電路接上就可以導(dǎo)通,耗電非常低,性價(jià)比高,電路設(shè)計(jì)簡(jiǎn)單制作也比較容易。其實(shí)它就相當(dāng)于是一個(gè)有機(jī)發(fā)光二極管。顯示部分還可以采用LCD1602這款顯示器,其采用HD44780作為主控芯片,它可以用用8位的的數(shù)據(jù)傳輸形式,采用背光的驅(qū)動(dòng)形式(將A接+5V,K接地)。LCD1602通過(guò)R/W引腳來(lái)選擇對(duì)寄存器的讀寫(xiě),在每次進(jìn)行操作之前必須將E引腳置位以選中芯片,V0可連接可變電阻器進(jìn)行調(diào)節(jié)驅(qū)動(dòng)電壓,RS用來(lái)進(jìn)行存儲(chǔ)器的選擇引腳(高電平表示選中存儲(chǔ)器),LCD1602對(duì)電源電壓的要求2.7V到5.5V。LCD和OLED顯示屏的最大不同之處就是前者是液晶的,而后者則相當(dāng)于是一個(gè)發(fā)光二極管,LCD顯示器顯示不出來(lái)黑色部分,這是由于它的液晶層是不能關(guān)閉的,導(dǎo)致顯示黑色的時(shí)候,會(huì)有一些光穿過(guò)顏色層。而OLED卻避開(kāi)了這個(gè)缺點(diǎn)。
因?yàn)樗鼈兊脑O(shè)計(jì)有很大差異造成工作原理不同,前者依靠著背光層來(lái)發(fā)光,而后者則是一個(gè)主要靠驅(qū)動(dòng)電壓來(lái)發(fā)光的。從耗電方面來(lái)看,OLED的像素點(diǎn)是一個(gè)獨(dú)立的工作模式,又因?yàn)長(zhǎng)CD是背光全開(kāi),因此OLED比LCD更加節(jié)能更加省電。因此,綜上所述,這次選用OLED來(lái)顯示氣壓,空氣質(zhì)量,溫濕度,煙霧濃度是完全沒(méi)有問(wèn)題,還有很高應(yīng)用價(jià)值。2.2.4藍(lán)牙通信模塊本次設(shè)計(jì)除了用GSM遠(yuǎn)程短信報(bào)警以外還要用藍(lán)牙來(lái)進(jìn)行通信報(bào)警,來(lái)體現(xiàn)智能化。所以我選用了最常用的HC-05藍(lán)牙來(lái)通信。其實(shí)這款藍(lán)牙屬于一種串口轉(zhuǎn)化器,可以連接到手機(jī),電腦等多設(shè)備之間來(lái)進(jìn)行無(wú)線通信。
這次藍(lán)牙的通信方式我選用下載一個(gè)手機(jī)APP來(lái)作為信息數(shù)據(jù)的接受端,藍(lán)牙用來(lái)發(fā)送單片機(jī)處理后的超標(biāo)數(shù)據(jù)到接受端,來(lái)達(dá)到一個(gè)信息報(bào)警的功能。打開(kāi)接收信息用戶端的藍(lán)牙搜索選用的這個(gè)藍(lán)牙,它的名稱是“HC05”,再點(diǎn)擊連接設(shè)備,輸入正確的配對(duì)密碼,當(dāng)設(shè)備藍(lán)牙和手機(jī)APP成功連接之后,便可以進(jìn)行通信,但手機(jī)要下載一個(gè)接收數(shù)據(jù)的APP。采用的HC05藍(lán)牙主要有兩個(gè)模式,分別為主模式和從模式這兩種功能集成于一體。用于智能系統(tǒng)電路中可以充當(dāng)三個(gè)不同的角色。第一個(gè)角色就是在條件允許情況下被其他設(shè)備連接。第二個(gè)角色就是它可以搜索到離它最近的藍(lán)牙設(shè)備主動(dòng)的進(jìn)行配對(duì)。所以這兩個(gè)角色就是藍(lán)牙最典型運(yùn)用最廣。它還有最后一個(gè)角色那就是被動(dòng)的連接,它可以接收到一些比較遠(yuǎn)的數(shù)據(jù)信號(hào),再把接收數(shù)據(jù)按照一定的方式返回給藍(lán)牙的接收設(shè)備。由上所述,選擇HC-05能很好的完成這次系統(tǒng)的設(shè)計(jì)要求,來(lái)實(shí)現(xiàn)通信功能達(dá)到報(bào)警功能。2.2.5蜂鳴器模塊本次環(huán)境智能監(jiān)控系統(tǒng)的設(shè)計(jì)針對(duì)氣體和空氣質(zhì)量的參數(shù)大于設(shè)定的值時(shí)除了要用藍(lán)牙和GSM來(lái)通信實(shí)現(xiàn)報(bào)警以外,還要用到最常用的蜂鳴器報(bào)警裝置,這樣一來(lái)編程實(shí)現(xiàn)一個(gè)數(shù)據(jù)被微控制器處理后需要多次發(fā)聲提醒的作用。我選用的蜂鳴器報(bào)警裝置它的類型是無(wú)源型蜂鳴器,它的驅(qū)動(dòng)方式是電壓驅(qū)動(dòng)型。我用蜂鳴器的一個(gè)引腳接5V的驅(qū)動(dòng)電壓,需要用到一個(gè)信號(hào)放大的元器件,那就采用三極管的發(fā)射結(jié)來(lái)連接另外一個(gè)引腳,它的基極要有一個(gè)限流的電阻,這樣才能連接到單片機(jī)的串口,沒(méi)有電阻電壓太大那么三極管會(huì)有被擊穿的。然后通過(guò)集電極接地的方式構(gòu)成這次蜂鳴器工作的電路,只要滿足條件,只要我們給單片機(jī)寫(xiě)入低電平就可以驅(qū)動(dòng)它發(fā)出聲音。2.3各部分硬件電路的具體設(shè)計(jì)2.3.1STM32微控制器如圖2.2所示,該圖為本次設(shè)計(jì)選用的32系列單片機(jī)最小系統(tǒng)原理圖,它主要是由主芯片STM32F103C8T6、電源指示電路、下載接口電路、排針引腳電路、接口電路,復(fù)位電路、晶振電路、以及其它外圍電路組成。它的安全工作電壓大概在2V到3V這個(gè)范圍,只要經(jīng)過(guò)低通穩(wěn)壓器把電壓降低到3V以內(nèi)就可以通過(guò)5V的USB接口進(jìn)行通電測(cè)試。它有很多個(gè)復(fù)位的模式,這幾個(gè)模式分為系統(tǒng)的復(fù)位模式,電源的復(fù)位模式,備份區(qū)一定域的復(fù)位模式。通常情況下,我們都是用的電源復(fù)位模式。整個(gè)主芯片模塊中,有多個(gè)電容器,這是用于對(duì)雜亂的電壓波形信號(hào)進(jìn)行濾波和消除,來(lái)保持穩(wěn)定的電壓,我們稱為去耦電容。芯片中的C1這個(gè)分布電容我們用來(lái)進(jìn)行消抖,因?yàn)殡娙莸碾妷菏遣粫?huì)突變的,所以可以很好的用在電路中消除抖動(dòng),這是由于如果沒(méi)有電容,有的電路需要用到按鍵開(kāi)關(guān),當(dāng)按鍵開(kāi)關(guān)剛剛按下或者松開(kāi)的時(shí)候接觸只有10ms,會(huì)產(chǎn)生一個(gè)多次看不到的電平抖動(dòng),這樣會(huì)引起錯(cuò)誤的操作和測(cè)試,也會(huì)造成芯片執(zhí)行多次復(fù)位的操作的原因,所以就可以利用電容的電壓不會(huì)產(chǎn)生突變這一特性,用C1來(lái)進(jìn)行濾波,以此來(lái)防止抖動(dòng)現(xiàn)象造成的誤操作。電容C3,C4,C5,C6與晶振Y1,Y2組成晶振電路。晶振電路是單片機(jī)系統(tǒng)的核心,決定單片機(jī)的執(zhí)行速率。晶振電路激發(fā)一個(gè)正弦的時(shí)鐘信號(hào),單片機(jī)晶振電路設(shè)定的6個(gè)周期,每個(gè)周期還可劃分成2個(gè)振蕩周期。單片機(jī)的復(fù)位電路主要負(fù)責(zé)單片機(jī)的啟動(dòng),在通電時(shí)發(fā)出復(fù)位信號(hào)。當(dāng)單片機(jī)運(yùn)行時(shí),程序可能會(huì)被一些外部因素所干擾,運(yùn)行會(huì)出現(xiàn)錯(cuò)誤,這時(shí)復(fù)位電路程序?qū)⒅匦聫?fù)位執(zhí)行。單片機(jī)在時(shí)鐘電路運(yùn)行時(shí),在RESET端輸出高電平,執(zhí)行復(fù)位工作。復(fù)位電路通過(guò)電阻來(lái)穩(wěn)定電路增加輸出的高電平。STM32的型號(hào)也分為很多種,它可以可提供一百多的多功能引腳,它的端口也是由兩部分組成,I/O口有種不同的工作模式,只是它接受到數(shù)據(jù)需要輸出的速度取決于我們寫(xiě)的代碼,它的內(nèi)部有很多可以用用于編程的定時(shí)器,內(nèi)部的定時(shí)器又分為三類定時(shí)器。由于單片機(jī)是一個(gè)比較復(fù)雜的電路,所以它在工作中需要一個(gè)穩(wěn)定的時(shí)鐘源來(lái)給它提供脈沖信號(hào),它依靠?jī)?nèi)部的振蕩電路,可以給鎖相環(huán)提供時(shí)鐘信號(hào),要這樣單片機(jī)才能在一定的頻率中工作。因?yàn)閮?nèi)部的時(shí)鐘信號(hào)沒(méi)有外部的時(shí)鐘信號(hào)準(zhǔn)確和穩(wěn)定,所以盡量用外部時(shí)鐘。單片機(jī)微控制器有了復(fù)位電路,讓它更智能更完善,因?yàn)檫@個(gè)復(fù)位電路決定了整個(gè)系統(tǒng)電路能不能正常運(yùn)行能不能運(yùn)用到各種電路設(shè)計(jì)中去的一個(gè)決定性的作用,有了這個(gè)電路,程序才不會(huì)跑飛或者出現(xiàn)系統(tǒng)電路死機(jī)等情況。這個(gè)復(fù)位電路主要是由分布電容和按鍵來(lái)組成的。在進(jìn)行程序調(diào)試的過(guò)程中,我們要把自己設(shè)計(jì)好的程序,經(jīng)過(guò)反復(fù)修改后,保證沒(méi)有報(bào)錯(cuò)而且能實(shí)現(xiàn)它的功能的情況下,使用下載電路把相應(yīng)程序燒錄到片內(nèi)GAM中。單片機(jī)電路和仿真器連接成功后,就可以進(jìn)行調(diào)試。圖2.2最小系統(tǒng)原理圖2.3.2GSM模塊的設(shè)計(jì)如圖2.3所示,該圖是GSM電路圖,GSM模塊在這次設(shè)計(jì)上用于進(jìn)行控制信號(hào)發(fā)送與接收,單片機(jī)微處理器在獲取到傳感器檢測(cè)到的氣壓和空氣質(zhì)量并經(jīng)過(guò)判斷是否超出設(shè)定值后,如果超出就把超標(biāo)數(shù)據(jù)通過(guò)GSM模塊以短信的形式發(fā)送給手機(jī)來(lái)實(shí)現(xiàn)通信,從而用戶得到相應(yīng)的環(huán)境參數(shù)報(bào)警的提示信息。此外對(duì)于用戶在遠(yuǎn)程的家電控制指令的實(shí)現(xiàn)問(wèn)題也是通過(guò)信息模塊來(lái)進(jìn)行傳輸?shù)摹R虼司凸δ苌蟻?lái)說(shuō),短信通知模塊GSM的主要是完成的是對(duì)用戶的提示作用,相當(dāng)于本次設(shè)計(jì)系統(tǒng)中報(bào)警裝置的一部分。圖2.3GSM電路圖2.3.3蜂鳴器模塊設(shè)計(jì)如圖2.4所示,該圖為蜂鳴器電路圖,本次設(shè)計(jì)的功能要求需要用到這個(gè)蜂鳴器,當(dāng)單片機(jī)微處理器處理到的環(huán)境數(shù)據(jù)超出設(shè)定的值時(shí),這時(shí)需要一個(gè)發(fā)聲的報(bào)警器,就用蜂鳴器來(lái)實(shí)現(xiàn),只要系統(tǒng)給無(wú)線通信的藍(lán)牙和GSM通信時(shí)蜂鳴器也要不斷的發(fā)出聲響,來(lái)達(dá)到提示作用!本次設(shè)計(jì)采用的無(wú)源蜂鳴器其實(shí)它就是電磁式蜂鳴器的一種類型而已。有源蜂鳴器和它不同的是有源蜂鳴器的內(nèi)部含有振蕩電路,一加上電壓就會(huì)持續(xù)發(fā)出響聲,它音色單一,不能發(fā)出多種音調(diào)。而無(wú)源蜂鳴器則內(nèi)部沒(méi)有完整振蕩電路,只能通過(guò)輸出不同的頻率,經(jīng)過(guò)內(nèi)部的電磁線圈產(chǎn)生磁場(chǎng)帶動(dòng)振動(dòng)片來(lái)發(fā)出聲音。其實(shí)想讓蜂鳴器發(fā)聲,其實(shí)只要滿足條件,從GPIO口給它的加一個(gè)高低電平的狀態(tài)就可以發(fā)聲達(dá)到報(bào)警提示了。圖2.4蜂鳴器2.3.4OLED顯示模塊設(shè)計(jì)這次設(shè)計(jì)由于需要顯示出五個(gè)環(huán)境參數(shù)指標(biāo),也因?yàn)樗且环N類似LED的顯示器、而且視角范圍大,響應(yīng)速度快,圖像穩(wěn)定,亮度高、色彩豐富、分辨率高,驅(qū)動(dòng)電壓低、能耗低。所以選用這個(gè)OLED顯示屏,它是0.96寸的4線IIC協(xié)議OLED。它有四個(gè)接口分別為:電源地,電源電壓2.2V到5.5V,CLK時(shí)鐘,MOSI數(shù)據(jù)(高電平2.2V到5.5V)。如圖2.5所示,該圖為OLED電路圖。圖2.5OLED顯示電路2.3.5藍(lán)牙模塊的設(shè)計(jì)如圖2.6所示,該圖為藍(lán)牙電路連接圖。因?yàn)樵O(shè)計(jì)需求,所以采用了一個(gè)普遍常用的藍(lán)牙通信模塊。當(dāng)單片機(jī)微處理器把環(huán)境的參數(shù)全部獲取到,并且通過(guò)判斷是否已經(jīng)超出了預(yù)設(shè)值,如果超出了就把超標(biāo)的數(shù)據(jù)通過(guò)藍(lán)牙設(shè)備的連接配對(duì)然后傳輸給手機(jī)APP。如圖2.7所示,該圖為藍(lán)牙電路原理圖。這是我這次設(shè)計(jì)所用到的四個(gè)引腳,他們的功能分別是:RXD:數(shù)據(jù)接收端。TXD:數(shù)據(jù)發(fā)送端。VCC:直流電源供電正極。GND:供電負(fù)極接地端。圖2.6藍(lán)牙模塊原理圖圖2.7藍(lán)牙模塊原理圖2.3.6按鍵電路模塊的設(shè)計(jì)如圖2.8所示,該圖為按鍵電路的設(shè)計(jì)圖。此系統(tǒng)在要報(bào)警的一個(gè)條件下,需要按鍵來(lái)設(shè)定數(shù)值,即設(shè)定一個(gè)標(biāo)準(zhǔn)值,所以用到這四個(gè)獨(dú)立開(kāi)關(guān),它們一邊接單片機(jī)串口,一邊全部連起來(lái)接地。圖2.8系統(tǒng)按鍵電路2.3.7電源電路的設(shè)計(jì)如圖2.9所示,該圖為電源電路的設(shè)計(jì)圖。S1是設(shè)計(jì)的一個(gè)電源插座,因?yàn)檎麄€(gè)系統(tǒng)電路需要一個(gè)輸入電源供電才可以工作,所以設(shè)計(jì)它來(lái)接一個(gè)輸出的直流電壓+5V。圖中SW1是本次設(shè)計(jì)的一個(gè)電源開(kāi)關(guān),其作用是當(dāng)S1電源插座接入直流電源電壓,此時(shí)按下SW1開(kāi)關(guān),系統(tǒng)電路就通過(guò)AMS1117這個(gè)低壓穩(wěn)壓器導(dǎo)通了,同時(shí)這個(gè)電路的設(shè)計(jì)防止電源瞬間接通或者接觸不好的情況給系統(tǒng)電路一個(gè)沖擊造成電路燒壞而設(shè)計(jì)的一個(gè)電源電路。低通穩(wěn)壓器可以調(diào)節(jié)電流電壓的大小,也可以提供一個(gè)穩(wěn)定的1A輸出電流用于系統(tǒng)電路的工作,這個(gè)穩(wěn)壓器的跌落電壓會(huì)在輸出最大電流的時(shí)候達(dá)到1.3V的值,在低負(fù)載電流的時(shí)候會(huì)降低,它的基準(zhǔn)電壓被調(diào)到5%,同時(shí)電流的限制也被調(diào)節(jié),以這樣的方式來(lái)讓調(diào)節(jié)器和電源電路在超載的情況下降低壓力。圖2.9電源電路2.3.8煙霧濃度檢測(cè)電路的設(shè)計(jì)如圖2.10所示,該圖為煙霧濃度檢測(cè)電路的設(shè)計(jì)圖。圖2.10煙霧濃度檢測(cè)電路如圖2.11所示,該圖為煙霧濃度原理圖。它的工作電壓是直流5伏,通過(guò)電壓輸出來(lái)獲取氣體煙霧的濃度,再把檢測(cè)到的煙霧濃度保存下來(lái),然后單片機(jī)微控制器再來(lái)讀取它檢測(cè)的數(shù)據(jù)信號(hào),再以數(shù)字的形式通過(guò)顯示器展示出來(lái)。這個(gè)模塊主要有以下幾個(gè)特點(diǎn):1、具有信號(hào)輸出指示。2、模擬量輸出及TTL電平輸出。3、TTL輸出信號(hào)為低電平。4、模擬量輸出0V到5V電壓,濃度越高時(shí)電壓越高。5、可以很好地對(duì)液化氣,天然氣,煤氣等不同的氣體進(jìn)行檢測(cè),靈敏度也極高。6、使用壽命比較長(zhǎng),穩(wěn)定性也非??煽?。7、快速的響應(yīng)恢復(fù)特性。圖2.11煙霧濃度原理圖2.3.9溫、濕度檢測(cè)電路的設(shè)計(jì)如圖2.12所示,該圖為溫、濕度檢測(cè)電路的設(shè)計(jì)圖。在系統(tǒng)電路中采用單總線通信,通過(guò)通信獲取溫、濕度數(shù)據(jù)。這里的DA是數(shù)據(jù)的意思它主要是用于STM32單片機(jī)與和溫濕度傳感器之間的數(shù)據(jù)通信,數(shù)據(jù)交換,數(shù)據(jù)同步等,通訊一次的時(shí)間大約為4ms左右,處理的數(shù)據(jù)類型分為兩部分,分別是小數(shù)和整數(shù)部分,處理后得到的小數(shù)部分可以用于擴(kuò)展該模塊四個(gè)引腳組成,DHT11的供電電壓VCC為3V至5.5V。NC空腳這里是懸空的。傳感器上電后,要等待1s以越過(guò)不穩(wěn)定狀態(tài)在此期間無(wú)需發(fā)送任何指令。R5是一個(gè)上拉電阻,用于拉高總線的狀態(tài)。電源引腳(VCC,GND)接地之間可增加一個(gè)100nF的電容,可用以去耦濾波。圖2.12溫、濕度檢測(cè)電路主機(jī)和DHT11的通訊過(guò)程如圖2.13所示。圖2.13DHT11通信過(guò)程圖溫度、濕度測(cè)量分辨率分別為8bit(溫度)、8bit(濕度)。濕度測(cè)量范圍:20%到95%,濕度測(cè)量誤差:+-5%。溫度測(cè)量范圍:0度到50度,溫度測(cè)量誤差:+-2度。因?yàn)檩敵鲂问绞菙?shù)字輸出,所以數(shù)字“0”信號(hào)表示方法如下圖2.14所示。圖2.14信號(hào)0的表示方法數(shù)字“1”信號(hào)表示方法如下圖2.15所示。圖2.15信號(hào)1的表示方法2.3.10空氣質(zhì)量檢測(cè)電路的設(shè)計(jì)如圖2.16所示,該圖為空氣質(zhì)量檢測(cè)電路的設(shè)計(jì)圖。其原理采用A\D轉(zhuǎn)換獲取空氣質(zhì)量數(shù)據(jù)。我所選用的型號(hào)是GP2Y1010AUOF,它是一種光學(xué)粉塵傳感器。一個(gè)紅外發(fā)射二極管和一個(gè)光電晶體管被對(duì)角線地安排在這個(gè)檢測(cè)電路中。用在系統(tǒng)電路中來(lái)檢測(cè)空氣中灰塵的反射光。特別是對(duì)煙霧等一些細(xì)微的顆粒的檢測(cè)是非常有效的。此外,它可以通過(guò)輸出電壓的脈沖模式來(lái)區(qū)分煙塵和室內(nèi)灰塵。圖2.16空氣質(zhì)量檢測(cè)電路2.3.11氣壓檢測(cè)電路的設(shè)計(jì)如圖2.17所示,該圖為氣壓檢測(cè)電路的設(shè)計(jì)圖。其原理是單片機(jī)根據(jù)它的通信協(xié)議獲取氣壓。BMP180系列是應(yīng)用非常廣泛的一種高精度數(shù)字壓力傳感器。所以本次設(shè)計(jì)采用了BMP180系列作為系統(tǒng)電路氣壓檢測(cè)模塊。
它經(jīng)過(guò)優(yōu)化后的低壓電子設(shè)備以及自身非常低的功耗,通常用在手機(jī)端,pda,GPS導(dǎo)航設(shè)備,或者用于戶外的一些設(shè)備中,氣壓傳感器快速轉(zhuǎn)換的時(shí)候,海拔比較低的地方噪音只有0.25米,它有非常可靠的性能,接口也可以很方便的和單片機(jī)進(jìn)行連接來(lái)達(dá)到信息采集。圖2.17氣壓檢測(cè)電路圖第3章系統(tǒng)軟件設(shè)計(jì)3.1軟件程序設(shè)計(jì)3.1.1主函數(shù)初始化首先需要對(duì)STM32的系統(tǒng)時(shí)鐘設(shè)置,延時(shí)初始化系統(tǒng)時(shí)鐘設(shè)定為72Mhz,然后再對(duì)串口初始化設(shè)定為9600,同時(shí)初始化LED的連接接口以及對(duì)五個(gè)傳感器和蜂鳴器的接口進(jìn)行初始化。3.1.2GSM報(bào)警結(jié)構(gòu)圖設(shè)計(jì)如圖3.1所示,該圖為GSM報(bào)警結(jié)構(gòu)圖。GSM報(bào)警部分通電測(cè)試時(shí),先插入一張電話卡用于給另一張手機(jī)號(hào)發(fā)送短信,在程序中也需要寫(xiě)進(jìn)去,插入卡之后會(huì)自動(dòng)讀取數(shù)據(jù)。而另一張手機(jī)號(hào)也需要寫(xiě)入程序中,可以進(jìn)行修改,但是需要再次下載程序,否則不能接受短信通知。插入獨(dú)立電源后,需要接受到系統(tǒng)發(fā)送過(guò)來(lái)的一個(gè)報(bào)警提示,那就是當(dāng)煙霧濃度和空氣質(zhì)量的檢測(cè)值大于設(shè)定值后,才能發(fā)送一次短信用來(lái)報(bào)警提示。短信以什么樣的內(nèi)容發(fā)送也同樣寫(xiě)入程序中,同樣也可以修改,這里設(shè)置為字符提示。GSMGSM開(kāi)始發(fā)送超標(biāo)報(bào)警信息參數(shù)是否超標(biāo)手機(jī)短信接收是Y 是否是結(jié)束結(jié)束圖3.1GSM報(bào)警結(jié)構(gòu)圖3.1.3藍(lán)牙報(bào)警程序設(shè)計(jì)如圖3.2所示,該圖為藍(lán)牙報(bào)警結(jié)構(gòu)圖。開(kāi)始開(kāi)始藍(lán)牙配對(duì)成功參數(shù)是否超標(biāo)按下發(fā)送數(shù)據(jù)到手機(jī)APP恢循環(huán)無(wú)數(shù)次次結(jié)束noyes圖3.2藍(lán)牙報(bào)警結(jié)構(gòu)圖如果氣體和空氣質(zhì)量的檢測(cè)值大于設(shè)定值時(shí),藍(lán)牙模塊和手機(jī)藍(lán)牙配對(duì)成功后,打開(kāi)手機(jī)APP會(huì)接收到藍(lán)牙報(bào)警模塊發(fā)送來(lái)的十五個(gè)字符。藍(lán)牙報(bào)警采用無(wú)數(shù)次報(bào)警方式。for(jj=0;jj<15;jj++)//設(shè)定發(fā)送的信息為15個(gè)字符 { USART2->DR=sendpc2[jj];//發(fā)送PM2.5報(bào)警 while((USART2->SR&0X40)==0);//等待發(fā)送結(jié)束 } while((USART2->SR&0X40)==0);//等待發(fā)送結(jié)束3.1.4蜂鳴器報(bào)警程序設(shè)計(jì)如圖3.3所示,該圖為蜂鳴器報(bào)警設(shè)計(jì)結(jié)構(gòu)圖。在這個(gè)程序設(shè)計(jì)中氣體煙霧濃度檢測(cè)值用“gasad”來(lái)表示,設(shè)定值用“setgas”來(lái)表示,“pm_ad”來(lái)表示空氣質(zhì)量檢測(cè)值,而用“setpm”來(lái)表示設(shè)定值。向蜂鳴器寫(xiě)入一個(gè)低電平,這時(shí)等于零表示它就是已經(jīng)啟動(dòng)了,然后再對(duì)它達(dá)到提示條件時(shí)的狀態(tài)設(shè)定一個(gè)延時(shí)的程序,當(dāng)它等于一時(shí)表示系統(tǒng)中沒(méi)有達(dá)到要提示的要求,所以這時(shí)候輸出高電平來(lái)讓蜂鳴器處于一個(gè)停止的狀態(tài)。這就可以在我們處于睡覺(jué)或者沒(méi)有帶通信設(shè)備的時(shí)候,能對(duì)我們身邊的環(huán)境進(jìn)行一個(gè)監(jiān)控,然后隨時(shí)都可以像一個(gè)鬧鐘一樣提示著我們,這樣一來(lái)為我們的生活提供了一個(gè)有安全的保障。因?yàn)榭諝赓|(zhì)量過(guò)高或者是煙霧濃度太高,如果在不知情的情況下我們隨時(shí)都有潛在的危險(xiǎn)。開(kāi)始開(kāi)始啟動(dòng)蜂鳴器初始化參數(shù)是否超標(biāo)蜂鳴器持續(xù)發(fā)聲提示恢循環(huán)無(wú)數(shù)次次結(jié)束noyes圖3.3蜂鳴器報(bào)警結(jié)構(gòu)圖if(gasad>setgas||pm_ad>setpm)//如果氣體和空氣質(zhì)量的檢測(cè)值大于設(shè)定值蜂鳴器就會(huì)異常報(bào)警。 {BEE=0;//蜂鳴器提示 delay_ms(50); BEE=1;}第4章硬件設(shè)計(jì)與功能調(diào)試4.1硬件的設(shè)計(jì)4.1.1硬件的安裝與設(shè)計(jì)排版設(shè)計(jì)確定位置后,先對(duì)最矮小的元件進(jìn)行焊接固定,再對(duì)比較高的元件和模塊進(jìn)行焊接。整個(gè)硬件電路的安裝在焊接上會(huì)有一些要求比較高的測(cè)試技術(shù)以及電路安裝設(shè)計(jì)技術(shù)。系統(tǒng)硬件實(shí)物圖如圖4.1所示。硬件部分主要有STM32模塊,藍(lán)牙模塊,GSM模塊,煙霧濃度傳感器,溫、濕度傳感器,PM2.5傳感器,氣壓傳感器,兩根電源線,四個(gè)開(kāi)關(guān),OLED模塊等組成。如圖4.1所示,標(biāo)注A部分為GSM模塊,采用獨(dú)立供電的形式,它主要功能就是上電調(diào)試后,負(fù)責(zé)給手機(jī)發(fā)送短信。箭頭所指標(biāo)注B和標(biāo)注L部分是空氣質(zhì)量傳感器,其中B部分是檢測(cè)頭,檢測(cè)頭的兩端其實(shí)就是兩個(gè)LED燈,其中一個(gè)給另一個(gè)發(fā)送脈沖信號(hào),如果中間有PM2.5的顆粒信號(hào)就會(huì)被折射掉的,接收端就無(wú)法接受到信號(hào)。標(biāo)注C部分是煙霧傳感器,可以用打火機(jī)來(lái)演示。標(biāo)注M部分是氣壓傳感器。標(biāo)注D部分是獲取溫濕度的模塊。標(biāo)注X部分藍(lán)牙在電路中發(fā)送信息。G部分是STM32系統(tǒng)。標(biāo)注E部分是OLED顯示屏,上電調(diào)試后用于顯示出傳感器的五個(gè)參數(shù)指標(biāo)。XGMLBDECAXGMLBDECA圖4.1系統(tǒng)硬件實(shí)物圖4.1.2硬件調(diào)試與功能實(shí)現(xiàn)以STM32單片機(jī)為主控部分,其中應(yīng)用了I/O串口分別對(duì)五個(gè)傳感器進(jìn)行數(shù)據(jù)采集,再把采集數(shù)據(jù)通過(guò)OLED顯示器顯示出來(lái),其中對(duì)空氣質(zhì)量,和氣體進(jìn)行設(shè)定值監(jiān)控,并把超標(biāo)數(shù)據(jù)通過(guò)藍(lán)牙和GSM發(fā)到手機(jī)。并且蜂鳴器發(fā)響。軟件設(shè)計(jì)部分修改沒(méi)錯(cuò)誤后下載程序到單片機(jī),上電調(diào)試時(shí),先插上電源,再把開(kāi)關(guān)按鍵按下,此時(shí)系統(tǒng)電路能正常顯示五個(gè)傳感器獲取到的數(shù)據(jù),并且通過(guò)OLED顯示出來(lái)。硬件調(diào)試這部分只要把程序?qū)懗鰜?lái),沒(méi)有報(bào)錯(cuò),基本上沒(méi)有問(wèn)題。因此,從多個(gè)角度多個(gè)方案分析了該設(shè)計(jì)方案的可行性并且基本上可以完成本次設(shè)計(jì)的任務(wù)要求,主要實(shí)現(xiàn)了以下功能:1、采集到五個(gè)傳感器的數(shù)據(jù),并且通過(guò)顯示屏顯示出來(lái)的功能。
2、能將其中兩項(xiàng)空氣質(zhì)量、氣壓超標(biāo)的數(shù)值通過(guò)藍(lán)牙和GSM傳輸?shù)绞謾C(jī)APP和手機(jī)短信,實(shí)現(xiàn)了報(bào)警功能。
3、讓蜂鳴器報(bào)警功能。如圖4.2所示,該圖為功能調(diào)試圖。圖4.2功能調(diào)試圖總結(jié)本次設(shè)計(jì)針對(duì)環(huán)境污染的監(jiān)控與管理,運(yùn)用STM32單片機(jī)的廣泛性,設(shè)計(jì)一款多功能便攜式監(jiān)控系統(tǒng)。其實(shí)用所學(xué)過(guò)的AT89C51單片機(jī)也可以實(shí)現(xiàn),只是大眾喜歡用更受歡迎STM32單片機(jī)。單片機(jī)還廣泛應(yīng)用于人工智能,物聯(lián)網(wǎng)技術(shù),無(wú)線網(wǎng)絡(luò)等領(lǐng)域。
做這個(gè)環(huán)境智能監(jiān)控系統(tǒng)讓我學(xué)到很多課外知識(shí),同時(shí)也鞏固了自己這幾年來(lái)所學(xué)到的嵌入式系統(tǒng)相關(guān)知識(shí),剛開(kāi)始選到這個(gè)課題我覺(jué)得還簡(jiǎn)單。但是因?yàn)樯婕暗搅藷o(wú)線通信的GSM這一部分比較生疏的,我也不知道怎么來(lái)編程,通過(guò)我在網(wǎng)上查找資料學(xué)習(xí)了很多相關(guān)知識(shí)后,才有點(diǎn)思緒寫(xiě)程序,還有藍(lán)牙通信這一部分,我不知道怎么來(lái)設(shè)計(jì)讓他實(shí)現(xiàn)通信,我在想,是用來(lái)做主模式還是從模式呢,最后想了下,搜集到了一些相關(guān)資料和相關(guān)知識(shí),我就想到就用手機(jī)自帶的藍(lán)牙和這個(gè)藍(lán)牙設(shè)備來(lái)通信吧!因?yàn)榭梢栽诰W(wǎng)上下載一個(gè)手機(jī)APP測(cè)試軟件來(lái)接收單片機(jī)處理好的數(shù)據(jù)通過(guò)藍(lán)牙傳輸?shù)绞謾C(jī)用戶?,F(xiàn)在無(wú)線通信給社會(huì)帶來(lái)了太多便捷,提高我們的生活保障,已經(jīng)是最能體現(xiàn)我們一個(gè)國(guó)家一個(gè)企業(yè)的先進(jìn)發(fā)展了,小到我們的日常生活,大到國(guó)家民族的經(jīng)濟(jì)事業(yè)載體,未來(lái)一定還能給這個(gè)世界帶來(lái)更多無(wú)限可能。參考文獻(xiàn)[1]劉火良,楊森.STM32庫(kù)開(kāi)發(fā)實(shí)戰(zhàn)指南(第2版)[M].西安.機(jī)械工業(yè)出版社,2017.[2]基于MDK的STM32處理器開(kāi)發(fā)應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2008:54-77.[3]王益涵,孫憲坤,史志才.嵌入式系統(tǒng)原理及應(yīng)用:基于ARMCortex-M3內(nèi)核的STM31F103系列微控制器[M].清華大學(xué)出版社,2016.[4]田紅,李秉權(quán),張亞彤.基于STM32的水質(zhì)智能遠(yuǎn)程監(jiān)控系統(tǒng)[J].水利規(guī)劃與設(shè)計(jì),2019(02):31-33.[5]李征明,張世剛,孫華英,馮新用,紀(jì)建偉.基于μC/OS-Ⅱ系統(tǒng)的無(wú)線手持?jǐn)?shù)據(jù)監(jiān)控系統(tǒng)的設(shè)計(jì)[J].農(nóng)機(jī)化研究,2016,38(01):150-154.[6]熊斯鵬,陳廣輝,高林,黃敏.基于STM32單片機(jī)動(dòng)力環(huán)境監(jiān)控終端的設(shè)計(jì)與實(shí)現(xiàn)[J].電子世界,2019(21):124-125+128.[7]李海.基于STM32和無(wú)線數(shù)傳模塊的遠(yuǎn)程環(huán)境監(jiān)控系統(tǒng)設(shè)計(jì)[J].中國(guó)新技術(shù)新產(chǎn)品,2019(21):17-18.[8]鄭紀(jì)業(yè),崔太昌,王風(fēng)云,黃潔,孔慶富,孫福來(lái),郝浩宇.肉雞健康養(yǎng)殖環(huán)境監(jiān)測(cè)控制系統(tǒng)研建[J].山東農(nóng)業(yè)工程學(xué)院學(xué)報(bào),2019,36(03):29-32.[9]潘浩然,李松松,張宸宸,夏聞澤,杜劍鋒.農(nóng)產(chǎn)品貯存環(huán)境監(jiān)控監(jiān)控系統(tǒng)設(shè)計(jì)[J].電子測(cè)量技術(shù),2019,42(03):123-128.[10]劉曉波,劉方武,崔釗,張濤.基于STM32的車內(nèi)環(huán)境監(jiān)控系統(tǒng)設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2017,30(11):124-125+128.[11]谷沛尚,田芳明,常永新,趙欣宇,郭德占,趙琛,那陽(yáng).基于STM32單片機(jī)的作物生長(zhǎng)環(huán)境監(jiān)控系統(tǒng)設(shè)計(jì)[J].科技創(chuàng)新與應(yīng)用,2017(30):43+45.[12]李凱,麻紅昭.基于STM32的溫室環(huán)境監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2015,28(05):53-54.[13]王曉晶,趙銀花,宋柏林,王劭丹,劉瑛喆.基于STM32生產(chǎn)環(huán)境監(jiān)控系統(tǒng)[J].長(zhǎng)春工業(yè)大學(xué)學(xué)報(bào),2015,36(01):61-65.[14]周育輝,孫濱,李軍民.基于STM32F103R6的畜禽養(yǎng)殖環(huán)境遠(yuǎn)程監(jiān)控系統(tǒng)[J].江蘇農(nóng)業(yè)科學(xué),2013,41(01):375-377.[15]謝輝程,郭莉.基于stm32的無(wú)線環(huán)境監(jiān)控系統(tǒng)設(shè)計(jì)[J].軟件,2014,35(12):5-7.[16]YouchanZhu,WenhuaZhang.DesignandImplementationofIntelligentGreenhouseSystembasedonSTM32[J].InternationalCoreJournalofEngineering,2020,6(7).[17]JinliXian,MaoZeng,RuiZhu,ZhengjieCai,ZuminShi,AbuS.Abdullah,YongZhao.DesignandimplementationofanintelligentmonitoringsystemforhouseholdaddedsaltconsumptioninChinabasedonareal-worldstudy:arandomizedcontrolledtrial[J].Trials,2020,21(10).[18]JieXiao,JingTaoLi.DesignandImplementationofIntelligentTemperatureandHumidityMonitoringSystemBasedonZigBeeandWiFi[J].ProcediaComputerScience,2020,166.[19]ChunshuXu.DesignandImplementationofIntelligentGreenhouseSystembasedonSTM32[J].InternationalCoreJournalofEngineering,2020,6(7).[20]JinLin,MaYuping.DesignandimplementationofintelligentenvironmentmonitoringsystembasedonOneNETplatform[J].E3SWebofConferences,2020,165.[21]李廣田.基于STM32的家電智能監(jiān)控系統(tǒng)的設(shè)計(jì)與研究[D].西安建筑科技大學(xué),2017.[22]孫文雪.基于STM32的家庭用電智能監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].佛山科學(xué)技術(shù)學(xué)院,2018.[23]李旺昆,柯遠(yuǎn)征,王立仕.基于STM32的智能家居環(huán)境監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技視界,2020(11):27-29.[24]唐俊龍,賈新亮,王超,彭永達(dá),王龍,謝海情.基于STM32的智能環(huán)境監(jiān)控系統(tǒng)設(shè)計(jì)[J].電子技術(shù),2017,46(12):50-53.[25]高學(xué)東,祁志娟,程冉,周莉莉.基于STM32的汽車遠(yuǎn)程智能監(jiān)控防盜系統(tǒng)設(shè)計(jì)[J].科技風(fēng),2016(08):157-158.[26]許朋,孫通,馮國(guó)坤,饒洪輝,劉木華.基于STM32的智能溫室無(wú)線監(jiān)控系統(tǒng)設(shè)計(jì)[J].農(nóng)機(jī)化研究,2015,37(03):87-90.附錄附錄A硬件原理圖附錄B元件清單表序號(hào)元器件名型號(hào)在原理圖中符號(hào)數(shù)量1電容104C1,C2,C7,C8,C9,52電容22pfC3,C4,C5,C643電容104C1014電容220ufC1115LEDLEDD1,D226按鍵KEYK1,K2,K3,K4,K557蜂鳴器5vLS118液晶顯示屏0.96OLEDOLED19模式選擇接口P1,P3210排針下載接口P2111排針,排阻13HP4,P5,P6,P7412氣體傳感器BMP180P8113藍(lán)牙模塊HC-05P9114溫濕度傳感器DHT11P10115短信模塊SIM900AP111163.3V穩(wěn)壓芯片AMS1117P12117粉塵傳感器GP2Y10P13118氣體傳感器MQ2P14119三極管NPNP151208550PNPQ1121電阻10KR1122電阻500R2,R3223電阻10KR4124電阻4.7KR5125電阻1KR7126電阻150R10127電源座DC3.5S1128獨(dú)立電源接口+5VS2129電源開(kāi)關(guān)SW1130STM32芯片STM32F103RCT6U1131晶振32.768KY1132晶振8MY21附錄C軟件主程序#include"sys.h"#include"usart.h" #include"delay.h" #include"led.h"http://led#include"oled.h"http://顯示屏#include"adc.h"http://AD#include"input.h"http://輸入配置引腳#include"dht11.h"http://溫濕度#include"myiic.h"http://iic#include"BMP180.h"http://氣壓傳感器#include"math.h"#include"bee.h"http://蜂鳴器u8temperature=0; //溫度u8humidity=0;//濕度unsignedcharshow[7]="000000\0";//數(shù)組,顯示用externlongresult_UT;//溫度externlongresult_UP; //氣壓doublealtitude;//海拔longal=0,pr=0;u16gasad,jj;u32pm_ad,ad1,kk,setgas=50,setpm=500;u8sendpc1[]="gaswarning!\n";//報(bào)警提示信息u8sendpc2[]="PM2.5warning!\n";//報(bào)警提示信息u16sendflaggas=1,sendflagpm=1;//發(fā)送標(biāo)志位intmain(void)//主函數(shù){ Stm32_Clock_Init(9);//系統(tǒng)時(shí)鐘設(shè)置 delay_init(72); //延時(shí)初始化 uart_init(72,9600); //串口初始化為9600 uart2_init(36,9600); //串口初始化為9600 LED_Init(); //初始化與LED連接的硬件接口 OLED_GPIO_Init();//顯示屏初始化OLED_Init(); Adc_Init();//ADC初始化 INPUT_Init();//輸入初始化 DHT11_Init();//濕度傳感器初始化 IIC_Init(); //初始化iicInit_BMP180();//初始化bmp180 BEE_Init();//蜂鳴器初始化 //溫(6)度(7)/*溫度:濕度: 氣壓:000.0kpa煙霧:00%S=50%PM=0000S=0500 *///濕(8)度(9)氣(10)壓(11)煙(12)霧(13) OLED_P16x16Ch(0,0,6);//顯示漢字溫度:濕度: OLED_P16x16Ch(16,0,7); OLED_P8x16Str(32,0,":00"); OLED_P16x16Ch(64,0,8);//顯示漢字濕度 OLED_P16x16Ch(80,0,9); OLED_P8x16Str(96,0,":00"); OLED_P16x16Ch(0,2,10);//顯示漢字氣壓 OLED_P16x16Ch(16,2,11);OLED_P8x16Str(32,2,":000.0kpa"); OLED_P16x16Ch(0,4,12);//顯示漢字煙霧 OLED_P16x16Ch(16,4,13);OLED_P8x16Str(32,4,":00%S:50%"); OLED_P8x16Str(0,6,"PM:0000S:0500");//顯示空氣質(zhì)量值 while(1) { DHT11_Read_Data(&temperature,&humidity);//得到空氣濕度值 show[0]=':'; show[1]=temperature/10+'0';//顯示溫值 show[2]=temperature%10+'0'; show[3]='\0'; OLED_P8x16Str(32,0,show); show[0]=':'; show[1]=humidity/10+'0';//顯示濕度值 show[2]=humidity%10+'0'; show[3]='\0'; OLED_P8x16Str(96,0,show); bmp180Convert();//氣壓轉(zhuǎn)換 pr=result_UP/100;//得到氣壓值 show[0]=':'; show[1]=pr/1000+'0';//顯示氣壓 show[2]=pr%1000/100+'0'; show[3]=pr%100/10+'0'; show[4]='.'; show[5]=pr%10+'0'; show[6]='\0'; OLED_P8x16Str(32,2,show); gasad=Get_Adc_Average(1,10)/41;//AD檢測(cè)煙霧強(qiáng)度10次取平均值 show[0]=':'; show[1]=gasad/10+'0';//顯示煙霧值 show[2]=gasad%10+'0'; show[3]='\0'; OLED_P8x16Str(32,4,show); pm_ad=0;//累計(jì)清零 for(kk=0;kk<20;kk++) //PM2.520次取平均值 { LED1=0; delay_us(320); LED1=1; delay_us(280); ad1=Get_Adc(4); delay_ms(9); delay_us(400); pm_ad=pm_ad+ad1; } pm_ad=pm_ad/80;//PM2.5取平均值20檢測(cè)結(jié)果轉(zhuǎn)換成0-1000 show[0]=':'; show[1]=pm_ad/1000+'0';//顯示PM2.5值 show[2]=pm_ad%1000/100+'0'; show[3]=pm_ad%100/10+'0'; show[4]=pm_ad%10+'0'; show[5]='\0'; OLED_P8x16Str(16,6,show); if(K1==0)//按鍵設(shè)定值調(diào)節(jié)氣體 { if(setgas<99)setgas++; }elseif(K2==0)//按鍵設(shè)定值調(diào)節(jié)氣體 { if(setgas>0)setgas--; }elseif(K3==0)//按鍵設(shè)定值調(diào)節(jié)空氣質(zhì)量 { if(setpm<2000)setpm=setpm+100; delay_ms(200); }elseif(K4==0)//按鍵設(shè)定值調(diào)節(jié)空氣質(zhì)量 { if(setpm>0)setpm=setpm-100; delay_ms(200); } show[0]=':'; show[1]=setpm/1000+'0';//顯示設(shè)定
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025云南塞上陽(yáng)光農(nóng)業(yè)開(kāi)發(fā)有限公司招聘28人筆試參考題庫(kù)附帶答案詳解(3卷)
- 2025上半年山東“才聚齊魯成就未來(lái)”山東高速集團(tuán)有限公司校園招聘255人查看職位筆試參考題庫(kù)附帶答案詳解(3卷)
- 青陽(yáng)縣2024安徽池州市青陽(yáng)縣“政企雙聘政錄企用”引進(jìn)專業(yè)人才5人筆試歷年參考題庫(kù)典型考點(diǎn)附帶答案詳解(3卷合一)
- 湖南省2024湖南省藥品監(jiān)督管理局所屬事業(yè)單位招聘3人筆試歷年參考題庫(kù)典型考點(diǎn)附帶答案詳解(3卷合一)
- 江安縣2024上半年四川宜賓市江安縣事業(yè)單位考核招聘高層次和急需緊缺專業(yè)人才35人筆試歷年參考題庫(kù)典型考點(diǎn)附帶答案詳解(3卷合一)
- 望城區(qū)2024湖南長(zhǎng)沙市望城區(qū)招聘事業(yè)單位工作人員44人筆試歷年參考題庫(kù)典型考點(diǎn)附帶答案詳解(3卷合一)
- 平順縣2024山西長(zhǎng)治市平順縣招聘事業(yè)單位和大學(xué)畢業(yè)生到村(社區(qū))工作作人員38人筆試歷年參考題庫(kù)典型考點(diǎn)附帶答案詳解(3卷合一)
- 宿遷市2024年江蘇宿遷市交通運(yùn)輸局局屬事業(yè)單位公開(kāi)招聘工作人員18筆試歷年參考題庫(kù)典型考點(diǎn)附帶答案詳解(3卷合一)
- 天津市2024天津市文化和旅游局直屬藝術(shù)院團(tuán)招聘23人筆試歷年參考題庫(kù)典型考點(diǎn)附帶答案詳解(3卷合一)
- 國(guó)家事業(yè)單位招聘2024應(yīng)急管理部信息研究院第一批次招聘擬聘用人員筆試歷年參考題庫(kù)典型考點(diǎn)附帶答案詳解(3卷合一)
- 2025山東省人民檢察院公開(kāi)招聘聘用制書(shū)記員(40名)備考考試題庫(kù)及答案解析
- 2025年10月注冊(cè)審核員《職業(yè)健康安全管理體系基礎(chǔ)》真題及答案
- 高效企業(yè)員工激勵(lì)演講稿范本
- 2026中國(guó)人民銀行直屬事業(yè)單位招聘60人筆試備考題庫(kù)附答案解析(奪冠)
- 產(chǎn)品質(zhì)量檢驗(yàn)標(biāo)準(zhǔn)化操作規(guī)程及模板
- 陰陽(yáng)五行與人體課件
- 2025年秋季學(xué)期國(guó)家開(kāi)放大學(xué)《憲法學(xué)》形考任務(wù)1-4答案
- 2025年采購(gòu)人員個(gè)人年終總結(jié)6篇
- ?;窂臉I(yè)資格證考試題及答案解析
- (2025年)江蘇事業(yè)單位考試真題及答案
- 船員G證知識(shí)更新培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論