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