版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于stm32的甲醛檢測裝置設(shè)計摘要隨著我國經(jīng)濟的飛速發(fā)展,人們生活水平不斷提高,房屋裝修風格越來越多變,建筑和裝修材料的種類越來越多,而與此同時帶來的裝修污染問題隨之凸顯。對于裝修帶來的空氣污染物,人們最關(guān)心的莫過于甲醛超標問題。從二十一世紀初開始,注重居住環(huán)境健康的人們就開始采用各種方式降低甲醛污染,而檢測甲醛濃度的手段和方法也在不斷升級。本課題基于stm32單片機平臺,整合甲醛傳感器模塊、藍牙模塊、顯示器模塊、ADC模塊等硬件設(shè)施,然后采用Keil編程軟件進行單片機程序編寫,AppInventor平臺開發(fā)Android手機端配套軟件,通過從硬件到軟件的整體協(xié)同開發(fā),設(shè)計制作了一款可以與手機等智能終端互聯(lián)的低成本、易操作、低功耗、高精度的甲醛檢測裝置。關(guān)鍵詞:甲醛檢測;stm32;傳感器;藍牙;keil;Android目錄引言 引言人們都說二十一世紀是飛速發(fā)展的信息化時代,計算機科學技術(shù)和各種電氣化的設(shè)備廣泛地影響著每個人的生活節(jié)奏和生活方式。二十一世紀初的我還在蹣跚學步,當時的計算機運算速度還不及今天的智能手機。隨著年齡的增長,我們這一代人可以說是見證了計算機技術(shù)在中國的高速進化,因此我也在選擇大學專業(yè)時選擇了電氣工程與智能控制專業(yè),希望學習電氣自動化和計算機的相關(guān)知識,并應用這些專業(yè)知識該表人們的生活方式和態(tài)度,推動生活中相關(guān)設(shè)備的智能化。本課題選取了現(xiàn)代生活中尤為突出的甲醛超標問題,通過對單片機技術(shù)、傳感器檢測技術(shù)和Android設(shè)備App的開發(fā),旨在解決當前甲醛檢測設(shè)備昂貴、檢測步驟復雜、檢測周期較長的問題,方便人們在新房裝修等場景中以較低的成本、較短的時間、較高的精度獲得定量的甲醛濃度數(shù)據(jù),以此針對性地提升居住環(huán)境指標。1.緒論1.1課題研究背景隨著人們生活水平的提高,房屋裝修風格越來越多變,建筑和裝修材料的種類越來越多,而與此同時帶來的裝修污染問題隨之凸顯。其中,甲醛、苯、氨氣、氡氣、TVOC(總揮發(fā)性有機物)等指標是室內(nèi)空氣污染的重要指標,一旦人體長期處于超標環(huán)境,將對身體健康造成嚴重的影響。世界衛(wèi)生組織相關(guān)資料顯示:全球每年因室內(nèi)空氣污染而死亡的人數(shù)高達280萬,我國每年因室內(nèi)空氣污染引起的死亡人數(shù)達11.1萬,門急診接診數(shù)量達到450萬次左右。因此,越來越多的人開始關(guān)心室內(nèi)污染物的指標是否達到可以入住的標準,而甲醛由于普遍且大量存在于常規(guī)裝修材料中,首當其沖,是人們的重點關(guān)注對象。1.2甲醛的來源甲醛,化學式為HCHO,又被稱為蟻醛,是一種無色的有刺激性氣味的氣體,是一種原生毒素,會對眼睛和黏膜產(chǎn)生刺激作用。1859年,俄國科學家首次發(fā)現(xiàn)甲醛。1867年,德國科學家奧格斯特·威廉·馮·霍夫曼借助鉑催化劑在空氣氧化甲醇中制得甲醛,并由此確定了甲醛氣體的化學特性。甲醛易溶于水和乙醇,我們常見的福爾馬林就是甲醛含量在35%到40%之間的水溶液。此外,甲醛不僅具有有效的消毒殺菌能力,同樣也是生產(chǎn)樹脂粘合劑的重要原料,因此也被廣泛地用于家裝材料中,起到加固和防腐的作用。在家庭環(huán)境中。甲醛主要來自于墻面涂料、木地板、家具、玻璃膠等,涂料中大量的粘合劑在起效過程中會釋放大量的甲醛,非實木地板和家具由于在制造過程中不可避免使用粘合劑同樣會釋放甲醛,玻璃膠則在使用過程中由于需要加熱更容易釋放甲醛。1.3甲醛的危害2017年10月27日,甲醛被世界衛(wèi)生組織列入一類致癌物質(zhì)清單。短時間處于高濃度甲醛環(huán)境,可導致呼吸道激惹癥狀、支氣管哮喘等,嚴重時可能會引起消化道灼傷、全身中毒、皮膚壞死等癥狀,威脅人體生命安全。長時間暴露于甲醛含量超標的環(huán)境中,可能會對呼吸系統(tǒng)、神經(jīng)系統(tǒng)和免疫系統(tǒng)功能產(chǎn)生影響,甚至對心腦血管和內(nèi)分泌系統(tǒng)等造成毒性作用,導致人體出現(xiàn)頭痛、乏力、失眠、精神紊亂等癥狀,研究表明,長此以往可能會導致癌癥發(fā)病風險升高。1.4甲醛檢測需求我國頒布的《住宅設(shè)計規(guī)范》(GB50096-2011)中明確規(guī)定:住宅內(nèi)空氣污染物中,游離甲醛濃度應小于等于0.08毫克/立方米。《室內(nèi)空氣質(zhì)量標準》(GB/T18883-2002)中,一小時內(nèi)甲醛濃度均值應小于0.10毫克/立方米。隨著人們生活質(zhì)量的不斷提高,住房條件不斷改善,對于家庭的裝修風格要求也在不斷增加,各種裝修材料在使用過程中難免會釋放出甲醛。基于人們對自身和家人的健康需求,新房裝修完成后,斥巨資購買各種除甲醛設(shè)備,通風半年再入住的新聞也屢見不鮮。然而事實上,在使用所謂有效的除甲醛方法后,人們很難憑借主觀感受來判斷甲醛含量是否達到可以安全入住的標準,這也導致了一些人在良好通風的房屋內(nèi)仍因甲醛超標引起身體反應。越來越多的人開始關(guān)注室內(nèi)環(huán)境監(jiān)測,在活性炭吸附、光催化、植物吸收等各種方法實施后,衡量室內(nèi)空氣質(zhì)量是否達標最重要的一項指標之一就是甲醛的濃度。目前,主流的甲醛檢測方法可分為分光比色法、氣相色譜法、氣體傳感器,檢測裝置主要有甲醛自測盒、甲醛檢測儀、CMA專業(yè)檢測。2.甲醛檢測裝置概述2.1檢測原理甲醛自測盒,可以定性檢測甲醛濃度是否超標,成本低,檢測時間較短,缺點是不能定量檢測,只能用于大致參考,并且受外界干擾嚴重。檢測原理是分光比色法,用酚試劑吸收空氣中的甲醛后,試紙會根據(jù)甲醛濃度高低生成不同的顏色,通過與色卡進行比對得到大致的濃度數(shù)值,并判斷是否超標。甲醛檢測儀,可以定量檢測甲醛濃度,并對其是否超標進行定量分析,成本較高,精度較高,檢測時間短,受外界干擾較小。檢測原理一般是采用氣體傳感器,主要有半導體氣體傳感器、電化學傳感器等,通過傳感器將氣體濃度轉(zhuǎn)化為電信號并進行數(shù)據(jù)采集和分析。CMA專業(yè)檢測,可以精確檢測建筑環(huán)境中甲醛含量,并出具具有法律效應的檢測報告,檢測步驟繁瑣,需要使用專業(yè)設(shè)備采集氣體并在實驗室進行分析,成本高昂,檢測周期長,主要面對建筑公司、企業(yè)等。因此,根據(jù)大多數(shù)人對檢測結(jié)果、檢測時間和檢測成本的要求,在這個課題中我們主要圍繞甲醛檢測儀進行研究。2.2甲醛檢測儀市場產(chǎn)品美國哈希HACHDR1900便攜式分光光度儀,長度接近30cm,整機質(zhì)量1.5kg,價格在2.5萬人民幣左右。雖然價格高昂,但是它具有嚴謹?shù)臏y量流程,準確的測量結(jié)果。國產(chǎn)元特SKY8000氣體分析儀,長寬高超過20cm,主機重量達到3.7kg,便攜性差。檢測原理為電化學傳感器,可以顯示數(shù)據(jù)、曲線等信息并儲存數(shù)據(jù)。檢測原理為電化學傳感器。單甲醛模塊定制價格就達到了7280元,昂貴的價格帶來的精度是0.1ppm。英國PPM-HTV甲醛檢測分析儀,體積僅手機大小,質(zhì)量為270g,屬于便攜設(shè)備范疇。檢測原理同樣為電化學傳感器,但由于具有濕度補償功能,在采樣環(huán)境較穩(wěn)定的情況下,可以達到0.01ppm。并且可以選配計算機遙控軟件及適配器,通過計算機顯示數(shù)據(jù)。主機價格在1.2~1.5萬元左右,產(chǎn)品整體競爭力較強。2.3硬件平臺低功耗場景的硬件平臺,一般采用的是微控制器,又稱MCU,也叫單片機,可以視作將中央處理器(CPU)的頻率、規(guī)格等技術(shù)參數(shù)適當縮減,然后集成A/D轉(zhuǎn)換、USART、閃存(flash)、內(nèi)存(memory)、計數(shù)器(Timer)、DMA、IO口等接口,方便開發(fā)者開發(fā)應用程序,適用于各種控制場合,如遙控器、汽車工業(yè)、電機控制、機器臂控制等。全球范圍內(nèi)有多家大型的MCU單片機制造公司,如意法半導體、Renesas、英飛凌、德州儀器、恩智浦、微芯科技、賽普拉斯、三星、東芝等。意法半導體(ST)集團成立于1987年,是由意大利的SGS微電子公司和法國Thomson半導體公司合并而成。意法半導體微控制器擁有強大的產(chǎn)品陣容,從低功耗8位單片機STM8系列,到基于ARM?Cortex?-M0和M0+、Cortex?-M3、Cortex?-M4、Cortex?-M7內(nèi)核的STM32系列,為開發(fā)人員開發(fā)嵌入式產(chǎn)品提供了豐富的資源。ST是從基準設(shè)計、應用軟件、制造工具、規(guī)格到各種源二極管、晶體管和復雜系統(tǒng)芯片(SoC)設(shè)備,擁有業(yè)界最廣泛的半導體產(chǎn)品線之一。ST是各種產(chǎn)業(yè)領(lǐng)域的主要供應商,包括高級技術(shù)、知識產(chǎn)權(quán)資源、世界級制造工藝等。另一方面,ST擴大了包含超低功耗的單芯片系列產(chǎn)品的生產(chǎn)線。RENESAS,在2003年4月1日由日立半導體和三菱電機半導體合并成立。它結(jié)合了日立與三菱在半導體領(lǐng)域的技術(shù)經(jīng)驗,是無線網(wǎng)絡、汽車、消費與工業(yè)市場設(shè)計制造嵌入式半導體的全球領(lǐng)先供應商。它獲得了ARM的授權(quán)用于處理器的開發(fā),但是MCU都是用瑞薩自己的架構(gòu)。英飛凌成立于1999年的德國,其前身是西門子集團的半導體部門。英飛凌是世界領(lǐng)先的半導體公司之一,2020年入選全球汽車零部件百強企業(yè)。它的8位單片機即使在嚴酷的使用環(huán)境中也能擁有高可靠性的高性能控制能力。其8位單片機主要有XC800系列、XC886系列、XC888系列等。它的mcu主要被用于汽車和工業(yè)中,消費者業(yè)務較少。德州儀器是世界上為數(shù)不多的模擬和數(shù)字半導體IC設(shè)計和制造企業(yè)之一。它不僅提供模擬技術(shù)和數(shù)字信號處理,而且涉足微控制器領(lǐng)域。其最具代表性的piccolo系列32位微控制器推出了C2000和F28x系列微處理器。針對不同領(lǐng)域,德州儀器公司推出了許多系列產(chǎn)品,產(chǎn)品線廣泛。恩智浦成立于2006年,前身是荷蘭飛利浦公司于1953年成立的半導體事業(yè)部。2015年,恩智浦半導體收購摩托羅拉成立的飛思卡爾半導體,成為全球非存儲半導體十強企業(yè)和全球最大的汽車半導體供應商。NXP的MCU基于80C51核,內(nèi)置功率檢測、仿真、片內(nèi)RC振蕩器等功能,集成度高、成本低、功耗低等優(yōu)點讓它在許多應用設(shè)計中大放異彩。微芯科技成立于1989年,是全球領(lǐng)先的微控制器和模擬半導體供應商。它的拳頭產(chǎn)品是Microchip(微芯)微控制器,市場份額增速最快。其主要產(chǎn)品是16C系列8位微控制器,它的CPU采用RISC架構(gòu),指令精簡,運行速度快,且價格低廉。三星電子,三星集團最大的子公司,成立于1969年1月,是韓國最大的電子工業(yè)企業(yè)。它的單片機產(chǎn)品非常豐富,包括4位單片機如KS51、KS57系列,8位單片機如KS86、KS88系列,16位單片機有KS17系列,還有KS32系列32位單片機。三星的單片機技術(shù)主要來自于收購,將不同公司的優(yōu)勢單片機技術(shù)用于自家產(chǎn)品。此外,三星的單片機的價格相較于同級別廠商的競品具有優(yōu)勢。東芝,成立于1875年7月,于1939年將東京電氣株式協(xié)會和芝浦制作所合并。東芝的單片機產(chǎn)品門類齊全,從4位單片機到64位單片機都有它的產(chǎn)品線。在家電行業(yè),東芝的4位單片機仍占據(jù)較大的市場份額。它生產(chǎn)的8位單片機可以使用低速模式,采用32K時鐘時功耗低至10uA數(shù)量級。由于CPU內(nèi)部使用了多組寄存器,使得產(chǎn)品的中斷響應速度與處理速度更快。東芝生產(chǎn)的32位單片機采用MIPS3000ARISC的CPU結(jié)構(gòu),在數(shù)字相機、圖像處理、VCD等領(lǐng)域占據(jù)較大份額。2.4檢測模式3.stm32的甲醛檢測裝置需求分析3.1功能分析該檢測裝置被要求在穩(wěn)定的溫濕度環(huán)境下連續(xù)、快速地測量空氣中甲醛氣體的濃度,并顯示在顯示屏上。同時,如果存在智能設(shè)備通過藍牙連接,則需要同時向智能手機傳輸濃度數(shù)據(jù),并且實現(xiàn)濃度數(shù)據(jù)儲存、實時波形圖繪制等功能。3.2裝置體積該檢測裝置體積應接近或小于一臺智能手機的大小,便于使用者手持與攜帶。未來繼續(xù)開發(fā)同類無屏檢測裝置時,體積應小于香煙盒大小。3.3功耗需求工作時功耗應小于2.5w,最小供電5v0.5A即可驅(qū)動裝置,以便在加裝鋰電池后擁有良好的續(xù)航能力。3.4性能要求處理器性能應足以支撐數(shù)據(jù)采集、AD轉(zhuǎn)換、數(shù)據(jù)處理、藍牙數(shù)據(jù)接發(fā)和屏幕顯示功能。傳感器應滿足體積小、穩(wěn)定性好、精度高的氣敏傳感器。4.基于stm32的甲醛檢測裝置硬件設(shè)計4.1硬件框圖Stm32開發(fā)板對外供5v電壓,驅(qū)動顯示屏模塊、藍牙模塊和傳感器模塊。傳感器模塊經(jīng)過預熱后,輸出電壓信號值,并根據(jù)甲醛濃度不同不斷變化輸出不同的電壓值,由開發(fā)板的ad轉(zhuǎn)換模塊轉(zhuǎn)化為數(shù)字量,并用預先設(shè)定的擬合函數(shù)將數(shù)字量轉(zhuǎn)化為甲醛濃度值。若藍牙模塊已連接,則向上位機發(fā)送濃度值字符串。4.2芯片平臺芯片平臺采用ST(意法半導體)公司生產(chǎn)的STM32微控制器,它使用ARM的高性能32位RISC內(nèi)核,不僅擁有豐富的GPIO引腳、大容量內(nèi)存和閃存,而且具備多類型通信接口和外設(shè)。,STM32微控制器具有多種規(guī)格的型號供開發(fā)者選擇,開發(fā)者可以根據(jù)實際應用選擇合適的微控制器型號,滿足設(shè)計功能需求。作為最新一代的嵌入式ARM處理器,STM32F103系列微控制器是首款基于ARMv7-M體系結(jié)構(gòu)的32位標準RISC(精簡指令集)處理器,它為實現(xiàn)MCU的需要提供了低成本的平臺、縮減的引腳數(shù)目、降低的系統(tǒng)功耗,同時提供了卓越的計算性能和先進的中斷響應系統(tǒng)①②③④。芯片具體規(guī)格選擇了Stm32f103vet6微控制器,芯片引腳為100,擁有512k大閃存,64kSARM,并使用LQFP封裝,流入或流出的VDD電流之和小于150mA,輸出下沉電流小于25mA。注入電流之和小于25mA,并且擁有睡眠、停機和待機等低功耗模式,在32位微處理器中的功耗表現(xiàn)相當出色。同時它擁有兩個12位模數(shù)轉(zhuǎn)換器,且轉(zhuǎn)換時間僅需1us;也可以通過7通道DMA讀取ADC、定時器、SPI、I2C和USART的數(shù)據(jù)。此外,80個IO口、7個定時器、9個通信接口讓該芯片的功能擴展能力極為出色。零下40℃到零上105℃的工作溫度范圍,讓它被普遍應用于電機控制驅(qū)動、醫(yī)療和手持設(shè)備、可編程控制器、變頻器、打印機、掃描儀、安防設(shè)備、智能家居等場合。(管腳圖)4.3甲醛傳感器模塊氣體傳感器的原理是將氣體在元器件表面的物理和化學反應產(chǎn)生的變化轉(zhuǎn)化為電信號、光信號等表現(xiàn)形式,以此來實現(xiàn)對氣體濃度測量。傳感器最重要的部分是氣敏材料,不同的氣敏材料通過特殊的工藝覆蓋于器件表面,可以在不同的氣體環(huán)境中表現(xiàn)出不同的伏安特性、電導率等。通過對器件的物理和化學特性進行分析和測試,人們就可以用封裝了該器件的傳感器檢測不同的氣體成分和氣體濃度。第一代ZnO基半導體氣體傳感器于20世紀60年代問世,相比于其他氣體傳感器制作成本高昂、制造工藝要求精密、靈敏度較低的缺點,半導體傳感器的出現(xiàn)迅速地取代了傳統(tǒng)傳感器,成為研究和開發(fā)中最常用的氣敏傳感器之一。根據(jù)感應原理,半導體氣敏傳感器又可以分為電阻式和非電阻式傳感器。本課題選用的傳感器是電阻式傳感器,它的電阻值在穩(wěn)定狀態(tài)下會隨氣體濃度的變化而線性變化。甲醛檢測采用半導體傳感器,使用具有特殊涂層的半導體器件檢測空氣中的甲醛。當被測空氣中含有甲醛時,甲醛通過空氣流動擴散到傳感器表面引起半導體器件的電阻變化,通過分析和處理標準工況下的輸出電壓和甲醛濃度的關(guān)系,可以得到擬合曲線。在使用過程中,確定輸出電壓的值,就可以確定甲醛的濃度。該傳感器具有體積小、制造成本低、高靈敏度、高分辨率、低功耗等優(yōu)點,可廣泛用于室內(nèi)甲醛檢測。該傳感器可以輸出模擬電壓,將其接入STM32微控制器的A/D轉(zhuǎn)換接口后即可通過軟件程序處理得到甲醛濃度數(shù)值。(替代品圖,MQ-135空氣質(zhì)量傳感器)甲醛傳感器模塊和STM32開發(fā)板的連接電路(圖)4.5藍牙模塊原理圖引腳介紹藍牙模塊選用HC05,是一款主從一體的藍牙模塊,連接到單片機的串口,使單片機可以通過藍牙與其他設(shè)備進行通信,被廣泛應用于智能家居、遠程控制、安防系統(tǒng)、機器人控制等領(lǐng)域。在藍牙配對完成后,開發(fā)者可以無視藍牙傳輸協(xié)議,直接將其當成串口連接的紐帶,直觀地進行應用開發(fā)。引腳分別為VCC、GND、TXD、RXD、KEY和INT,通過藍色led燈顯示藍牙狀態(tài)。它的長寬高分別為28mm、15mm、2.35mm,工作電壓位3.3v,工作電流30mA,符合設(shè)計需求。4.5顯示器模塊ILI9341控制的3.2寸電阻觸摸屏,分辨率為320*240ppi,引腳數(shù)量為40pin。(原理圖)5.基于stm32的甲醛檢測裝置軟件設(shè)計5.1設(shè)計要求單片機端實現(xiàn)濃度檢測、數(shù)值顯示和藍牙狀態(tài)顯示功能實現(xiàn)手機App通過藍牙與開發(fā)板的連接實時接收并同步顯示濃度數(shù)值記錄濃度數(shù)值并進行波形圖繪制未來能依托智能手機平臺擴展更多功能5.2單片機端軟件設(shè)計編程軟件KeilMDK,又稱MDK-ARM,能完美支持Cortex-M、Cortex-R4、ARM7和ARM9系列器件,采用行業(yè)領(lǐng)先的ARMC/C++編譯工具鏈,并且符合CMSIS標準。根據(jù)大學期間學習的C語言基礎(chǔ)可以很快上手,并且可以在軟件內(nèi)完成程序編譯、封裝和燒錄功能。使用C語言編寫的任務處理函數(shù)和各類參數(shù),程序可讀性高,易于移植和改進,編程效率也可以獲得大幅提高,同時也增加了程序的運行效率,提升單片機處理速度。并且,開發(fā)周期短,易于調(diào)試及維護。Io分配(圖)主程序#include"stm32f10x.h"#include"./adc/bsp_adc.h"#include"./usart/bsp_usart.h" #include"./usart/bsp_usart_blt.h"#include"./systick/bsp_SysTick.h"#include"./lcd/bsp_ili9341_lcd.h"#include"./flash/bsp_spi_flash.h"#include"./led/bsp_led.h"#include"./key/bsp_key.h"#include"./hc05/bsp_hc05.h"#include<stdio.h>#include<string.h>#include<stdlib.h>以上頭文件包含所需要的庫文件,包括adc模塊,串口模塊,時鐘模塊,顯示屏模塊,閃存模塊,led指示燈模塊,按鍵檢測模塊和藍牙模塊等。unsignedintTask_Delay[NumOfTask];BLTDevbltDevList;staticvoidLCD_Start(void); staticvoidLCD_Test(void); staticvoidDelay(__IOuint32_tnCount);charsendData[1024];charlinebuff[1024];voidPrintf_Charater(void);將ADC端口轉(zhuǎn)換得到的電壓值通過MDA方式傳到SRAM。extern__IOuint16_tADC_ConvertedValue;定義局部變量,用以保存轉(zhuǎn)換計算后的電壓值。floatADC_ConvertedValueLocal,HCHO,x;定義函數(shù)名、濃度值變量和中間變量。首先顯示起始界面,函數(shù)為LCD_start,要求用戶等待相應的預熱時間,預熱傳感器。主要代碼:intmain(void){ 此處省略部分代碼 SysTick_Init(); SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk; USART_Config(); LED_GPIO_Config(); Key_GPIO_Config(); ILI9341_Init(); ADCx_Init(); ILI9341_GramScan(6); Printf_Charater();調(diào)用顯示開始界面的函數(shù)LCD_start(); HC05_INFO("**********HC05模塊************"); if(HC05_Init()==0) HC05_INFO("HC05模塊檢測正常。"); else { HC05_ERROR("HC05模塊檢測不正常,請檢查模塊與開發(fā)板的連接,然后復位開發(fā)板重新測試。"); while(1); }以下代碼用于復位 HC05_Send_CMD("AT+RESET\r\n",1); delay_ms(800); HC05_Send_CMD("AT+ORGL\r\n",1); delay_ms(200); 初始化藍牙SPP串口傳輸規(guī)范 HC05_Send_CMD("AT+INIT\r\n",1); HC05_Send_CMD("AT+CLASS=0\r\n",1); HC05_Send_CMD("AT+INQM=1,9,48\r\n",1); 將藍牙模塊名字設(shè)置為HC_05_role sprintf(hc05_nameCMD,"AT+NAME=%s\r\n",hc05_name); HC05_Send_CMD(hc05_nameCMD,1); HC05_INFO("本模塊名字為:%s,模塊已準備就緒。",hc05_name); 并在同時將藍牙模塊設(shè)置為從模式,可以由手機主動連接單片機的藍牙模塊。 while(1) { //搜索藍牙模塊,并進行連接 if(Task_Delay[2]==0&&!IS_HC05_CONNECTED()) { if(hc05_role==1) //主模式 { HC05_INFO("正在掃描藍牙設(shè)備..."); linkHC05(); Task_Delay[2]=3000; } else //從模式 { HC05_Send_CMD("AT+INQ\r\n",1);//模塊在查詢狀態(tài),才能容易被其它設(shè)備搜索到 delay_ms(1000); HC05_Send_CMD("AT+INQC\r\n",1);//中斷查詢,防止查詢的結(jié)果干擾串口透傳的接收 Task_Delay[2]=2000;//此值每1ms會減1,減到0才可以重新進來這里,所以執(zhí)行的周期是2s }預熱時間達到要求后后進入循環(huán)測量模式,函數(shù)為LCD_test,每秒鐘測量一次數(shù)據(jù),并且顯示在顯示屏上,同時如果藍牙設(shè)備已連接則同時通過藍牙串口向手機App傳輸濃度數(shù)據(jù)字符串。//連接后每隔一段時間檢查接收緩沖區(qū) if(Task_Delay[0]==0&&IS_HC05_CONNECTED()) { uint16_tlinelen; 獲取數(shù)據(jù)相關(guān)代碼 redata=get_rebuff(&len); linelen=get_line(linebuff,redata,len); 檢查數(shù)據(jù)是否有更新的主要代碼 if(linelen<200&&linelen!=0) { if(strcmp(redata,"AT+LED1=ON")==0) { LED1_ON; HC05_SendString("+LED1:ON\r\nOK\r\n"); } elseif(strcmp(redata,"AT+LED1=OFF")==0) { LED1_OFF; HC05_SendString("+LED1:OFF\r\nOK\r\n"); } else { HC05_INFO("receive:\r\n%s",redata); } /*處理數(shù)據(jù)后,清空接收藍牙模塊數(shù)據(jù)的緩沖區(qū)*/ clean_rebuff(); } Task_Delay[0]=500;//此值每1ms會減1,減到0才可以重新進來這里,所以執(zhí)行的周期是500ms } //連接后每隔一段時間通過藍牙模塊發(fā)送字符串 if(Task_Delay[1]==0&&IS_HC05_CONNECTED()) { staticuint8_ttestdata=0; LCD_Test(); sprintf(sendData,"<%s>senddatatest,testdata=%f\r\n",hc05_name,HCHO); HC05_SendString(sendData); Task_Delay[1]=1000;//執(zhí)行周期1秒 } 此處省略不重要代碼 }}顯示模塊由于該顯示屏自帶ILI9341控制器,只需要在顯示模塊的程序中調(diào)用相應的函數(shù)即可。voidLCD_Test(void){此處省略部分代碼 LCD_SetFont(&Font8x16); LCD_SetColors(RED,WHITE); ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH); sprintf(dispBuff1,"甲醛濃度值:按鍵開始檢測");LCD_ClearLine(LINE(5)); /*清除單行文字*/ ILI9341_DispStringLine_EN_CH(LINE(5),dispBuff1); sprintf(dispBuff1,"當前電壓值:按鍵開始檢測");LCD_ClearLine(LINE(6)); /*清除單行文字*/ ILI9341_DispStringLine_EN_CH(LINE(6),dispBuff1); sprintf(dispBuff1,"按鍵后請耐心等待");LCD_ClearLine(LINE(7)); /*清除單行文字*/ ILI9341_DispStringLine_EN_CH(LINE(7),dispBuff1); ILI9341_DispStringLine_EN_CH(LINE(6),dispBuff);sprintf(dispBuff,"其他數(shù)據(jù):%.2f",ADC_ConvertedValueLocal);LCD_ClearLine(LINE(7)); /*清除單行文字*/ ILI9341_DispStringLine_EN_CH(LINE(7),dispBuff); LCD_SetTextColor(GREEN); LCD_SetFont(&Font8x16); pStr="甲醛檢測儀"; sprintf(dispBuff,"%*c%s",(LCD_X_LENGTH/(WIDTH_CH_CHAR/2)-strlen(pStr))/2,'',pStr); LCD_ClearLine(LINE(15)); ILI9341_DispStringLine_EN_CH(LINE(15),dispBuff); //顯示格式化后的字符串 pStr="HCHOtest"; sprintf(dispBuff,"%*c%s",(LCD_X_LENGTH/(WIDTH_CH_CHAR/2)-strlen(pStr))/2,'',pStr); LCD_ClearLine(LINE(16)); ILI9341_DispStringLine_EN_CH(LINE(16),dispBuff); Delay(0xffffff);}檢測模塊根據(jù)傳感器模塊的特性,使用開發(fā)板的3.3v供電,傳感器的數(shù)字量輸出端口會輸出相應的電壓值,接入開發(fā)板的adc端口。單片機首先使用adc轉(zhuǎn)換獲得數(shù)字量的電壓值,并將電壓值賦值給中間變量xADC_ConvertedValueLocal=(float)ADC_ConvertedValue/4096*3.3; x=ADC_ConvertedValueLocal;然后將x代入電壓與濃度對應的擬合函數(shù),計算濃度值 HCHO=1180*x*x*x-1634*x*x+806*x-90;//擬合函數(shù)最后輸出濃度信息 printf("\r\nTheHCHOvalue=%fppm\r\n",HCHO);*注:此處擬合函數(shù)僅做演示用,不代表最終的數(shù)據(jù)比對方法,需根據(jù)甲醛傳感器實驗結(jié)果進行調(diào)整。一般來說,半導體式傳感器的電阻變化率可以與氣體濃度值構(gòu)成近似的線性關(guān)系,通過大量數(shù)據(jù)的擬合,即可獲得相應的擬合函數(shù)。藍牙模塊根據(jù)hc05藍牙模塊和開發(fā)板的連接方式,配置開發(fā)板的驅(qū)動函數(shù)。主要代碼如下:首先定義發(fā)送字節(jié)的函數(shù)staticvoidUsart_SendByte(USART_TypeDef*pUSARTx,uint8_tch) 發(fā)送一個字節(jié)數(shù)據(jù)到USART1 USART_SendData(pUSARTx,ch); 等待發(fā)送完畢 while(USART_GetFlagStatus(pUSARTx,USART_FLAG_TXE)==RESET); }然后定義發(fā)送指定長度的字符串的函數(shù)voidUsart_SendStr_length(USART_TypeDef*pUSARTx,uint8_t*str,uint32_tstrlen)最后定義發(fā)送字符串函數(shù)voidUsart_SendString(USART_TypeDef*pUSARTx,uint8_t*str)中斷緩存串口數(shù)據(jù)#defineUART_BUFF_SIZE1024volatileuint16_tuart_p=0;uint8_tuart_buff[UART_BUFF_SIZE];程序燒錄程序的燒錄使用DAP高速下載器,首先要用USB-typeAtoB的數(shù)據(jù)線將下載器連接到電腦USB端口,待仿真器的燈亮,則表示可以正常使用。然后將高速下載器的另外一端連接開發(fā)板相應接口(有防反接設(shè)計),同時使用miniUSB數(shù)據(jù)線給開發(fā)板供電,此時電腦上會顯示有可用設(shè)備,并自動安裝驅(qū)動。第二次連接及以后則不需要等待驅(qū)動安裝,可直接識別。連接電腦并識別成功后,我們就可以通過KEIL軟件給開發(fā)板燒錄程序了。在下載器穩(wěn)定連接電腦,并且開發(fā)板供電正常的情況下,打開KEIL,在魔術(shù)棒選項卡里面選擇高速下載器的型號。(圖圖圖)選擇目標板,由于我選用的開發(fā)板芯片采用的是STM32F103VET6,所以選512K。接下去就是將編譯通過的程序下載到開發(fā)板上,并進行調(diào)試。下載的過程中不需要額外的軟件,直接點擊KEIL中的Load按鈕即可。程序下載步驟完成后后,窗口下方的BuildOutput選項卡如果輸出Applicationrunning字樣則代表程序下載成功。5.3手機端軟件設(shè)計編程軟件一般來說,Android設(shè)備的應用程序會使用Java語言開發(fā)。本專業(yè)課程學習的編程語言主要是C語言。因此,在開發(fā)手機端App的編程軟件上,我選擇了GoogleAppInventor。它的優(yōu)點是使用者只需要理解一定的編程知識,即可快速搭建所需要的應用程序。它是一個完全在線開發(fā)的Android編程環(huán)境,使用積木式的堆疊法來完成軟件開發(fā)。2012年1月1日,Google將AppInventor移交給MIT,并由后者維護運營。由于網(wǎng)絡環(huán)境原因,本課題采用的編程軟件是WxBit漢化版的AppInventor2,原理和內(nèi)容與Google版通用,僅服務器設(shè)在國內(nèi),方便進行調(diào)試和下載。圖標設(shè)計設(shè)計理念來源于該甲醛檢測裝置的實際用途,因其多用于家庭環(huán)境的空氣污染監(jiān)測,所以采用“綠色”的房屋圖標,配合花朵圖標,表達凈化的含義。圖標下部是App的用途和英文簡稱,簡潔直觀地向用戶介紹這套軟硬件系統(tǒng)的用途。主界面UI按鈕設(shè)置在“開始檢測”按鈕被按下的情況下,“實時值”標簽顯示當前濃度值,并根據(jù)藍牙數(shù)據(jù)不斷變化,實時比對數(shù)據(jù),根據(jù)濃度是否超標決定濃度數(shù)值的顯示顏色,也可增加其他提示信息如濃度超標警告等?!伴_始檢測”按鈕按下后將變?yōu)椴豢捎冒粹o,在按下“停止檢測”按鈕后“開始檢測”按鈕恢復使用?!皵嚅_連接”按鈕之前顯示藍牙連接狀態(tài)標簽,僅在藍牙連接狀態(tài)下可以點擊“斷開連接”按鈕。標簽與按鈕布局主要采用水平布局控件,將數(shù)據(jù)顯示標簽加粗、放大顯示并與其他板塊拉開距離,區(qū)別于其他標簽,起到直觀的提示作用。將同一操作邏輯層面的按鈕放在相似的位置,同一功能的按鈕放在同一水平布局控件內(nèi),不僅提高開發(fā)過程中的優(yōu)化效率,同時提高人機交互的易操作性,方便用戶快速學會使用App的功能。濃度數(shù)值顯示當開始檢測按鈕按下后,首先啟用計時器,延時與開發(fā)板設(shè)置一致,每隔1秒讀取藍牙接收到的數(shù)據(jù),儲存于數(shù)據(jù)庫中,并與設(shè)定的濃度閾值進行比較,如超標則實時值顯示紅色文本信息,未超標則顯示綠色文本信息。當按下停止檢測按鈕,數(shù)據(jù)停止接收,實時值標簽停止更新。藍牙模塊藍牙連接點擊藍牙列表,選擇開發(fā)板藍牙模塊名稱“HC-05”,稍等片刻,連接成功則狀態(tài)標簽會顯示“藍牙連接成功”,否則顯示“藍牙未連接”,并輸出調(diào)試信息。連接成功之后,斷開藍牙按鈕會被設(shè)置為可以點擊。數(shù)據(jù)接收當計時器達到時間節(jié)點時,先進行判斷是否接受到數(shù)據(jù),若接收到數(shù)據(jù)則將藍牙客戶端接收到的數(shù)值與“ppm”進行合并,存于App內(nèi)建的微數(shù)據(jù)庫中,同時顯示在屏幕第一行的相應位置。斷開藍牙點擊斷開藍牙按鈕,手機將斷開與開發(fā)板藍牙的連接,并終止數(shù)據(jù)的接收。計時器停止工作,同時藍牙列表重新啟用點擊,可再次連接設(shè)備或更換連接設(shè)備。數(shù)據(jù)庫程序中調(diào)用了AppInventor庫中的微數(shù)據(jù)庫,用于保存接受的數(shù)據(jù),并可用于實時比較數(shù)值大小,以及更多待開發(fā)的智能功能。數(shù)據(jù)庫中,每次檢測的數(shù)值會根據(jù)檢測的先后順序依次賦予1-100的標簽,每個標簽對應一個檢測數(shù)據(jù)。數(shù)據(jù)庫會在點擊開始檢測時清空以便儲存新的數(shù)據(jù)。也可以改成將數(shù)據(jù)庫以文本形式儲存后再清空,實現(xiàn)無限制的數(shù)據(jù)儲存。6.檢測裝置單機運行6.1檢測功能測試測試環(huán)境室內(nèi),溫度27℃,濕度60%。測試內(nèi)容對檢測裝置的供電、檢測和顯示模塊進行功能測試,保證在實驗環(huán)境中能夠完整供電準確檢測甲醛濃度,并且實時顯示在lcd顯示屏上。測試目的分析設(shè)計階段提出的各種需求和想法,檢查以確認系統(tǒng)是否滿足設(shè)計要求。對硬件部分進行操作測試主要測試電路部分是否完整,同時檢測裝置的測量精度、測量值與標準數(shù)據(jù)的誤差、電路系統(tǒng)的穩(wěn)定性等。軟件測試主要評價系統(tǒng)功能是否完善、數(shù)據(jù)吞吐量是否達標。測試結(jié)果測試過程中檢測裝置供電無故障,檢測數(shù)據(jù)準確且及時地顯示在顯示屏上,每1秒更新一次數(shù)據(jù),電壓值與甲醛濃度根據(jù)擬合函數(shù)嚴格對應,未出現(xiàn)明顯誤差,符合設(shè)計要求。6.2穩(wěn)定性測試測試方法檢測過程中對檢測裝置進行震動、聲光干擾、連續(xù)多次按鍵、哈氣等行為,觀察裝置檢測程序是否正常運行,數(shù)據(jù)是否正常顯示且準確.測試結(jié)果檢測裝置具有良好地抗干擾能力,在復雜使用環(huán)境下程序正常運行,且能正常顯示程序。但在環(huán)境溫濕度明顯改變(哈氣)的情況下,檢測數(shù)值會出現(xiàn)波動,說明傳感器易受外部因素干擾,在后續(xù)開發(fā)過程中應注意對傳感器的保護。6.3顯示效果測試lcd顯示屏能直觀地顯示甲醛濃度數(shù)值,且由于顯示屏較大,還可以顯示電壓值、注意事項、關(guān)于裝置等的信息,對用戶體驗非常友好.數(shù)值顯示標簽每1秒鐘更新的數(shù)據(jù)顯示及時準確,效果達到設(shè)計要求。6.4測試結(jié)論在單機運行測試中,實施了對該甲醛檢測裝置的基礎(chǔ)硬件和軟件功能的測試,硬件系統(tǒng)的性能和指標能夠滿足軟件系統(tǒng)的運行,開發(fā)板對外供電穩(wěn)定,并且在軟硬件的協(xié)作運行下,adc模塊采集數(shù)據(jù)及時且準確,顯示屏的顯示效果和穩(wěn)定性都表現(xiàn)良好。該甲醛檢測裝置的基本功能完整實現(xiàn),穩(wěn)定性和準確性達到設(shè)計要求。7.檢測裝置與手機互聯(lián)運行7.1裝置藍牙測試打開甲醛檢測裝置電源開關(guān)后,裝置內(nèi)的藍牙模塊會自動開啟,并且可以被周圍設(shè)備搜索到。藍牙模塊會慢閃藍色指示燈,指示藍牙待連接狀態(tài)。當藍牙成功連接后,藍色指示燈變?yōu)槁匐p閃,每隔固定時間快速閃兩次,并且打開藍牙串口傳輸。經(jīng)過測試,裝置藍牙啟動穩(wěn)定,信號優(yōu)秀,工作模式切換迅速,連接時指示狀態(tài)穩(wěn)定,不易斷開連接,工作狀態(tài)下幾乎沒有發(fā)熱。7.2手機端藍牙測試通過手機藍牙設(shè)置與裝置藍牙模塊進行配對,藍牙配對迅速,且手機端正常顯示藍牙名稱“HC05_SLAVE”,通過藍牙串口App能成功連接并讀取到數(shù)據(jù)信息。7.3數(shù)據(jù)傳輸和顯示測試藍牙連接成功后,按下開始檢測按鈕開始測試,測試過程中數(shù)據(jù)每秒更新一次,穩(wěn)定傳輸未報錯,根據(jù)Appinventor中顯示的調(diào)試信息可以看到,數(shù)據(jù)從單片機到手機端完整且準確,與開發(fā)板顯示屏數(shù)據(jù)相同。裝置端的數(shù)據(jù)傳輸?shù)绞謾C端后,經(jīng)過與濃度閾值的比對,未超標顯示綠色數(shù)據(jù),超標時顯示紅色數(shù)據(jù),顯示效果直觀且出色,符合軟硬件協(xié)同的設(shè)計要求。并且在按下停止檢測按鈕的同時,手機App立刻停止接收數(shù)據(jù)并停止更新,數(shù)據(jù)傳輸功能符合設(shè)計要求。(演示狀態(tài)濃度僅供參考)8.總結(jié)8.1設(shè)計目標達成情況目前為止,基于stm32的甲醛檢測裝置的設(shè)計,很好地解決了便攜性、成本、精度和設(shè)備互聯(lián)的痛點,該設(shè)備能在穩(wěn)定的溫濕度環(huán)境下連續(xù)、快速地測量空氣中甲醛氣體的濃度,并在顯示屏上直觀地顯示。使用智能設(shè)備通過藍牙連接檢測裝置,則能在檢測的同時向智能手機傳輸濃度數(shù)據(jù),并且在智能手機App中實現(xiàn)濃度數(shù)據(jù)儲存、(實時波形圖繪制)等功能。8.2產(chǎn)品改進方向針對藍牙數(shù)據(jù)顯示不同步這個bug后期你在單片機程序和手機App程序里面增加對時語句,當單片機單機運行時,根據(jù)延時函數(shù)每五秒鐘測試一次數(shù)據(jù)。而與手機App聯(lián)機運行時,單片機測試數(shù)據(jù)應有手機段的延時函數(shù)來控制??梢栽O(shè)置手機App計時器每達到計時節(jié)點向單片機發(fā)送單字節(jié)“1”。單片機收到單字節(jié)以后開始運行測試程序,并顯示數(shù)據(jù),同時向手機App傳送濃度數(shù)據(jù).檢測裝置上的顯示屏具有電阻觸摸功能,而在設(shè)計過程中,我們僅使用了開發(fā)版上的物理按鍵,并沒有使用觸摸功能??紤]了用戶習慣和和操作的直觀性,后期改進方向應將物理按鍵變?yōu)樘摂M按鍵,并內(nèi)嵌在屏幕中。根據(jù)本課題對于甲醛檢測裝置的需求,成本控制上應盡量降低成本。在產(chǎn)品設(shè)計的過程中,由于考慮到易用性的問題,我們在單片機上加裝了較大的LCD顯示屏。在最后的設(shè)計過程中發(fā)現(xiàn),如果需要做到一些比較智能的功能,比如說波形圖或者是藍牙傳輸,數(shù)據(jù)儲存等,就需要在單片機上編寫更多的代碼,加裝更多的模塊,會顯著的提升開發(fā)成本和制造成本。因此我們可以參考當前主流的智能家居設(shè)備廠商的做法,對于傳感器功能的小電器采用小體積的設(shè)計,并且擯棄屏幕等耗電設(shè)備,采用電池供電,藍牙或者zigbee網(wǎng)關(guān)傳輸,完全通過智能終端來進行數(shù)據(jù)的處理,儲存和比對,并且可以通過升級手機App來進行功能的更新和拓展。與同類智能家居產(chǎn)品對比有屏幕的米家溫濕度傳感器:紐扣電池供電,通過溫濕度傳感器定量測試環(huán)境溫濕度,采用電子墨水屏顯示數(shù)據(jù),也可以通過藍牙讀取數(shù)據(jù),將顯示功耗、體積做到了非常小的水平。無屏幕的米家門窗傳感器:紐扣電池供電,通過電磁感應,將磁場變化轉(zhuǎn)化為電信號,以此判斷門的開關(guān)狀態(tài),數(shù)據(jù)僅可以通過藍牙讀取。8.3新功能規(guī)劃采用ABS塑料外殼對檢測裝置尤其是傳感器部分進行包裹,用于提升設(shè)備的抗干擾性、耐用性和美觀性.將USB供電改成3.7V鋰電池供電,提升設(shè)備的便攜性。根據(jù)目前的開發(fā)方向,開發(fā)兩種實物設(shè)備,一種是繼續(xù)改善當前方案,開發(fā)具有觸摸屏的大屏檢測設(shè)備,一種是新開發(fā)無屏的小型檢測設(shè)備。大屏檢測設(shè)備應具有更高的檢測精度,并且能夠獨立地進行數(shù)據(jù)分析、比較和儲存,成本較高,用戶群體對精度需求高,并且能承受合理的價格。而無屏的小型檢測設(shè)備應具有較高的檢測精度,低功耗的藍牙傳輸協(xié)議,采用紐扣電池或者小型鋰電池供電,數(shù)據(jù)更新較慢,主要用于采集環(huán)境數(shù)據(jù),傳輸給手機終端,配套開發(fā)手機端App,可以以最低的成本實現(xiàn)甲醛濃度的采集,分析,比對和儲存等功能,并且未來能與智能家居進行聯(lián)動,比如甲醛濃度超標時發(fā)出警告,并啟用建筑的新風系統(tǒng)等來降低濃度。8.4總結(jié)基于人們對于裝修后的室內(nèi)空氣質(zhì)量越來越高的要求和對個人健康的重視,便于攜帶、成本較低、準確度較高的甲醛檢測裝置進入人們的視野。相對于傳統(tǒng)實驗室采集樣品送檢的方法,和進口設(shè)備動輒上萬的售價,本課題所研究的基于stm32的甲醛檢測裝置采用新型的半導體氣敏傳感器,可以方便、快捷且準確地對環(huán)境空氣中的甲醛濃度進行現(xiàn)場檢測,通過以下任務完成了對甲醛檢測裝置的設(shè)計與開發(fā):結(jié)合現(xiàn)代人民對室內(nèi)空氣質(zhì)量的關(guān)注,尤其是對甲醛的重視,綜述研究背景,并根據(jù)權(quán)威標準對甲醛檢測方法進行論述。結(jié)合甲醛檢測的三大類別,收集市場上較為成熟的甲醛檢測裝置解決方案,并進行優(yōu)劣勢分析。根據(jù)優(yōu)劣分析結(jié)果,確定甲醛檢測裝置的功能需求、性能需求、功耗限制和便攜性等要求。根據(jù)設(shè)計需求,分別完成單片機端的軟硬件系統(tǒng)的設(shè)計與開發(fā)、手機端的配套軟件系統(tǒng)的設(shè)計與開發(fā),并完成編譯和調(diào)試。通過設(shè)計實驗來檢測甲醛檢測裝置的功能是否完善,工作是否可靠,是否達到課題設(shè)計要求等。在不斷地對該甲醛檢測裝置的完善和改進過程中,我充分運用了大學課程所學的工業(yè)控制器原理、數(shù)字電路和模擬電路、C語言、電力電子技術(shù)、傳感器與檢測技術(shù)等課程的專業(yè)知識,從硬件到軟件,完整地完成了對這個“基于stm32的甲醛檢測裝置”的開發(fā),基本實現(xiàn)了預定功能,雖然該設(shè)備易受到不穩(wěn)定空氣成分的干擾,但是在正常家庭環(huán)境中,不僅在成本上很好地控制在較低水平,而且產(chǎn)品的易用性、耐用性、精度和響應速度都屬于優(yōu)異范疇,相對專業(yè)檢測設(shè)備,用更低的成本、更簡單的方法實現(xiàn)了較高精度的檢測。對于產(chǎn)品,能在設(shè)計實踐中發(fā)現(xiàn)不足與改進之處,同時對當下的智能家居設(shè)備有了一定的了解,我也獲益匪淺。
參考文獻[1]楊長業(yè);邊煜;石漢青;曾培培.基于STM32的室內(nèi)空氣質(zhì)量檢測系統(tǒng)設(shè)計[J].氣象水文海洋儀器,2016,v.33;No.119,66-69.[2]孫書鷹;陳志佳;寇超.新一代嵌入式微處理器STM32F103開發(fā)與應用[J].微計算機應用,2010,v.31;No.200,61-65.[3]羅鈞;李華;付麗;侍寶玉.基于MSP432的多傳感器數(shù)據(jù)采集與動態(tài)顯示實驗設(shè)計[J].實驗技術(shù)與管理,2018,v.35;No.266,38-42+50.[4]唐飛;楊偉.基于多任務機制的STM32系統(tǒng)程序設(shè)計[J].安慶師范大學學報(自然科學版),2019,v.25;No.116,76-80.[5]張凱.基于STM32的無線藍牙傳輸設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2020,v.10;No.109,46-47+50.蔣力耀;崔勇;張耀陽.基于STM32F103ZET6單片機的地鐵站環(huán)境監(jiān)測系統(tǒng)設(shè)計[J].電子測試,2021,(09):33-34+17.[6]朱玉玲.室內(nèi)空氣中甲醛的去除研究[C].山東大學,2010.[7]王博.便攜式甲醛氣體檢測儀的設(shè)計與實現(xiàn)[C].西安電子科技大學,2015.[8]盧春池.共享式社區(qū)服務甲醛檢測系統(tǒng)設(shè)計與實現(xiàn)[C].西南交通大學,2018.[9]王闖.基于STM32系列ARM
Gortex-M3微控制器的微型熱敏打印機固件開發(fā)[C].山東大學,2015.[10]電阻式半導體氣體傳感器張強,管自生(南京工業(yè)大學材料科學與工程學院,江蘇南京210009)[11]金屬氧化物半導體氣體傳感器應用現(xiàn)狀和發(fā)展情況,陳祥銘,楊貴欽,趙海茹,涂曄,(玉溪師范學院物理與電子工程學院,云南玉溪653100)[12]Sun
Wei,Yin
Xinghui,Wang
Xinjun.Design
of
spectrum
measurement
system
based
on
STM32[J].Dianzi
Jishu
Yingyong,2019,45(3),96-99.[13]Anonymous.STMicroelectronics;
STMicroelectronics
Adds
New
Library
for
STM32
MCU,
Opening
Up
New
Options
for
DSP
Application
Developers[J].Electronics
Newsweekly,2008,,.[14]Chunyu
Liu;Fengrui
Mu.Design
and
Research
of
Intelligent
Logistics
Robot
based
on
STM32[J].Recent
Advances
in
Electrical
&
Electronic
Engineering,2021,14(1),44-51.附錄主程序藍牙程序:#include"./usart/bsp_usart_blt.h"#include<stdarg.h>///配置USART接收中斷staticvoidNVIC_Configuration(void){NVIC_InitTypeDefNVIC_InitStructure;/*ConfiguretheNVICPreemptionPriorityBits*/NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);/*EnabletheUSARTyInterrupt*/NVIC_InitStructure.NVIC_IRQChannel=BLT_USART_IRQ;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStructure);}voidBLT_USART_Config(void){ GPIO_InitTypeDefGPIO_InitStructure; USART_InitTypeDefUSART_InitStructure; /*configUSART2clock*/ BLT_USART_APBxClock_FUN(BLT_USART_CLK,ENABLE); BLT_USART_GPIO_APBxClock_FUN(BLT_USART_GPIO_CLK,ENABLE); /*USART2GPIOconfig*/ /*ConfigureUSART2Tx(PA.02)asalternatefunctionpush-pull*/ GPIO_InitStructure.GPIO_Pin=BLT_USART_TX_PIN; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(BLT_USART_TX_PORT,&GPIO_InitStructure); /*ConfigureUSART2Rx(PA.03)asinputf
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 超硬材料產(chǎn)業(yè)技術(shù)研究院公開招聘第二批科研人員20人備考題庫及答案詳解參考
- 2025年椒江區(qū)前所街道社區(qū)衛(wèi)生服務中心招聘編外人員工作人員備考題庫及1套參考答案詳解
- 2025年江蘇鹽城港控股集團有限公司招聘21人備考題庫及答案詳解1套
- 什邡市人力資源和社會保障局什邡市民政局2025年面向全市公開選調(diào)工作人員的備考題庫完整答案詳解
- 2025年臨沂公安招錄輔警400名備考題庫及一套答案詳解
- 2025年第十師中級人民法院招聘備考題庫及一套完整答案詳解
- 2025年鯉城區(qū)新步實驗小學秋季招聘合同制頂崗教師備考題庫參考答案詳解
- 山東大學齊魯醫(yī)院(青島)2025年度部分非事業(yè)編制崗位招聘備考題庫及完整答案詳解1套
- 2025年石家莊精英全托學校公開招聘84名教師及工作人員備考題庫及參考答案詳解1套
- 2025年眉山市青神縣人民法院公開招聘勞務派遣司法警察的備考題庫及答案詳解參考
- 三管三必須培訓
- 河北大教育技術(shù)學課件05教學理論
- (2025年)PCR科室培訓考核試題附答案
- 2025年大慶肇源縣上半年人才引進50人參考題庫附答案解析
- 銀行開門紅方案
- 樹立正確的生死觀課件
- 2025年大學《農(nóng)村區(qū)域發(fā)展-農(nóng)村區(qū)域發(fā)展概論》考試備考題庫及答案解析
- 油墨新建項目技術(shù)方案
- 兒童自理生活課件
- 媒介與社會課程教案
- 極簡風室內(nèi)設(shè)計方案匯報
評論
0/150
提交評論