基于單片機(jī)的智能家居溫控系統(tǒng)_第1頁
基于單片機(jī)的智能家居溫控系統(tǒng)_第2頁
基于單片機(jī)的智能家居溫控系統(tǒng)_第3頁
基于單片機(jī)的智能家居溫控系統(tǒng)_第4頁
基于單片機(jī)的智能家居溫控系統(tǒng)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

基于單片機(jī)的智能家居溫控系統(tǒng)摘要伴隨著智能時代的到來,人們的生活發(fā)生了巨大的變化,隨著社會的快速發(fā)展,風(fēng)扇作為一種普通的家用電器,在考慮到其具有價格便宜、體積小、質(zhì)量輕、便于挪移等優(yōu)點之外,也應(yīng)當(dāng)提高風(fēng)扇的技術(shù),從而提高其市場的競爭力,有的風(fēng)扇實現(xiàn)的功能單一,模式也單一,只能笨拙的手動操作,不能滿足大部分人的需求。所以根據(jù)以上的不足,本課題設(shè)計一款智能藍(lán)牙風(fēng)扇,從而滿足人們的需求。該設(shè)計以STM32F103C8T6單片機(jī)為核心主控,運用DHT11溫濕度傳感器、藍(lán)牙HC-05、OLED顯示屏等模塊,應(yīng)用到該智能風(fēng)扇中。該設(shè)計有分別有手動模式和自動模式,手動模式下,使用者可以根據(jù)自己的需要進(jìn)行對溫度的自動調(diào)速、調(diào)速的控制方式、定時關(guān)閉;自動模式下可以根據(jù)周圍的溫度自動調(diào)節(jié)風(fēng)速。輔以O(shè)LED顯示屏讓風(fēng)扇的運行狀態(tài)更加詳細(xì),使操作更加方便靈活。關(guān)鍵詞:STM32C8T6,藍(lán)牙,溫濕度,OLED顯示器DesignOfIntelligentTemperatureControlFanBasedOnBluetoothControlAuthor:LiYaningTutor:JiaJieAbstractWiththearrivaloftheintelligentera,people'slifehasundergonegreatchanges,withtherapiddevelopmentofsociety,fanasanordinaryhouseholdappliances,consideringitscheap,smallvolume,lightquality,easytomove,andshouldalsoimprovethefantechnology,toimprovethecompetitivenessofthemarket,somefansachievesinglefunction,issinglemode,onlyclumsymanualoperation,cannotmeettheneedsofmostpeople.Therefore,accordingtotheabovedeficiencies,thisprojecthasdesignedanintelligentBluetoothfantomeetpeople'sneeds.ThedesigntakestheSTM32F103C8T6single-chipmachineasthecoremaincontrol,usingDHT11temperatureandhumiditysensor,BluetoothHC-05,OLEDdisplayscreenandothermodules,appliedtotheintelligentfan.Thedesignhasmanualmodeandautomaticmoderespectively.Inmanualmode,userscanperformautomatictemperatureregulation,speedregulationcontrolmodeandtimingshutdownaccordingtotheirownneeds;inautomaticmode,thewindspeedcanbeautomaticallyadjustedaccordingtothesurroundingtemperature.AccompaniedbytheOLEDdisplaytomaketheoperationstateofthefanmoredetailed,tomaketheoperationmoreconvenientandflexible.Keywords:STM32C8T6,Bluetooth,Temperatureandhumidity,OLEDIndicator1緒論1.1課題背景最近幾年大量出現(xiàn)的智能硬件、物聯(lián)網(wǎng)系統(tǒng)逐漸出現(xiàn)在生活的每個方面,取代傳統(tǒng)落后的生活用品,近些年來智能家居一詞熱度很大,發(fā)展也很迅速,由此可見,人們目前正在追求高品質(zhì)的生活狀態(tài)。風(fēng)扇已經(jīng)成了我們生活中必不可缺的家用電氣。相對空調(diào)而言,風(fēng)扇具有低功耗、低價格、輕巧、便于移動等特點,依然有廣闊的應(yīng)用市場。傳統(tǒng)電風(fēng)扇大多數(shù)功能單一,只有選檔吹風(fēng)、定時、定速等功能,不能根據(jù)溫度變化調(diào)整轉(zhuǎn)速,存在一定的健康隱患和能源浪費。例如,在天氣較熱的夜晚時用戶只能憑感覺粗略定時、定速,設(shè)定的時間到了就停止工作。時間、風(fēng)速設(shè)定不適宜,會影響人們的睡眠質(zhì)量,甚至對身體健康造成損害。而且,傳統(tǒng)風(fēng)扇一般都不具備實時顯示溫度的功能,不能給用戶提供定時、定速的參考溫度值,不適宜的定時、定速都將會造成能源的浪費[1]。針對目前風(fēng)扇的控制系統(tǒng)的缺陷,將提出智能的設(shè)計思路,實現(xiàn)風(fēng)扇的自動運轉(zhuǎn)控制的細(xì)化,風(fēng)扇會自動根據(jù)溫度差調(diào)速,根據(jù)室溫的變化而變化。設(shè)計這款風(fēng)扇,使用單片機(jī)控制技術(shù)、藍(lán)牙通信技術(shù)、OLED顯示技術(shù)、傳感器檢測技術(shù)等,實現(xiàn)環(huán)境溫度、濕度、風(fēng)扇狀態(tài)、定時、風(fēng)扇擋位等信息的顯示,還可以根據(jù)個人需要調(diào)整手動模式和自動模式。1.2智能風(fēng)扇的設(shè)計背景該智能風(fēng)扇系統(tǒng)主要涉及到單片機(jī)、物聯(lián)網(wǎng)、智能硬件、藍(lán)牙技術(shù)這四大領(lǐng)域。目前市場上的大部分風(fēng)扇還是傳統(tǒng)的、機(jī)械式的,不具有智能的元素,功能也比較單一。因此,本文提出了一款基于手機(jī)APP控制的智能溫控風(fēng)扇,除實現(xiàn)了傳統(tǒng)風(fēng)扇的功能外,一方面具備了定時功能,另一方面可以通過手機(jī)端實現(xiàn)風(fēng)扇的自動模式和手動模式的任意切換。自動模式下,風(fēng)扇根據(jù)外界溫度自動調(diào)節(jié)風(fēng)扇的轉(zhuǎn)速,手動模式下,可以通過手機(jī)遠(yuǎn)程控制風(fēng)扇的轉(zhuǎn)速。另外,本次設(shè)計的產(chǎn)品具有便攜性,適合用于居家、旅行、露營等各種生活環(huán)境。1.3本課題的研究內(nèi)容本課題主要研究如何把單片機(jī)控制技術(shù)和藍(lán)牙技術(shù)融合在一起,制作一個功能全面、實用性強(qiáng)、貼合現(xiàn)代科技發(fā)展的智能風(fēng)扇系統(tǒng)。通過DHT11采集的數(shù)據(jù)傳送到單片機(jī)上,由OLED顯示,并和手機(jī)藍(lán)牙端進(jìn)行通信,收發(fā)指令。2系統(tǒng)設(shè)計方案2.1系統(tǒng)的整體構(gòu)架該系統(tǒng)核心控制器選擇STM32F103C8T6單片機(jī),該單片機(jī)具有低功耗、性價比高等特點,通過藍(lán)牙模塊通信,以此控制該系統(tǒng);通過DHT11模塊來完成環(huán)境溫濕度數(shù)據(jù)的收集;輔助電路有OLED顯示電路。通過藍(lán)牙模塊連接安卓客戶端,傳輸相應(yīng)信息指令,單片機(jī)會對藍(lán)牙模塊收來的數(shù)據(jù)進(jìn)行分析,并做出相應(yīng)的操作,控制風(fēng)扇,實現(xiàn)風(fēng)扇的遠(yuǎn)程控制。系統(tǒng)總體設(shè)計框圖如圖2.1所示。框圖主要功能:(1)PWM調(diào)速:自動模式:根據(jù)設(shè)定的溫度自動調(diào)速;手動模式:手機(jī)端遠(yuǎn)程調(diào)速。在控制電機(jī)的轉(zhuǎn)速時,通過調(diào)節(jié)PWM波的占空比實現(xiàn)調(diào)速,占空比越大,轉(zhuǎn)速就越快。定時功能:通過手機(jī)端對風(fēng)扇進(jìn)行定時,達(dá)到一定時間自動關(guān)閉。(2)實時顯示功能:OLED顯示當(dāng)前的溫濕度、相關(guān)的風(fēng)扇工作狀態(tài)、轉(zhuǎn)速以及定時時間。(3)遠(yuǎn)程控制功能:無線傳輸器采用兩塊HC-O5主從一體藍(lán)牙模塊作為無線傳輸?shù)钠骷T撃K可設(shè)置主從模式,進(jìn)行主、從角色間的連接及發(fā)送接收。HC-O5主從一體藍(lán)牙模塊操作簡單,功耗低,通信距離10米以內(nèi),適合本設(shè)計。通過安卓手機(jī)端和系統(tǒng)藍(lán)牙技術(shù)進(jìn)行遠(yuǎn)距離的控制風(fēng)扇的調(diào)速以及定時設(shè)定溫度閾值等運作狀態(tài)。除此之外,手機(jī)端也可以顯示該系統(tǒng)的工作狀態(tài)。圖2.1系統(tǒng)設(shè)計總框圖2.2方案論證2.2.1電源設(shè)計方案論證電源是一個電子系統(tǒng)中重要組成部分之一,是能否正常工作的前提,所以一個好的電源方案能讓電子系統(tǒng)工作的更加穩(wěn)定和長久。該系統(tǒng)使用最為普遍的5V電壓作為主輸入電壓,其中有兩種方案可供選擇。方案一:使用USB輸入5V,直接給系統(tǒng)供電。方案二:采用18650鋰電池給系統(tǒng)供電。兩種方案都有自己的優(yōu)缺點。方案一直接供電方便、靈活,沒有復(fù)雜的電路,可是在停電或者是要用電源去做別的工作的時候,系統(tǒng)沒有電源輸入,將無法提供任何智能服務(wù)。方案二需要給系統(tǒng)進(jìn)行定時的充電,且板子的設(shè)計以及調(diào)試帶來一些問題,鋰電池空間也會占用一些空間。所以選用方案一更適合于本系統(tǒng)。2.2.2控制器設(shè)計方案論證控制器是一個智能系統(tǒng)的主要核心,類似于人體的大腦,所有數(shù)據(jù)的處理和傳輸都要經(jīng)過控制器。目前為止最常用的單片機(jī)控制器主要是以Intel公司8051為核心的51單片機(jī)和以ARM公司的高性能“Cortex-M3”為內(nèi)核的STM32單片機(jī)。方案一:采用STC89C51RC單片機(jī)作為該系統(tǒng)的核心控制器。方案二:采用STM32F103C8T6單片機(jī)作為該系統(tǒng)的核心控制器。這兩方案都可以滿足本設(shè)計的要求,方案一的STC89C51RC單片機(jī)是采用8051核心的可編程芯片,片內(nèi)含4K的可反復(fù)擦寫1000次的FLASH只讀存儲器。STC89C51RC是具有8051核的單片機(jī),具有ISP特性,工作電壓是3.4V~5.5V,工作頻率在0~35MHz之間,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)和80C51引腳,512kB的RAM,2KB的EEPROM[2],如果要往單片機(jī)內(nèi)部下載程序,需要專用的下載芯片和驅(qū)動,因為此單片機(jī)和電腦端的系統(tǒng)不一樣無法直接通信,所以電腦端需要安轉(zhuǎn)CH340驅(qū)動并配合CH340下載器,然后再配合電腦端的控制程序才能下載程序到單片機(jī)中。方案二的STM32F103C8T6是一款基于ARM32位的CortextM3內(nèi)核的單片機(jī),2.0~3.6V的寬電壓供電范圍,CPU工作頻率最大可達(dá)72MHZ,具有單周期的乘法指令和硬件除法,以及優(yōu)先級可編程的中斷系統(tǒng)。同時它還具有64KB的Flash存儲器與20KB的SRAM存儲器,另外還集成了非常豐富的片內(nèi)外設(shè),如看門狗、定時器、GPIO口、DMA控制器、ADC、UART、SPI接口、IIC接口等,具有成本低、速度快、性價比高等優(yōu)點[3]。方案二所選用的單片機(jī)在內(nèi)核、存儲器以及調(diào)試模式上都要遠(yuǎn)優(yōu)于方案一所選用的單片機(jī)。所以在本系統(tǒng)中方案二是最優(yōu)選擇。2.2.3顯示模塊方案論證顯示模塊需要把用戶需要的信息通過顯示器顯示出來,是人機(jī)交互的重要途徑,在該系統(tǒng)中需要把環(huán)境的溫濕度、模式以及擋位呈現(xiàn)到顯示屏上。方案一:選用LCD1602顯示模塊。方案二:選用0.96寸OLED顯示模塊。LCD1602是一種價格便宜的液晶顯示屏,常用在智能性儀表、通信和微型自動化設(shè)備中,通常用來顯示ASCII碼字符,所以被稱為“字符型顯示器件”[4]。顯示的內(nèi)容為16x2,即可以顯示兩行,每行16個字符,占用PCB空間很大,且不能顯示漢字。OLED是用I2C或SPI驅(qū)動,能夠自發(fā)光,像素為128x64,漢字可以通過取模方式顯示出來,SPI驅(qū)動方式的引腳數(shù)量只有7個。不僅更輕薄、能耗低、高性能、亮度高、發(fā)光率好、可以顯示純黑色。所以方案二更適合本設(shè)計要求。2.2.4電機(jī)驅(qū)動方案論證由于單片機(jī)的引腳輸出電流是非常小的,一般在10~20mA左右,而直流電機(jī)的驅(qū)動電流在100mA以上。所以需要一個好的驅(qū)動模塊。方案一:選用L298N驅(qū)動板。方案二:選用2路直流電機(jī)驅(qū)動板。L298N具有較強(qiáng)的驅(qū)動能力,工作電壓高,發(fā)熱低,抗干擾能力強(qiáng),但是對于本設(shè)計,占用空間太大。2路直流電機(jī)驅(qū)動板有較小的體積,兩者相同工作下都可以發(fā)揮較好的性能,所以選用2路直流電機(jī)驅(qū)動板適合設(shè)計要求。2.2.5通信模塊選擇方案方案一:使用WIFI-ESP8266模塊控制。方案二:選用藍(lán)牙HC-05控制。在本設(shè)計中,通信模塊是主要的輔助模塊,是與手機(jī)APP端連接的橋梁。ESP8266支持三種組網(wǎng)模式,分別是SoftAP模式、Station模式和SoftAP+Station模式,可將芯片設(shè)置為透傳模式,這樣ESP8266就相當(dāng)于在互聯(lián)網(wǎng)和UART(異步串行通信接口)之間搭建起了一座橋梁[5]。但是通信時由于空間中WiFi信號復(fù)雜,通信處理難度加大,易干擾,給編程帶來不便。藍(lán)牙HC-05它成本低,功耗小,通信距離十米,足以滿足本設(shè)計的要求,也可以與手機(jī)端APP通信實現(xiàn)遠(yuǎn)程控制風(fēng)扇。綜上所述選用藍(lán)牙HC-05模塊作為通信模塊。3硬件電路的設(shè)計3.1單片機(jī)控制電路單片機(jī)最小系統(tǒng)電路設(shè)計如圖3.1所示,它是整個系統(tǒng)的大腦。圖3.1單片機(jī)控制電路3.2藍(lán)牙電路采用HC-05藍(lán)牙芯片通過單片機(jī)的串口通信實現(xiàn)和手機(jī)移動端的實時通信。打開手機(jī)APP藍(lán)牙調(diào)節(jié)器,與手機(jī)端配對后作為從機(jī),使用方法與串口一樣,將藍(lán)牙模塊中的TXD端與單片機(jī)中的RXD端連接,而藍(lán)牙模塊中的RXD端則與單片機(jī)中的TXD端連接,通過雙向通信的藍(lán)牙模塊作用給芯片和手機(jī),通過藍(lán)牙傳輸給單片機(jī)采集到的數(shù)據(jù),并且接收藍(lán)牙手機(jī)的反饋[6]。電路圖如圖3.2.1所示,實物圖如圖3.2.2所示。圖3.2.1藍(lán)牙通信電路圖3.2.2藍(lán)牙實物圖3.3溫濕度檢測電路DHT11是一種數(shù)字式溫濕度傳感器,由DTH11傳感器和一個用于抗信號干擾的上拉電阻組成,在汽車,氣象站,除濕器等各方面都有廣泛的應(yīng)用,本身既可以測量濕度數(shù)據(jù)同時也可以測量溫度數(shù)據(jù),可以把數(shù)據(jù)直接給單片機(jī),其和單片機(jī)是通過單總線方式進(jìn)行通信[7]。其溫度和濕度數(shù)據(jù)的采集精度都是±0.1,完全滿足本設(shè)計中對環(huán)境溫濕度的數(shù)據(jù)精度的測量要求。由于DTH11是一個集成的溫濕度傳感器,并且在標(biāo)準(zhǔn)的溫濕度環(huán)境下進(jìn)行過校準(zhǔn),所以其結(jié)構(gòu)電路非常簡單。內(nèi)部已經(jīng)集成好電路,其中OUT接單片機(jī)PA7引腳,電路圖如圖3.3.1所示,實物圖如圖3.3.2所示。圖3.3.1溫濕度檢測電路圖3.3.2溫濕度傳感器實物3.4電機(jī)電路家居中常用的風(fēng)扇一般通過調(diào)速電位器實現(xiàn)手動調(diào)速,風(fēng)扇的電機(jī)無法實現(xiàn)無極調(diào)速[8],所以本設(shè)計通過單片機(jī)的一個定時器產(chǎn)生一個脈沖寬度調(diào)制信號(PWM),經(jīng)該模塊電路來驅(qū)動電機(jī)的轉(zhuǎn)動,實現(xiàn)風(fēng)扇的任意轉(zhuǎn)速。PWM輸出的是高低電平的開關(guān)量,很多的控制技術(shù),就是采用PWM控制,簡而言之,就是對脈沖的寬度進(jìn)行控制[9]。定時器TIMx通過通道3與compare3值比較輸出PWM,控制compare3參數(shù)值就可控制脈沖寬度,控制占空比,就可以對電機(jī)調(diào)速。由于單片機(jī)的I/O驅(qū)動能力有限不能驅(qū)動風(fēng)扇正常運轉(zhuǎn),所以選用2路直流電機(jī)驅(qū)動板。根據(jù)設(shè)計,電機(jī)驅(qū)動模塊只需用兩個輸出口個即可。該模塊的OUT1和OUT2分別接直流電機(jī),IN1、IN2為邏輯信號,分別接單片機(jī)的PB0、PB1引腳(PWM引腳),控制單片機(jī)這兩個引腳,設(shè)置脈沖寬度,產(chǎn)生PWM波,即可實現(xiàn)無級調(diào)速。電機(jī)電路如圖3.4.1所示,電機(jī)模塊實物圖如圖3.4.2所示。圖3.4.1電機(jī)電路圖圖3.4.2電機(jī)模塊實物圖3.5電源電路電源開關(guān)選用撥動開關(guān),插入雙公頭USB接口后撥動開關(guān)即可。圖3.5電源電路3.6顯示電路顯示電路采用SPI的0.96寸OLED液晶顯示器,它尺寸小巧,結(jié)構(gòu)緊湊,D0,D1,為SPI接口引腳,完成數(shù)據(jù)或者命令的傳輸,CS為片選引腳,拉低時傳輸才有效,DC用來選擇寫數(shù)據(jù)還是還是寫命令,拉低為寫命令,拉高為寫數(shù)據(jù),RES為復(fù)位引腳,低電平復(fù)位,在初始化時拉低一段時間實現(xiàn)復(fù)位,OLED顯示電路如圖3.6.1所示,實物圖如圖3.6.2所示。該模塊顯示當(dāng)前風(fēng)扇的運行參數(shù),如當(dāng)前的溫濕度、轉(zhuǎn)速、定時信息和閾值。圖3.6.1OLED顯示電路圖3.6.2OLED實物圖4系統(tǒng)軟件設(shè)計4.1開發(fā)軟件簡介該系統(tǒng)使用的開發(fā)軟件為Keil5,能夠把寫好的C語言代碼,編譯成單片機(jī)能夠識別的機(jī)器語言,即0和1。之后通過專用的下載器下載到單片機(jī)的FLASH中運行。Keil5界面如下圖4.2所示。圖4.2Keil5界面4.2主程序設(shè)計本設(shè)計以STM32C8T6芯片為主控芯片。首先初始化通用定時器,設(shè)置占空比,確??梢苑€(wěn)定輸出PWM波,然后初始化對應(yīng)的藍(lán)牙通信引腳,確保可以和手機(jī)端通信,在初始化OLED對應(yīng)的引腳,然后顯示系統(tǒng)的初始化信息。程序是在while里由上到下循環(huán)執(zhí)行的,加上中斷服務(wù)函數(shù)。每隔一段時間,系統(tǒng)每次都要顯示新的數(shù)據(jù),如果檢測到中斷即刻跳出while循環(huán)去執(zhí)行中斷服務(wù)函數(shù)。在手動模式下可以用手機(jī)遠(yuǎn)程控制電機(jī)的速度;在自動模式下,可以設(shè)定溫度閾值,如果大于閾值溫度3℃時,占空比設(shè)為60%;如果大于閾值5℃時,占空比設(shè)定為40%;如果大于閾值溫度超過8℃,占空比設(shè)為5%。根據(jù)收到的指令,選擇指定的模式,從而調(diào)整電機(jī)的速度。然后繼續(xù)檢測定時功能是否打開。如果設(shè)置了定時功能,執(zhí)行定時函數(shù),到達(dá)時間后自動關(guān)閉定時功能。主程序流程圖如圖4.3所示。圖4.2主程序流程圖4.3藍(lán)牙接收子程序程序首先初始化主控的USART外設(shè),設(shè)置波特率、工作模式等,然后和手機(jī)端APP進(jìn)行連接,若連接無誤,單片機(jī)檢測是否有數(shù)據(jù)發(fā)來,再解析各個數(shù)據(jù)相應(yīng)的命令,對命令執(zhí)行相應(yīng)的操作,主要有風(fēng)速調(diào)整模式切換、定時開啟、信息發(fā)送。在于信息發(fā)送函數(shù)中,把讀取到的溫度、濕度、模式和速度參數(shù)發(fā)送給手機(jī)APP。藍(lán)牙接收子程序如圖4.3所示。圖4.3藍(lán)牙接收子程序流程圖4.4溫濕度檢測程序設(shè)計DHT11直接輸出的是數(shù)字信號,首先讀取數(shù)據(jù)前由單片機(jī)發(fā)出開始命令,如果DHT11收到開始信號并發(fā)送響應(yīng)信號,那么單片機(jī)就可以進(jìn)行一次數(shù)據(jù)讀取[10],之后顯示到OLED上,代碼如下。if(Read_DHT11(&DHT11_Data)==SUCCESS){//溫度讀取顯示sprintf(cStr,"Temp:%d.%dC",DHT11_Data.temp_int,DHT11_Data.temp_deci);OLED_ShowString(0,0,cStr,16);OLED_Refresh();temp_buf=DHT11_Data.temp_int*10+DHT11_Data.temp_deci;//濕度讀取顯示sprintf(cStr,"Humi:%d.%d%%",DHT11_Data.humi_int,DHT11_Data.humi_deci);OLED_ShowString(0,20,cStr,16);OLED_Refresh();}5系統(tǒng)調(diào)試系統(tǒng)的調(diào)試分為軟件調(diào)試和硬件調(diào)試,在設(shè)計中缺一不可。如果硬件有問題,那么軟件部分將無法運行,甚至?xí)?dǎo)致芯片或器件燒毀。軟件部分作為整個系統(tǒng)的靈魂,如果軟件調(diào)試不成功,系統(tǒng)將不會正常運行。5.1硬件調(diào)試電路板的設(shè)計是一個很漫長的過程,需要把相應(yīng)的模塊主控等布置好,除此之外需要自己布線、焊接。本次設(shè)計的PCB采用的是國產(chǎn)嘉立創(chuàng)EDA軟件,有強(qiáng)大的功能和庫。首先需要確定所需的元器件,然后在了解該元器件后進(jìn)行布線、確定布局、畫PCB,之后用萬用表的蜂鳴擋測量一些關(guān)鍵的地方,查看是否有短路和虛焊的部分。之后上電觀察系統(tǒng)的運行狀態(tài)。PCB整體布局圖如圖5.1所示。圖5.1PCB整體布局圖5.2軟件調(diào)試5.2.1藍(lán)牙數(shù)據(jù)收發(fā)調(diào)試藍(lán)牙部分是系統(tǒng)和手機(jī)之間通信的橋梁,首先確保模塊連接沒有問題,在軟件中設(shè)計中,包括中斷的收命令和發(fā)送命令,重定向c函數(shù)庫printf到串口,之后可以使用Printf函數(shù)發(fā)送命令。在數(shù)據(jù)收發(fā)的調(diào)試中分為系統(tǒng)的調(diào)試和手機(jī)端APP調(diào)試。本系統(tǒng)使用上位機(jī)是藍(lán)牙調(diào)試器。在代碼中需要配置中斷接收函數(shù),設(shè)置好接收和發(fā)送的命令。如代碼接收函數(shù)圖5.2所示。在手機(jī)端的藍(lán)牙調(diào)試器中定義好發(fā)送的命令,然后發(fā)送字符“A”,及速度按鈕,查看電機(jī)的速度是或否有改變。如手機(jī)界面圖5.3所示。若手機(jī)端可以看到返回的信息,說明中斷接收和發(fā)送沒有問題。圖5.2代碼接收函數(shù)圖圖5.3手機(jī)界面圖5.2.2OLED顯示調(diào)試本系統(tǒng)中OLED顯示屏作為人機(jī)交互的界面,上電后將顯示各個狀態(tài)的下信息,如圖5.4顯示電路圖所示。界面顯示當(dāng)前的溫度和濕度,屏幕右邊顯示溫度閾值,在手機(jī)上可以更改,屏幕最下方顯示系統(tǒng)運行的模式和電機(jī)的速度及狀態(tài)。更改功能,屏幕將相應(yīng)的變化。圖5.4顯示電路圖5.2.3整體功能調(diào)試在手機(jī)上按下定時后界面會顯示倒計時,按下模式功能按鈕將會切換對應(yīng)的功能,按下定時按鈕界面將會顯示倒計時,為了方便調(diào)試,將縮小倒計時時間。如圖5.5定時功能圖所示。當(dāng)?shù)褂嫊r結(jié)束后將關(guān)閉風(fēng)扇。再次啟動時需要按下調(diào)速按鈕,將啟動風(fēng)扇。自動模式下在APP上按下溫度加或減,屏幕上可以看到最右側(cè)的閾值發(fā)生改變,如果檢測到的溫度值大于閾值溫度,風(fēng)扇將會打開。在當(dāng)前界面上,速度按鈕為調(diào)整風(fēng)扇的速度,信息查詢按鈕可以返回檢測到的溫度、濕度、模式和電機(jī)的轉(zhuǎn)速等,如手機(jī)接收信息圖5.6所示。圖5.5定時功能圖圖5.6手機(jī)接收信息圖結(jié)論本設(shè)計以STM32F103C8T6單片機(jī)為主控,輔助電路為DHT11溫濕度檢測電路OLED顯示電路以及藍(lán)牙通信電路。本系統(tǒng)控制調(diào)速有手動和自動兩種模式,在手動模式下只能通過手機(jī)端發(fā)送命令進(jìn)而調(diào)速;在自動模式下,可以通過手機(jī)設(shè)定溫度閾值,然后周圍環(huán)境的溫度與該閾值來判定并設(shè)置PWM的占空比,有效的控制了在不同溫差條件下的轉(zhuǎn)速。在定時功能下,每次按下將增加定時的時長,定時結(jié)束后關(guān)閉風(fēng)扇,這將不會擔(dān)心忘記關(guān)閉風(fēng)扇而浪費電等,此外手機(jī)可以發(fā)送信息查詢命令,這將形成多功能的智能系統(tǒng)。系統(tǒng)中涉及到了通信模塊,如藍(lán)牙HC-05,這是本系統(tǒng)的核心部件,也是設(shè)計中的難點。調(diào)試過程中也遇到了很多的困難,對此也學(xué)習(xí)了很多通信的知識,學(xué)會了各個模塊的原理以及使用方法,除此之外,在編寫程序的時候也遇到了很多問題,像DHT11的移植,在開發(fā)板上測試完后還需要移準(zhǔn)確的植到本系統(tǒng)中,此外,在實際問題如果硬件有問題,程序即使對也不會出現(xiàn)效果。為了使系統(tǒng)能夠協(xié)調(diào)的運行,需要在軟件中設(shè)置很多個標(biāo)志位,像定時時間標(biāo)志位、電機(jī)標(biāo)志位、定時累加標(biāo)志位等,給程序帶來了復(fù)雜性,這就需要不斷的調(diào)試,每個功能逐個測試,最終實現(xiàn)全部的功能。即使如此,在實際的問題中也會存在不可預(yù)測的問題需要解決,這是下一步應(yīng)該解決的。參考文獻(xiàn)[1]胡慧之.基于STM32的智能風(fēng)扇控制系統(tǒng)設(shè)計[J]信息與電腦(理論版),2019,31(23):59-61

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論