SKU:RB-02S014A DHT11溫濕度傳感器
目錄 |
產(chǎn)品概述
此款新推出的DHT11溫濕度傳感器數(shù)據(jù)接口采用防插反插頭,接口兩側(cè)分別有字母“D”代表信號(hào)類型為數(shù)字信號(hào),和 “溫度”標(biāo)識(shí)代表傳感器類型,傳感器特設(shè)4顆M3固定安裝孔,調(diào)節(jié)方向與固定方便易用,美觀大方。此款傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比極高等優(yōu)點(diǎn)。每個(gè)DHT11傳感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲(chǔ)存在OTP內(nèi)存中,傳感器內(nèi)部在檢測(cè)信號(hào)的處理過(guò)程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡(jiǎn)易快捷。超小的體積、極低的功耗,信號(hào)傳輸距離可達(dá)20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場(chǎng)合的最佳選則。DHT11數(shù)字溫濕度傳感器模塊為3針PH2.0封裝,連接方便。
規(guī)格參數(shù)
- 工作電壓:3.3V - 5V
- 接口類型:KF2510 - 3P
- 信號(hào)類型:數(shù)字信號(hào)
- 供電電流:最大2.5mA
- 溫度范圍:0-50℃±2℃
- 濕度范圍:當(dāng)環(huán)境溫度在 0 ℃時(shí)為30 - 90%RH;當(dāng)環(huán)境溫度在25℃時(shí)為20 - 90%RH?;當(dāng)環(huán)境溫度在50℃時(shí)為20 - 80%RH
- 響應(yīng)時(shí)間:1/e(63%) 6-30s
- 測(cè)量分辨率分別為:溫度(8bit)濕度(8bit)
- 采樣周期間隔:<1s
- 尺寸大?。?8mm x 25mm
- 重量大?。?g
模塊參數(shù)
接口定義
- S:輸出信號(hào)
- +:電源(VCC)
- -:地(GND)
使用方法
工作原理
DHT11 數(shù)字溫濕度傳感器是一種集溫度、濕度一體的復(fù)合傳感器,它能把溫度和濕度物理測(cè)量通過(guò)溫、濕度敏感元件和相應(yīng)電路轉(zhuǎn)換成方便計(jì)算機(jī)或者數(shù)據(jù)采集設(shè)備直接讀取的數(shù)字量,DHT11由電阻式感濕器件和NTC系數(shù)感溫器件構(gòu)成,具有校準(zhǔn)數(shù)字信號(hào)輸出功能,采用單總線串行接口,輸出數(shù)據(jù)一共5個(gè)字節(jié),分別表示:濕度整數(shù)位、濕度小數(shù)位、溫度整數(shù)位、溫度小數(shù)位及校驗(yàn)和,其中校驗(yàn)和為濕度與溫度之和的最低8位數(shù)據(jù)。
編程原理
DHT11數(shù)字溫度傳感器模塊共引出3個(gè)引腳,分別是地線GND、電源Vcc和數(shù)據(jù)線S。實(shí)際應(yīng)用時(shí),將S端接在Arduino UNO的一個(gè)數(shù)字輸入接口,接線方法如接線圖所示。DHT11數(shù)字溫濕度傳感器使用一根信號(hào)線傳輸數(shù)據(jù),讀取步驟如下:
- 將引腳 D8 設(shè)置為輸出模式,同時(shí)將引腳置為低電平(LOW),持續(xù)時(shí)間超過(guò)18ms以上;
- 再將引腳 D8 設(shè)置為高電平(HIGH),持續(xù)時(shí)間40us;
- 再將引腳 D8 設(shè)置為輸入(讀?。┠J?,判定讀到低電平(LOW)后,延時(shí)80us,再判定讀到高電平(HIGH)后,延時(shí) 80us,以上工作完成后開(kāi)始接受數(shù)據(jù);
- 數(shù)據(jù)總共有5個(gè)字節(jié),忽略校驗(yàn)位,有四位是有效數(shù)據(jù)。第0字節(jié)是濕度的整數(shù)位,第1字節(jié)是濕度的小數(shù)位,第2字節(jié)是溫度的整數(shù)位,第3字節(jié)是溫度的小數(shù)位。
連接示意圖
例子程序
int dht11 = 8;//定義DHT11連接到數(shù)字引腳8 byte dat [5];//設(shè)置5個(gè)字節(jié)的數(shù)組 byte read_data() { byte data; for (int i=0;i<8;i++) { if(digitalRead(dht11) == LOW) { while(digitalRead(dht11) == LOW);//等待50us delayMicroseconds(30);//判斷高電平的持續(xù)時(shí)間,以判斷數(shù)據(jù)是0還是1 if(digitalRead(dht11) == HIGH) data |=(1<<(7-i));//高位在前,低位在后 while(digitalRead(dht11) == HIGH);//如果數(shù)據(jù)是1,等待下一位的接收 } } return data; } void start_test() { digitalWrite(dht11,LOW);//拉低總線,發(fā)開(kāi)始信號(hào) delay(30);//延時(shí)需要大于18ms digitalWrite(dht11,HIGH);//開(kāi)始信號(hào) delayMicroseconds(40);//等待DHT11響應(yīng) pinMode(dht11,INPUT);//改為輸入模式 while(digitalRead(dht11) == HIGH); delayMicroseconds(80);//DHT11發(fā)出響應(yīng),拉高總線80us if(digitalRead(dht11) == LOW); delayMicroseconds(80);//拉低總線80us后開(kāi)始發(fā)送數(shù)據(jù) for(int i=0;i<4;i++)//接收溫濕度數(shù)據(jù),校驗(yàn)位不考慮 dat[i] = read_data(); pinMode(dht11,OUTPUT);//改為輸出模式 digitalWrite(dht11,HIGH);//發(fā)送完一次數(shù)據(jù)后釋放總線,等待主機(jī) //下一次的信號(hào)開(kāi)始 } void setup() { Serial.begin(9600); pinMode(dht11,OUTPUT); } void loop() { start_test(); Serial.print("Current humdity = "); Serial.print(dat[0],DEC);//顯示濕度的整數(shù)位 Serial.print('.'); Serial.print(dat[1],DEC);//顯示濕度的小數(shù)位 Serial.println('%'); Serial.print("Current temperature = "); Serial.print(dat[2],DEC);//顯示溫度的整數(shù)位 Serial.print('.'); Serial.print(dat[3],DEC);//顯示溫度的小數(shù)位 Serial.println('C'); delay(700); }
程序效果
將例程上傳到Arduino控制器中,并按照接線圖正確進(jìn)行接線,通過(guò)Arduino的串口監(jiān)視器可以觀察到當(dāng)前環(huán)境下的溫度和濕度值,實(shí)驗(yàn)效果如下圖所示:
應(yīng)用視頻
產(chǎn)品相關(guān)推薦
資料下載
鏈接:https://pan.baidu.com/s/1j4XagjayJQevnFXZaSGGrQ 提取碼:qslq
產(chǎn)品購(gòu)買地址
周邊產(chǎn)品推薦
Carduino UNO R3 控制器
Starduino 控制器
LM35 線性溫度傳感器
DS18B20 數(shù)字溫度傳感器
相關(guān)問(wèn)題解答
相關(guān)學(xué)習(xí)資料
DHT11數(shù)據(jù)手冊(cè)
運(yùn)用Arduino DHT11溫濕度傳感器制作溫濕度報(bào)警器視頻
奧松機(jī)器人技術(shù)論壇