




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于STM32的環境智能監控系統設計與實現摘要由于這幾年工業發展非常迅速,所以污染物排放量也比較大,所以各界技術人員針對這個問題研發出各種技術,所以環境保護也多了更多更方便更健全的應用技術,本次設計針對現目前環境監測這一領域不能解決的問題來設計一個比較實用的環境監測系統。選用STM32單片機,設計一個智能環境監控系統。采用DXP軟件畫出電路原理圖,再用KeilμVision5編寫程序來處理五個傳感器獲取環境實時參數、具有對煙霧濃度、濕度、溫度、氣壓、空氣質量指標進行監控的功能。用GSM和藍牙分別進行遠程無線通信和近距離無線通信并且接收信息來實現報警功能,同時蜂鳴器發出響聲,再通過OLED模塊顯示出煙霧濃度、PM2.5指標、環境溫度、氣壓及濕度。然后用STM32嵌入式系統設計并制作智能監控系統,最后制作實物,進行系統調試。該環境智能監控系統在現實中有著重大的價值,提高了保護環境的工作質量,給環保人員帶來便捷,減輕了工作負擔。當檢測值超出設定值時會第一時間報警,解決了生活中所潛在的麻煩和危險。關鍵詞:傳感器;GSM;藍牙;環境監測;STM32;無線通信目錄TOC\o"1-3"\h\u23407摘要 第2章系統總體設計2.2硬件電路設計模塊的選定2.2.1主控模塊對于設計這種電路,涉及到嵌入式這領域目前用得最多的兩種嵌入式單片機有AT89C51單片機和STM32單片機。本次課題選擇的是STM32單片機。STM32單片機分為多個功耗,它運用的場合不同那么工作溫度不同,劃分為四個溫度級別,它的處理字長為32位,處理器主頻根據型號不同頻率也不同,最高可達到2.5GHz。它的CPU的速度可以達到72MHz,它有一個優秀受大眾廣泛運用的性能,價格也非常低。I/O口主要的功能,接入外來設備后,可以接受來自外界的信號,同時也可以把系統處理好的數據發送到外部接收端。功能模塊有多個不同模塊而且功能也非常強大。STM32要正常工作,還需要一些外部元件的搭配,這些外部元件我們稱為單片機的最小系統。它的工作電壓為2到3.6V用電源供電,所以可以看出來它的耗電能力是非常低的。相對51單片機來講,它們都有自己的特點,有自己的開發方式,系統中有自己的資源,有自己的開發環境,當然它們的操作系統也會有很大的區別,因為51單片機不支持操作系統,然而STM32則不同,它恰恰相反。因此用于開發也比較簡單,這時,51單片機如果用于開發則沒有這么容易了。雖然51系列單片機對于STM32而言比較容易學和簡單,而且調試的步驟也比STM32單片機少,但是相對于STM32而言,它的實用性和功能都不算太高,系統自身結構、性能也不是很突出,實用性也不高,它主要只是用在一些功能設備技術要求不高的領域。它的缺點相對STM32而言也比較多,AD、EEPROM這些功能必須得外加擴展才能實現,所以我們在做軟件和硬件測試的時候是有一定難度的,如果它處于高電平時,它沒有輸出的能力。這也是51系列單片機的一項弱點,其二,它的運行速度也沒有STM32快,系統保護能力也比較差,如果測試過程中有不當操作隨時可能燒壞整個系統電路。所以本次經過對比,篩選,以及可行性分析過后,選用STM32來作為主控模塊,用STM32單片機微控制器能完成本次智能監控系統設計的要求,可以結合其他外圍電路模塊實現本次設計的全部功能。2.2.2GSM模塊運用GSM模塊來通信實現數據傳輸達到一個報警功能,通過五個傳感器獲得的數據經過微控制器處理過后,把其中煙霧濃度和空氣質量兩項超標數據通過GSM系統遠程手機短信通知來達到通信報警功能。GSM模塊用于進行控制信號發送與接收,主控制器在獲取到傳感器檢測到的環境參數并經過判斷后,將環境參數通過GSM模塊發送給用戶,從而用戶得出相應的環境參數信息。比如當溫度傳感器檢測到當前的溫度值超過或者是低于設置的值,則系統需要給用戶發送提示信號,而提示信號主要是通過GSM來完成的。此外對于用戶在遠程的家電控制指令的實現問題也是通過信息模塊來進行傳輸的。因此就功能上來說,短信通知模塊GSM的主要是完成的是對用戶的提示作用,其相當于是系統中報警裝置的一部分。因此,經過研究分析,GSM也可以很好的運用在這次設計中來作為遠程通信部分來實現報警。2.2.3OLED顯示模塊本次智能監控系統設計采用OLED液晶顯示屏,它是一種自發光的材料。讓人一目了然、顯示出來的數字信號畫質清晰、而且顯示的速度非常快、用稍微低一點的電源電路接上就可以導通,耗電非常低,性價比高,電路設計簡單制作也比較容易。其實它就相當于是一個有機發光二極管。顯示部分還可以采用LCD1602這款顯示器,其采用HD44780作為主控芯片,它可以用用8位的的數據傳輸形式,采用背光的驅動形式(將A接+5V,K接地)。LCD1602通過R/W引腳來選擇對寄存器的讀寫,在每次進行操作之前必須將E引腳置位以選中芯片,V0可連接可變電阻器進行調節驅動電壓,RS用來進行存儲器的選擇引腳(高電平表示選中存儲器),LCD1602對電源電壓的要求2.7V到5.5V。LCD和OLED顯示屏的最大不同之處就是前者是液晶的,而后者則相當于是一個發光二極管,LCD顯示器顯示不出來黑色部分,這是由于它的液晶層是不能關閉的,導致顯示黑色的時候,會有一些光穿過顏色層。而OLED卻避開了這個缺點。
因為它們的設計有很大差異造成工作原理不同,前者依靠著背光層來發光,而后者則是一個主要靠驅動電壓來發光的。從耗電方面來看,OLED的像素點是一個獨立的工作模式,又因為LCD是背光全開,因此OLED比LCD更加節能更加省電。因此,綜上所述,這次選用OLED來顯示氣壓,空氣質量,溫濕度,煙霧濃度是完全沒有問題,還有很高應用價值。2.2.4藍牙通信模塊本次設計除了用GSM遠程短信報警以外還要用藍牙來進行通信報警,來體現智能化。所以我選用了最常用的HC-05藍牙來通信。其實這款藍牙屬于一種串口轉化器,可以連接到手機,電腦等多設備之間來進行無線通信。
這次藍牙的通信方式我選用下載一個手機APP來作為信息數據的接受端,藍牙用來發送單片機處理后的超標數據到接受端,來達到一個信息報警的功能。打開接收信息用戶端的藍牙搜索選用的這個藍牙,它的名稱是“HC05”,再點擊連接設備,輸入正確的配對密碼,當設備藍牙和手機APP成功連接之后,便可以進行通信,但手機要下載一個接收數據的APP。采用的HC05藍牙主要有兩個模式,分別為主模式和從模式這兩種功能集成于一體。用于智能系統電路中可以充當三個不同的角色。第一個角色就是在條件允許情況下被其他設備連接。第二個角色就是它可以搜索到離它最近的藍牙設備主動的進行配對。所以這兩個角色就是藍牙最典型運用最廣。它還有最后一個角色那就是被動的連接,它可以接收到一些比較遠的數據信號,再把接收數據按照一定的方式返回給藍牙的接收設備。由上所述,選擇HC-05能很好的完成這次系統的設計要求,來實現通信功能達到報警功能。2.2.5蜂鳴器模塊本次環境智能監控系統的設計針對氣體和空氣質量的參數大于設定的值時除了要用藍牙和GSM來通信實現報警以外,還要用到最常用的蜂鳴器報警裝置,這樣一來編程實現一個數據被微控制器處理后需要多次發聲提醒的作用。我選用的蜂鳴器報警裝置它的類型是無源型蜂鳴器,它的驅動方式是電壓驅動型。我用蜂鳴器的一個引腳接5V的驅動電壓,需要用到一個信號放大的元器件,那就采用三極管的發射結來連接另外一個引腳,它的基極要有一個限流的電阻,這樣才能連接到單片機的串口,沒有電阻電壓太大那么三極管會有被擊穿的。然后通過集電極接地的方式構成這次蜂鳴器工作的電路,只要滿足條件,只要我們給單片機寫入低電平就可以驅動它發出聲音。2.3各部分硬件電路的具體設計2.3.1STM32微控制器如圖2.2所示,該圖為本次設計選用的32系列單片機最小系統原理圖,它主要是由主芯片STM32F103C8T6、電源指示電路、下載接口電路、排針引腳電路、接口電路,復位電路、晶振電路、以及其它外圍電路組成。它的安全工作電壓大概在2V到3V這個范圍,只要經過低通穩壓器把電壓降低到3V以內就可以通過5V的USB接口進行通電測試。它有很多個復位的模式,這幾個模式分為系統的復位模式,電源的復位模式,備份區一定域的復位模式。通常情況下,我們都是用的電源復位模式。整個主芯片模塊中,有多個電容器,這是用于對雜亂的電壓波形信號進行濾波和消除,來保持穩定的電壓,我們稱為去耦電容。芯片中的C1這個分布電容我們用來進行消抖,因為電容的電壓是不會突變的,所以可以很好的用在電路中消除抖動,這是由于如果沒有電容,有的電路需要用到按鍵開關,當按鍵開關剛剛按下或者松開的時候接觸只有10ms,會產生一個多次看不到的電平抖動,這樣會引起錯誤的操作和測試,也會造成芯片執行多次復位的操作的原因,所以就可以利用電容的電壓不會產生突變這一特性,用C1來進行濾波,以此來防止抖動現象造成的誤操作。電容C3,C4,C5,C6與晶振Y1,Y2組成晶振電路。晶振電路是單片機系統的核心,決定單片機的執行速率。晶振電路激發一個正弦的時鐘信號,單片機晶振電路設定的6個周期,每個周期還可劃分成2個振蕩周期。單片機的復位電路主要負責單片機的啟動,在通電時發出復位信號。當單片機運行時,程序可能會被一些外部因素所干擾,運行會出現錯誤,這時復位電路程序將重新復位執行。單片機在時鐘電路運行時,在RESET端輸出高電平,執行復位工作。復位電路通過電阻來穩定電路增加輸出的高電平。STM32的型號也分為很多種,它可以可提供一百多的多功能引腳,它的端口也是由兩部分組成,I/O口有種不同的工作模式,只是它接受到數據需要輸出的速度取決于我們寫的代碼,它的內部有很多可以用用于編程的定時器,內部的定時器又分為三類定時器。由于單片機是一個比較復雜的電路,所以它在工作中需要一個穩定的時鐘源來給它提供脈沖信號,它依靠內部的振蕩電路,可以給鎖相環提供時鐘信號,要這樣單片機才能在一定的頻率中工作。因為內部的時鐘信號沒有外部的時鐘信號準確和穩定,所以盡量用外部時鐘。單片機微控制器有了復位電路,讓它更智能更完善,因為這個復位電路決定了整個系統電路能不能正常運行能不能運用到各種電路設計中去的一個決定性的作用,有了這個電路,程序才不會跑飛或者出現系統電路死機等情況。這個復位電路主要是由分布電容和按鍵來組成的。在進行程序調試的過程中,我們要把自己設計好的程序,經過反復修改后,保證沒有報錯而且能實現它的功能的情況下,使用下載電路把相應程序燒錄到片內GAM中。單片機電路和仿真器連接成功后,就可以進行調試。圖2.2最小系統原理圖2.3.2GSM模塊的設計如圖2.3所示,該圖是GSM電路圖,GSM模塊在這次設計上用于進行控制信號發送與接收,單片機微處理器在獲取到傳感器檢測到的氣壓和空氣質量并經過判斷是否超出設定值后,如果超出就把超標數據通過GSM模塊以短信的形式發送給手機來實現通信,從而用戶得到相應的環境參數報警的提示信息。此外對于用戶在遠程的家電控制指令的實現問題也是通過信息模塊來進行傳輸的。因此就功能上來說,短信通知模塊GSM的主要是完成的是對用戶的提示作用,相當于本次設計系統中報警裝置的一部分。圖2.3GSM電路圖2.3.3蜂鳴器模塊設計如圖2.4所示,該圖為蜂鳴器電路圖,本次設計的功能要求需要用到這個蜂鳴器,當單片機微處理器處理到的環境數據超出設定的值時,這時需要一個發聲的報警器,就用蜂鳴器來實現,只要系統給無線通信的藍牙和GSM通信時蜂鳴器也要不斷的發出聲響,來達到提示作用!本次設計采用的無源蜂鳴器其實它就是電磁式蜂鳴器的一種類型而已。有源蜂鳴器和它不同的是有源蜂鳴器的內部含有振蕩電路,一加上電壓就會持續發出響聲,它音色單一,不能發出多種音調。而無源蜂鳴器則內部沒有完整振蕩電路,只能通過輸出不同的頻率,經過內部的電磁線圈產生磁場帶動振動片來發出聲音。其實想讓蜂鳴器發聲,其實只要滿足條件,從GPIO口給它的加一個高低電平的狀態就可以發聲達到報警提示了。圖2.4蜂鳴器2.3.4OLED顯示模塊設計這次設計由于需要顯示出五個環境參數指標,也因為它是一種類似LED的顯示器、而且視角范圍大,響應速度快,圖像穩定,亮度高、色彩豐富、分辨率高,驅動電壓低、能耗低。所以選用這個OLED顯示屏,它是0.96寸的4線IIC協議OLED。它有四個接口分別為:電源地,電源電壓2.2V到5.5V,CLK時鐘,MOSI數據(高電平2.2V到5.5V)。如圖2.5所示,該圖為OLED電路圖。圖2.5OLED顯示電路2.3.5藍牙模塊的設計如圖2.6所示,該圖為藍牙電路連接圖。因為設計需求,所以采用了一個普遍常用的藍牙通信模塊。當單片機微處理器把環境的參數全部獲取到,并且通過判斷是否已經超出了預設值,如果超出了就把超標的數據通過藍牙設備的連接配對然后傳輸給手機APP。如圖2.7所示,該圖為藍牙電路原理圖。這是我這次設計所用到的四個引腳,他們的功能分別是:RXD:數據接收端。TXD:數據發送端。VCC:直流電源供電正極。GND:供電負極接地端。圖2.6藍牙模塊原理圖圖2.7藍牙模塊原理圖2.3.6按鍵電路模塊的設計如圖2.8所示,該圖為按鍵電路的設計圖。此系統在要報警的一個條件下,需要按鍵來設定數值,即設定一個標準值,所以用到這四個獨立開關,它們一邊接單片機串口,一邊全部連起來接地。圖2.8系統按鍵電路2.3.7電源電路的設計如圖2.9所示,該圖為電源電路的設計圖。S1是設計的一個電源插座,因為整個系統電路需要一個輸入電源供電才可以工作,所以設計它來接一個輸出的直流電壓+5V。圖中SW1是本次設計的一個電源開關,其作用是當S1電源插座接入直流電源電壓,此時按下SW1開關,系統電路就通過AMS1117這個低壓穩壓器導通了,同時這個電路的設計防止電源瞬間接通或者接觸不好的情況給系統電路一個沖擊造成電路燒壞而設計的一個電源電路。低通穩壓器可以調節電流電壓的大小,也可以提供一個穩定的1A輸出電流用于系統電路的工作,這個穩壓器的跌落電壓會在輸出最大電流的時候達到1.3V的值,在低負載電流的時候會降低,它的基準電壓被調到5%,同時電流的限制也被調節,以這樣的方式來讓調節器和電源電路在超載的情況下降低壓力。圖2.9電源電路2.3.8煙霧濃度檢測電路的設計如圖2.10所示,該圖為煙霧濃度檢測電路的設計圖。圖2.10煙霧濃度檢測電路如圖2.11所示,該圖為煙霧濃度原理圖。它的工作電壓是直流5伏,通過電壓輸出來獲取氣體煙霧的濃度,再把檢測到的煙霧濃度保存下來,然后單片機微控制器再來讀取它檢測的數據信號,再以數字的形式通過顯示器展示出來。這個模塊主要有以下幾個特點:1、具有信號輸出指示。2、模擬量輸出及TTL電平輸出。3、TTL輸出信號為低電平。4、模擬量輸出0V到5V電壓,濃度越高時電壓越高。5、可以很好地對液化氣,天然氣,煤氣等不同的氣體進行檢測,靈敏度也極高。6、使用壽命比較長,穩定性也非常可靠。7、快速的響應恢復特性。圖2.11煙霧濃度原理圖2.3.9溫、濕度檢測電路的設計如圖2.12所示,該圖為溫、濕度檢測電路的設計圖。在系統電路中采用單總線通信,通過通信獲取溫、濕度數據。這里的DA是數據的意思它主要是用于STM32單片機與和溫濕度傳感器之間的數據通信,數據交換,數據同步等,通訊一次的時間大約為4ms左右,處理的數據類型分為兩部分,分別是小數和整數部分,處理后得到的小數部分可以用于擴展該模塊四個引腳組成,DHT11的供電電壓VCC為3V至5.5V。NC空腳這里是懸空的。傳感器上電后,要等待1s以越過不穩定狀態在此期間無需發送任何指令。R5是一個上拉電阻,用于拉高總線的狀態。電源引腳(VCC,GND)接地之間可增加一個100nF的電容,可用以去耦濾波。圖2.12溫、濕度檢測電路主機和DHT11的通訊過程如圖2.13所示。圖2.13DHT11通信過程圖溫度、濕度測量分辨率分別為8bit(溫度)、8bit(濕度)。濕度測量范圍:20%到95%,濕度測量誤差:+-5%。溫度測量范圍:0度到50度,溫度測量誤差:+-2度。因為輸出形式是數字輸出,所以數字“0”信號表示方法如下圖2.14所示。圖2.14信號0的表示方法數字“1”信號表示方法如下圖2.15所示。圖2.15信號1的表示方法2.3.10空氣質量檢測電路的設計如圖2.16所示,該圖為空氣質量檢測電路的設計圖。其原理采用A\D轉換獲取空氣質量數據。我所選用的型號是GP2Y1010AUOF,它是一種光學粉塵傳感器。一個紅外發射二極管和一個光電晶體管被對角線地安排在這個檢測電路中。用在系統電路中來檢測空氣中灰塵的反射光。特別是對煙霧等一些細微的顆粒的檢測是非常有效的。此外,它可以通過輸出電壓的脈沖模式來區分煙塵和室內灰塵。圖2.16空氣質量檢測電路2.3.11氣壓檢測電路的設計如圖2.17所示,該圖為氣壓檢測電路的設計圖。其原理是單片機根據它的通信協議獲取氣壓。BMP180系列是應用非常廣泛的一種高精度數字壓力傳感器。所以本次設計采用了BMP180系列作為系統電路氣壓檢測模塊。
它經過優化后的低壓電子設備以及自身非常低的功耗,通常用在手機端,pda,GPS導航設備,或者用于戶外的一些設備中,氣壓傳感器快速轉換的時候,海拔比較低的地方噪音只有0.25米,它有非常可靠的性能,接口也可以很方便的和單片機進行連接來達到信息采集。圖2.17氣壓檢測電路圖第3章系統軟件設計3.1軟件程序設計3.1.1主函數初始化首先需要對STM32的系統時鐘設置,延時初始化系統時鐘設定為72Mhz,然后再對串口初始化設定為9600,同時初始化LED的連接接口以及對五個傳感器和蜂鳴器的接口進行初始化。3.1.2GSM報警結構圖設計如圖3.1所示,該圖為GSM報警結構圖。GSM報警部分通電測試時,先插入一張電話卡用于給另一張手機號發送短信,在程序中也需要寫進去,插入卡之后會自動讀取數據。而另一張手機號也需要寫入程序中,可以進行修改,但是需要再次下載程序,否則不能接受短信通知。插入獨立電源后,需要接受到系統發送過來的一個報警提示,那就是當煙霧濃度和空氣質量的檢測值大于設定值后,才能發送一次短信用來報警提示。短信以什么樣的內容發送也同樣寫入程序中,同樣也可以修改,這里設置為字符提示。GSMGSM開始發送超標報警信息參數是否超標手機短信接收是Y 是否是結束結束圖3.1GSM報警結構圖3.1.3藍牙報警程序設計如圖3.2所示,該圖為藍牙報警結構圖。開始開始藍牙配對成功參數是否超標按下發送數據到手機APP恢循環無數次次結束noyes圖3.2藍牙報警結構圖如果氣體和空氣質量的檢測值大于設定值時,藍牙模塊和手機藍牙配對成功后,打開手機APP會接收到藍牙報警模塊發送來的十五個字符。藍牙報警采用無數次報警方式。for(jj=0;jj<15;jj++)//設定發送的信息為15個字符 { USART2->DR=sendpc2[jj];//發送PM2.5報警 while((USART2->SR&0X40)==0);//等待發送結束 } while((USART2->SR&0X40)==0);//等待發送結束3.1.4蜂鳴器報警程序設計如圖3.3所示,該圖為蜂鳴器報警設計結構圖。在這個程序設計中氣體煙霧濃度檢測值用“gasad”來表示,設定值用“setgas”來表示,“pm_ad”來表示空氣質量檢測值,而用“setpm”來表示設定值。向蜂鳴器寫入一個低電平,這時等于零表示它就是已經啟動了,然后再對它達到提示條件時的狀態設定一個延時的程序,當它等于一時表示系統中沒有達到要提示的要求,所以這時候輸出高電平來讓蜂鳴器處于一個停止的狀態。這就可以在我們處于睡覺或者沒有帶通信設備的時候,能對我們身邊的環境進行一個監控,然后隨時都可以像一個鬧鐘一樣提示著我們,這樣一來為我們的生活提供了一個有安全的保障。因為空氣質量過高或者是煙霧濃度太高,如果在不知情的情況下我們隨時都有潛在的危險。開始開始啟動蜂鳴器初始化參數是否超標蜂鳴器持續發聲提示恢循環無數次次結束noyes圖3.3蜂鳴器報警結構圖if(gasad>setgas||pm_ad>setpm)//如果氣體和空氣質量的檢測值大于設定值蜂鳴器就會異常報警。 {BEE=0;//蜂鳴器提示 delay_ms(50); BEE=1;}第4章硬件設計與功能調試4.1硬件的設計4.1.1硬件的安裝與設計排版設計確定位置后,先對最矮小的元件進行焊接固定,再對比較高的元件和模塊進行焊接。整個硬件電路的安裝在焊接上會有一些要求比較高的測試技術以及電路安裝設計技術。系統硬件實物圖如圖4.1所示。硬件部分主要有STM32模塊,藍牙模塊,GSM模塊,煙霧濃度傳感器,溫、濕度傳感器,PM2.5傳感器,氣壓傳感器,兩根電源線,四個開關,OLED模塊等組成。如圖4.1所示,標注A部分為GSM模塊,采用獨立供電的形式,它主要功能就是上電調試后,負責給手機發送短信。箭頭所指標注B和標注L部分是空氣質量傳感器,其中B部分是檢測頭,檢測頭的兩端其實就是兩個LED燈,其中一個給另一個發送脈沖信號,如果中間有PM2.5的顆粒信號就會被折射掉的,接收端就無法接受到信號。標注C部分是煙霧傳感器,可以用打火機來演示。標注M部分是氣壓傳感器。標注D部分是獲取溫濕度的模塊。標注X部分藍牙在電路中發送信息。G部分是STM32系統。標注E部分是OLED顯示屏,上電調試后用于顯示出傳感器的五個參數指標。XGMLBDECAXGMLBDECA圖4.1系統硬件實物圖4.1.2硬件調試與功能實現以STM32單片機為主控部分,其中應用了I/O串口分別對五個傳感器進行數據采集,再把采集數據通過OLED顯示器顯示出來,其中對空氣質量,和氣體進行設定值監控,并把超標數據通過藍牙和GSM發到手機。并且蜂鳴器發響。軟件設計部分修改沒錯誤后下載程序到單片機,上電調試時,先插上電源,再把開關按鍵按下,此時系統電路能正常顯示五個傳感器獲取到的數據,并且通過OLED顯示出來。硬件調試這部分只要把程序寫出來,沒有報錯,基本上沒有問題。因此,從多個角度多個方案分析了該設計方案的可行性并且基本上可以完成本次設計的任務要求,主要實現了以下功能:1、采集到五個傳感器的數據,并且通過顯示屏顯示出來的功能。
2、能將其中兩項空氣質量、氣壓超標的數值通過藍牙和GSM傳輸到手機APP和手機短信,實現了報警功能。
3、讓蜂鳴器報警功能。如圖4.2所示,該圖為功能調試圖。圖4.2功能調試圖總結本次設計針對環境污染的監控與管理,運用STM32單片機的廣泛性,設計一款多功能便攜式監控系統。其實用所學過的AT89C51單片機也可以實現,只是大眾喜歡用更受歡迎STM32單片機。單片機還廣泛應用于人工智能,物聯網技術,無線網絡等領域。
做這個環境智能監控系統讓我學到很多課外知識,同時也鞏固了自己這幾年來所學到的嵌入式系統相關知識,剛開始選到這個課題我覺得還簡單。但是因為涉及到了無線通信的GSM這一部分比較生疏的,我也不知道怎么來編程,通過我在網上查找資料學習了很多相關知識后,才有點思緒寫程序,還有藍牙通信這一部分,我不知道怎么來設計讓他實現通信,我在想,是用來做主模式還是從模式呢,最后想了下,搜集到了一些相關資料和相關知識,我就想到就用手機自帶的藍牙和這個藍牙設備來通信吧!因為可以在網上下載一個手機APP測試軟件來接收單片機處理好的數據通過藍牙傳輸到手機用戶。現在無線通信給社會帶來了太多便捷,提高我們的生活保障,已經是最能體現我們一個國家一個企業的先進發展了,小到我們的日常生活,大到國家民族的經濟事業載體,未來一定還能給這個世界帶來更多無限可能。參考文獻[1]劉火良,楊森.STM32庫開發實戰指南(第2版)[M].西安.機械工業出版社,2017.[2]基于MDK的STM32處理器開發應用[M].北京:北京航空航天大學出版社,2008:54-77.[3]王益涵,孫憲坤,史志才.嵌入式系統原理及應用:基于ARMCortex-M3內核的STM31F103系列微控制器[M].清華大學出版社,2016.[4]田紅,李秉權,張亞彤.基于STM32的水質智能遠程監控系統[J].水利規劃與設計,2019(02):31-33.[5]李征明,張世剛,孫華英,馮新用,紀建偉.基于μC/OS-Ⅱ系統的無線手持數據監控系統的設計[J].農機化研究,2016,38(01):150-154.[6]熊斯鵬,陳廣輝,高林,黃敏.基于STM32單片機動力環境監控終端的設計與實現[J].電子世界,2019(21):124-125+128.[7]李海.基于STM32和無線數傳模塊的遠程環境監控系統設計[J].中國新技術新產品,2019(21):17-18.[8]鄭紀業,崔太昌,王風云,黃潔,孔慶富,孫福來,郝浩宇.肉雞健康養殖環境監測控制系統研建[J].山東農業工程學院學報,2019,36(03):29-32.[9]潘浩然,李松松,張宸宸,夏聞澤,杜劍鋒.農產品貯存環境監控監控系統設計[J].電子測量技術,2019,42(03):123-128.[10]劉曉波,劉方武,崔釗,張濤.基于STM32的車內環境監控系統設計[J].工業控制計算機,2017,30(11):124-125+128.[11]谷沛尚,田芳明,常永新,趙欣宇,郭德占,趙琛,那陽.基于STM32單片機的作物生長環境監控系統設計[J].科技創新與應用,2017(30):43+45.[12]李凱,麻紅昭.基于STM32的溫室環境監控系統的設計與實現[J].工業控制計算機,2015,28(05):53-54.[13]王曉晶,趙銀花,宋柏林,王劭丹,劉瑛喆.基于STM32生產環境監控系統[J].長春工業大學學報,2015,36(01):61-65.[14]周育輝,孫濱,李軍民.基于STM32F103R6的畜禽養殖環境遠程監控系統[J].江蘇農業科學,2013,41(01):375-377.[15]謝輝程,郭莉.基于stm32的無線環境監控系統設計[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的家電智能監控系統的設計與研究[D].西安建筑科技大學,2017.[22]孫文雪.基于STM32的家庭用電智能監控系統的設計與實現[D].佛山科學技術學院,2018.[23]李旺昆,柯遠征,王立仕.基于STM32的智能家居環境監控系統的設計與實現[J].科技視界,2020(11):27-29.[24]唐俊龍,賈新亮,王超,彭永達,王龍,謝海情.基于STM32的智能環境監控系統設計[J].電子技術,2017,46(12):50-53.[25]高學東,祁志娟,程冉,周莉莉.基于STM32的汽車遠程智能監控防盜系統設計[J].科技風,2016(08):157-158.[26]許朋,孫通,馮國坤,饒洪輝,劉木華.基于STM32的智能溫室無線監控系統設計[J].農機化研究,2015,37(03):87-90.附錄附錄A硬件原理圖附錄B元件清單表序號元器件名型號在原理圖中符號數量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藍牙模塊HC-05P9114溫濕度傳感器DHT11P10115短信模塊SIM900AP111163.3V穩壓芯片AMS1117P12117粉塵傳感器GP2Y10P13118氣體傳感器MQ2P14119三極管NPNP151208550PNPQ1121電阻10KR1122電阻500R2,R3223電阻10KR4124電阻4.7KR5125電阻1KR7126電阻150R10127電源座DC3.5S1128獨立電源接口+5VS2129電源開關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";//數組,顯示用externlongresult_UT;//溫度externlongresult_UP; //氣壓doublealtitude;//海拔longal=0,pr=0;u16gasad,jj;u32pm_ad,ad1,kk,setgas=50,setpm=500;u8sendpc1[]="gaswarning!\n";//報警提示信息u8sendpc2[]="PM2.5warning!\n";//報警提示信息u16sendflaggas=1,sendflagpm=1;//發送標志位intmain(void)//主函數{ Stm32_Clock_Init(9);//系統時鐘設置 delay_init(72); //延時初始化 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");//顯示空氣質量值 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();//氣壓轉換 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檢測煙霧強度10次取平均值 show[0]=':'; show[1]=gasad/10+'0';//顯示煙霧值 show[2]=gasad%10+'0'; show[3]='\0'; OLED_P8x16Str(32,4,show); pm_ad=0;//累計清零 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檢測結果轉換成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)//按鍵設定值調節氣體 { if(setgas<99)setgas++; }elseif(K2==0)//按鍵設定值調節氣體 { if(setgas>0)setgas--; }elseif(K3==0)//按鍵設定值調節空氣質量 { if(setpm<2000)setpm=setpm+100; delay_ms(200); }elseif(K4==0)//按鍵設定值調節空氣質量 { if(setpm>0)setpm=setpm-100; delay_ms(200); } show[0]=':'; show[1]=setpm/1000+'0';//顯示設定
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 干細胞實驗室核心體系建設
- 項目管理原理與技巧
- 接受式音樂治療原理與應用
- 2025年中國平底電磁鍋市場調查研究報告
- 導尿護理操作培訓課件
- 森林課件內容
- 護理應知應會
- 2025至2030年中國高級滌綸線行業發展研究報告
- 中藥用藥護理
- 護理管理核心概念
- 2024年湖南省普通高中學業水平合格性考試地理試題(原卷版)
- 細致解讀wps考試內容的試題及答案
- 數據可視化與Python試題及答案
- 2025年兒童心理發展考試試題及答案
- 臺球股東合同協議書
- 新版《醫療器械經營質量管理規范》培訓課件
- 2025年湖南興湘科技創新有限公司招聘6人筆試參考題庫附帶答案詳解
- 2025屆山東省濱州地區物理八下期末學業水平測試模擬試題含解析
- 角膜塑形鏡護理流程
- 2025時政試題及答案(100題)
- 新22J01 工程做法圖集
評論
0/150
提交評論