陳合軍
(荊州市機(jī)械電子工業(yè)學(xué)校 湖北省荊州市 434000)
空氣是人類生存環(huán)境的重要組成部分,也是人類發(fā)展的物質(zhì)基礎(chǔ)[1]。隨著社會的快速發(fā)展,一些可燃?xì)怏w在工業(yè)和家庭中應(yīng)用日益廣泛。為人們帶來方便的同時,也帶來了威脅。越來越多的人對周圍環(huán)境的質(zhì)量有了更高要求,我們必須對居住環(huán)境中的CO 濃度,房間溫濕度實施科學(xué)監(jiān)控。
環(huán)境監(jiān)測系統(tǒng)分兩部分,對硬件平臺的搭建和軟件模塊的設(shè)計。硬件以Arduino 開發(fā)板為核心,由一氧化碳傳感器,溫濕度傳感器,藍(lán)牙模塊等部分組成[2]。軟件模塊使用Arduino IDE 編程,通過串口與PC 進(jìn)行通訊。
如圖1 所示。
它有14 個數(shù)字輸入/輸出引腳,6 個模擬輸入引腳,一個16 MHz 的晶體振蕩器, USB 接口以及一個復(fù)位按鈕等。
Arduino UNO 有4 個LED 指示燈,其功能如下:
ON: 電源指示燈。TX: 串口發(fā)送指示燈。RX: 串口接收指示燈。L:可編程控制指示燈。
ATmega328 提供了電壓為5V 串口通信,分別位于RX 和TX引腳上。Arduino IDE 軟件有串口監(jiān)視器的功能,可以用它接收從Arduino 傳送過來的數(shù)據(jù)[3]。
DHT11 溫濕度傳感器能測量的溫度范圍在0 ~50℃之間。它采用數(shù)字模塊采集技術(shù),且包含了一個感濕元件和一個測溫元件,這充分地提高了DHT11 溫濕度傳感器的可靠性和穩(wěn)定性,使它能有效的抵抗外部干擾價格便宜實惠,對溫濕度的測量也很快速。為了確保DHT11 溫濕度傳感器的品質(zhì),一般會在濕度校驗室中進(jìn)行實驗校準(zhǔn),校準(zhǔn)系數(shù)則會以程序的形式存在,其主要是應(yīng)用于傳感器內(nèi)部檢測信號的處理過程,使傳感器檢測工作變得清晰明了不那么繁瑣。對溫度和濕度的檢測很敏感。溫濕度傳感器體積小、低功耗的優(yōu)點使其廣泛的應(yīng)用于各類場合。
傳感器的接口說明:對于上拉電阻的選用,當(dāng)連接長度不超過20 米時用5K 的,連接方式如圖2 所示。
DHT11 溫濕度傳感器的供電電壓一般在3-5.5V 之間。待傳感器通電后,要等待1 秒鐘不要發(fā)送指令,使其達(dá)到穩(wěn)定狀態(tài),為了去除耦濾波,可在電源和地之間連接一個100nF 的電容。
圖1:Arduino UNO 開發(fā)板
圖2:典型應(yīng)用電路
一般使用單總線數(shù)據(jù)的格式來進(jìn)行單片機(jī)與DHT11 溫濕度傳感器間的通訊與同步,整個數(shù)據(jù)又分為整數(shù)和小數(shù)部分,大概4ms完整地通訊一次。
按照高位優(yōu)先輸出的原則,一次完整的數(shù)據(jù)傳輸為40bit。
在單總線數(shù)據(jù)格式下,當(dāng)校驗和等于8bit 溫度和濕度的整數(shù)加小數(shù)部分?jǐn)?shù)據(jù)所得結(jié)果的后8 位時,說明數(shù)據(jù)傳輸是正確的。
當(dāng)用戶發(fā)送信號時,值得注意的是,溫濕度傳感器在主句發(fā)送開始信號結(jié)束后才會進(jìn)行信號采集,且這時為高速模式,當(dāng)全部的采集工作完成后轉(zhuǎn)變?yōu)榈退倌J健?/p>
其通訊過程如圖3 所示。
由圖3 可知,總線處于空閑狀態(tài),表現(xiàn)為高電平,為了使DHT11 溫濕度傳感器得到響應(yīng),主機(jī)會將總線拉低,為了確保開始信號能得到接收,DHT11 拉低的時間要稍長一些。當(dāng)其成功接收到開始信號后,還需發(fā)送相應(yīng)的低電平信號。等侯一段時間后,DHT11 的響應(yīng)信號就能正確的顯示出來。
DHT11 溫濕度傳感器的原理圖如圖4 所示,其采樣周期要大于1 秒。
表1:產(chǎn)品選型
圖3:通訊過程
圖4:DHT11 原理圖
圖5:HC-6 藍(lán)牙模塊
傳感器的選擇如表1 所示。
比較表1,選擇MQ-7 傳感器,MQ-7 中有一種特殊的材質(zhì),當(dāng)空氣中存在一氧化碳?xì)怏w時,它會產(chǎn)生一定的電導(dǎo)率,使傳感器做出反應(yīng),顯示較高的一氧化碳濃度數(shù)值,但在空氣清新的環(huán)境中會很穩(wěn)定。MQ-7 對一氧化碳的靈敏度很高,且能抵抗水蒸氣、汽油、煙霧等干擾。
MQ-7 傳感器模塊,其特點主要有:可直接連接單片機(jī);輸出電壓范圍在0-5V之間;檢測CO濃度越高,輸出電壓越大,快速有效;有四個螺絲孔便于定位;使用壽命長,可靠穩(wěn)定;有快速的響應(yīng)恢復(fù)特性。
有一個地方需要強(qiáng)調(diào)的是,Arduino 開發(fā)板通電后,剛開始CO傳感器顯示的數(shù)值不是很準(zhǔn)確,會偏高,一般要等待幾十秒鐘之后,數(shù)值會漸漸正常。還有就是CO 傳感器因為有電熱絲在里面,所以使用過程中有正常的發(fā)熱現(xiàn)象。
本設(shè)計選用的是HC-6 藍(lán)牙模塊,如圖5。HC-6 藍(lán)牙串口通信模塊,在10 米左右的范圍內(nèi)都能夠檢測到信號進(jìn)行通信。且支持AT 指令,使用者可根據(jù)自身需要設(shè)置參數(shù)、串口波特率等。
在手機(jī)上安裝一個串口助手,HC-6 就可以與手機(jī)自帶的藍(lán)牙進(jìn)行通訊,配對密碼為“1234”,波特率為9600,也可以借助藍(lán)牙虛擬串口與電腦相連。
所需硬件有Arduino uno 核心板一個、DHT11 溫濕度傳感器、一氧化碳傳感器、藍(lán)牙、4.7k 色環(huán)電阻一個、杜邦線10 根,以及pc 機(jī)一臺,智能手機(jī)一部。以家庭或室內(nèi)為模擬監(jiān)測環(huán)境。
然后連接電路,對硬件進(jìn)行檢查。首先要看各個模塊的引腳,Arduino 主板和傳感器的電源和地線的連接是否正確,不要出現(xiàn)漏接或者接錯的情況,嚴(yán)重的將會導(dǎo)致電路元器件的短路燒壞等情況。檢查完成后對Arduino 板進(jìn)行通電,可用+5V 的手機(jī)充電器供電,可以用可以用USB 轉(zhuǎn)串口線連接電腦供電。
通電后看Arduino 主板以及各個模塊的指示燈是否是亮的,是亮的就說明它們工作正常。通電一段時間后,元件發(fā)熱是正常的,需要特別注意觀察主控板和各個模塊是否過于發(fā)熱,或者冒煙的現(xiàn)象,若出現(xiàn)這種情況,應(yīng)當(dāng)立即斷開電源,對損壞的硬件進(jìn)行修復(fù)。通電后指示燈亮表示正常工作。
本文對環(huán)境監(jiān)測系統(tǒng)的主要概念做了大致的闡述,結(jié)合目前大部分人所處的家庭或周圍的環(huán)境,確定了設(shè)計環(huán)境監(jiān)測系統(tǒng)的必要性,該系統(tǒng)會有較大的發(fā)展空間。