張 進,董加碧,李慧鵬,淦作財
(江蘇建筑職業(yè)技術(shù)學(xué)院 信電學(xué)院,江蘇 徐州 221116)
隨著社會工業(yè)化進程的加速發(fā)展,人們經(jīng)常被霧霾天氣、室內(nèi)過度裝修及煤氣泄漏等家居環(huán)境污染所困擾,不但會引發(fā)各種呼吸道疾病,更是對人們生命財產(chǎn)安全的潛在威脅,亟待提供一種簡單實用的檢測設(shè)備幫助人們監(jiān)測室內(nèi)空氣質(zhì)量;但現(xiàn)有各類檢測裝置普遍存在檢測參數(shù)單一、操作不便等缺點?;谏鲜鲈颍菊n題擬設(shè)計一種利用語音控制方式實現(xiàn)室內(nèi)環(huán)境及有害氣體的監(jiān)測裝置,既能實現(xiàn)對室內(nèi)環(huán)境及有害氣體的有效監(jiān)測,又能滿足用戶對家居設(shè)備人性化的需求,操作簡單,攜帶方便[1]。
本課題設(shè)計了一種基于語音控制的便攜式家庭環(huán)境監(jiān)測儀,采用Arduino UNO作為核心控制器,結(jié)合語音識別技術(shù)與傳感器技術(shù),實現(xiàn)對家居溫濕度、氣壓等普通環(huán)境量的監(jiān)控,同時,具有對PM2.5,CO2,TVOC等有害氣體的監(jiān)測顯示和報警等功能。基于語音控制的便攜式家庭環(huán)境監(jiān)測儀結(jié)構(gòu)框架如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框架
系統(tǒng)硬件部分主要由Arduino主控模塊、語音識別模塊、液晶顯示模塊、語音播報模塊、電源模塊以及4路傳感器參量監(jiān)測模塊組成。系統(tǒng)自動采集環(huán)境溫濕度、大氣壓強、PM2.5,CO2及TVOC等4路傳感器數(shù)據(jù),并進行暫存處理;當(dāng)語音識別模塊識別語音指令后,經(jīng)單片機處理將符合要求的傳感器數(shù)據(jù)送LCD顯示,同時,驅(qū)動語音播放模塊,播報當(dāng)前空氣質(zhì)量等級;實時監(jiān)控有害氣體質(zhì)量濃度,一旦有害氣體的質(zhì)量濃度超過系統(tǒng)設(shè)定閾值時,啟動語音播報,發(fā)出語音警示[2-3]。
本設(shè)計選用Arduino UNO開發(fā)板作為主控模塊,實現(xiàn)各種環(huán)境參量的采集及信號處理,完成語音模塊、顯示模塊驅(qū)動及輸入語音信號的處理。Arduino設(shè)計平臺非常適合與各類傳感器配合使用,實現(xiàn)各類環(huán)境參量的監(jiān)測與處理,目前廣泛用于物聯(lián)網(wǎng)方面的電子系統(tǒng)設(shè)計和互動產(chǎn)品開發(fā)。Arduino UNO是以ATmega328P芯片為核心的微控制器開發(fā)板,具有16組I/O端(其中6路可用作PWM輸出)6路模擬輸入端、兩組UART,16 MHZ晶振,工作電壓為1.8~5.5 V,可用USB接口供電[4]。
語音識別模塊采用LD3320語音識別芯片,主要完成語音識別及實現(xiàn)語音輸入功能。LD3320是一款基于非特定人語音識別技術(shù)的語音識別/聲控芯片。芯片集成了高精度的A/D和D/A接口,不需要外接輔助的Flash和RAM,即可實現(xiàn)語音識別/聲控/人機對話等功能。LD3320的語音識別過程主要包括語音模塊的初始化和語音指令的識別兩個步驟。(1)初始化語音模塊,利用板載單片機,將需要識別的語音指令以拼音串形式,逐條輸入至語音模塊,形成與其對應(yīng)的語音索引詞,并生成索引詞列表。(2)識別語音指令,將麥克風(fēng)采集到聲音信號轉(zhuǎn)化為電信號,經(jīng)A/D轉(zhuǎn)換,濾除掉信號中靜音和非話音部分,得到有效信號的起止信息,對數(shù)據(jù)進行分幀處理和特征提取,由數(shù)據(jù)幀中聲學(xué)特征得到語音關(guān)鍵詞,再與語音識別器中索引詞列表進行相似度匹配,最后,將匹配度最高的索引詞作為識別結(jié)果,輸出到主控方單片機[5]。
顯示模塊采用1602+I2C轉(zhuǎn)接器,用來實時顯示當(dāng)前溫濕度、氣壓、PM2.5,CO2,TVOC氣體質(zhì)量濃度值。1602液晶顯示屏采用HD44780控制器,顯示容量為16×2個字符,芯片工作電壓4.5~5.5 V。該顯示屏共有16個引腳,可接8位雙向并行總線,用來傳輸命令和數(shù)據(jù)。一般采用8位接線法與Arduino通信。為減少因連線復(fù)雜而導(dǎo)致的線路錯誤,本設(shè)計采用了I2C轉(zhuǎn)接器。顯示屏與I2C轉(zhuǎn)接器接線為雙插接線口,采用接線帽與16根引腳線依次對接,既可減少連接導(dǎo)線數(shù)量,又可方便調(diào)節(jié)顯示屏的背光亮度,以適應(yīng)不同的使用環(huán)境。
語音播報模塊采用DFPlayer Mini語音芯片,實時播報當(dāng)前溫濕度、氣壓、PM2.5、CO2、TVOC氣體濃度值。DFPlayer Mini是一款智能語音模塊,體積小巧,價格低廉,可以直接接駁揚聲器,用作Arduino UNO或其他帶有串口單片機的外接模塊使用。內(nèi)部集成MP3,WAV,WMA等硬解碼,支持TF卡驅(qū)動,支持FAT16FAT32文件系統(tǒng),具有多種控制模式可選,通過串口指令即可播放指定語音及其他文件。本設(shè)計采用TF卡存放語音數(shù)據(jù),方便程序調(diào)用。
2.5.1 溫濕度傳感器模塊
溫濕度傳感器模塊采用DHT11數(shù)字溫濕度傳感器,用來監(jiān)測環(huán)境中溫、濕度參數(shù),并將檢測信號以數(shù)字量的形式送至單片機處理。DHT11溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的復(fù)合傳感器,采用數(shù)字模塊采集及溫濕度傳感技術(shù),用于相對濕度和溫度測量。其輸出響應(yīng)快,抗干擾能力強,具有較高可靠性和穩(wěn)定性。該模塊輸出引腳分別為VCC,GND,DATA。
2.5.2 氣壓傳感器模塊
氣壓傳感器模塊采用GY-68-BMP180氣壓傳感器,主要完成監(jiān)測環(huán)境中大氣壓強參數(shù),并將檢測信號以數(shù)字形式送至單片機處理。BMP180是一款高精度、小體積、超低能耗的數(shù)字壓力傳感器,采用8腳陶瓷無引線芯片承載超薄封裝,絕對精度達到0.03 hPa,耗電極低至3 μA,可通過I2C總線直接與各種微處理器相連,適用于各類移動設(shè)備。該模塊輸出引腳分別為VCC,GND,SCL,SDA。
2.5.3 PM2.5傳感器模塊
PM2.5傳感器模塊采用GP2Y1014粉塵傳感器,主要監(jiān)測環(huán)境中PM2.5的含量,并將信號以數(shù)字形式送至單片機處理。該傳感器是一款光學(xué)灰塵監(jiān)測傳感器,模塊中間有洞,可令空氣自由流通,內(nèi)部放置紅外發(fā)光二極管和光電晶體管,紅外發(fā)光二極管定向發(fā)送紅外信號,當(dāng)空氣中有微粒阻礙時,紅外信號發(fā)生漫反射,光電晶體管接收到該信號,使輸出電壓隨之變化。GP2Y1014AU粉塵傳感器可測量0.8 μm以上微小粒子,主要用作檢測煙草所產(chǎn)生的煙氣、花粉及諸多粉塵,其供電電壓為5~7 V,工作溫度為﹣10~65 ℃,靈敏度為0.5 V/(0.1 mg/m3),輸出信號為電壓信號/PWM/串口信號等,相比其他傳感器,具有成本低、響應(yīng)快、線路連接簡單等優(yōu)點。
2.5.4 CO2、甲醛傳感器模塊
CO2、甲醛傳感器模塊采用SGP30 CO2甲醛傳感器,主要用來監(jiān)測環(huán)境中CO2,TVOC參數(shù),并將信號以數(shù)字形式送至單片機處理。SGP30是一款具有多個傳感元件的金屬氧化物氣體傳感器,內(nèi)部集成4個氣體傳感元件,具有完全校準(zhǔn)的空氣質(zhì)量輸出信號,測量值的典型精度為15%。該傳感器可檢測各種揮發(fā)性有機化合物(VOC)和H2等,其返回值為總揮發(fā)性有機化合物(TVOC)讀數(shù)和二氧化碳讀數(shù)(CO2),廣泛適用于智能家居、家電和物聯(lián)網(wǎng)應(yīng)用中環(huán)境監(jiān)測。
軟件設(shè)計由有害氣體檢測和語音識別與播放兩部分組成。所有程序開發(fā)均在Arduino開發(fā)環(huán)境Arduino IDE 1.81版本軟件上編程實現(xiàn),該開發(fā)環(huán)境是完全免費且綠色開源,可運行于所有較高或最新WINDOWS操作系統(tǒng)。Arduino程序語言類似C/C++語法,具有基本常用函數(shù)庫。由于本設(shè)計采用了多種傳感器,因此,安裝了不同種類傳感器函數(shù)庫。本設(shè)計用Arduino語言編程,運用模塊化處理各功能子程序,程序結(jié)構(gòu)清晰、邏輯性強。
(1)有害氣體檢測設(shè)計流程。系統(tǒng)上電復(fù)位后,開始采集4路傳感器信號,并對采集的數(shù)據(jù)進行分析處理;根據(jù)有害氣體參數(shù)閾值判斷是否給予報警提示,如果有害氣體參數(shù)有一項或多項超過設(shè)置閾值,則點亮紅燈,并進行語音報警,提示用戶當(dāng)前環(huán)境狀況較差;否則返回,繼續(xù)采集并分析數(shù)據(jù)。
(2)語音識別與播放設(shè)計流程。系統(tǒng)上電復(fù)位后,LD3320語音芯片開始采集并識別語音指令,通過串口輸出給單片機;單片機對指令內(nèi)容進行分析判斷后,利用單片機的SPI端口將數(shù)據(jù)發(fā)送給LCD1602; LCD1602接收指令完成溫濕度、有害氣體等參數(shù)的顯示,并語音播報當(dāng)前空氣質(zhì)量等級。
該產(chǎn)品設(shè)計及制作完成后,進行了模擬測試實驗。實驗采用正常話音音量,按照以下3種環(huán)境條件進行對比測試:(1)有無外界雜音干擾環(huán)境;(2)0~1.5 m及1.5~3 m兩種測試距離;(3)普通話及徐州話兩種不同語音環(huán)境,分別對該產(chǎn)品進行語音控制,并統(tǒng)計其控制成功率,測試次數(shù)為10次/組。系統(tǒng)語音控制性能測試,如表1所示。
表1 系統(tǒng)語音控制性能測試
測試結(jié)果分析:距離0~1.5 m普通話環(huán)境及一定雜音干擾下,語音控制成功率基本達到99%;距離0~1.5 m徐州話環(huán)境及一定雜音干擾下,語音控制成功率平均在96%以上;距離1.5~3 m及一定雜音干擾下,不論采用哪種語音,語音控制成功率在93%以上。這表明該語音控制產(chǎn)品在一定干擾環(huán)境下具有較高的可靠性和適應(yīng)性,適用于家庭及一般室內(nèi)場合。當(dāng)測試距離在0~3 m范圍內(nèi)逐漸增大時,語音控制的成功率基本保持不變,表明語音控制的范圍較廣,可以認為在一定干擾下,語音控制產(chǎn)品性能穩(wěn)定可靠,達到了設(shè)計預(yù)期效果。
本設(shè)計采用語音識別技術(shù),借助Arduino設(shè)計平臺,構(gòu)建基于語音控制的家庭環(huán)境檢測儀,完成了室內(nèi)空氣質(zhì)量多參數(shù)檢測顯示及語音播報提示等功能設(shè)計,實現(xiàn)了家用環(huán)境質(zhì)量的自動監(jiān)測與分析。實際測試表明,該儀器在外部干擾及不同距離不同語音環(huán)境下,都有較高的成功率,系統(tǒng)工作可靠,操作簡單,攜帶方便,且同樣適用于學(xué)校、商場、辦公室等各種需要對空氣質(zhì)量進行評價的環(huán)境中,具有一定推廣應(yīng)用價值。