“SKU:RB-02S014A DHT11溫濕度傳感器”的版本間的差異

來自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航、 搜索
?編程原理
?產(chǎn)品相關(guān)推薦
第112行: 第112行:
 
[http://www.makerspace.cn/forum.php?mod=viewthread&tid=2863&highlight=dht11 DHT11溫濕度傳感器的工作原理]<br/>
 
[http://www.makerspace.cn/forum.php?mod=viewthread&tid=2863&highlight=dht11 DHT11溫濕度傳感器的工作原理]<br/>
 
===相關(guān)學(xué)習(xí)資料===
 
===相關(guān)學(xué)習(xí)資料===
 +
[http://pan.baidu.com/s/1skWmHm1 DHT11數(shù)據(jù)手冊]<br/>
 
[http://www.makerspace.cn/forum.php?mod=viewthread&tid=4002&highlight=dht11 運用Arduino DHT11溫濕度傳感器制作溫濕度報警器視頻]<br/>
 
[http://www.makerspace.cn/forum.php?mod=viewthread&tid=4002&highlight=dht11 運用Arduino DHT11溫濕度傳感器制作溫濕度報警器視頻]<br/>
 
[http://www.makerspace.cn/portal.php 奧松機(jī)器人技術(shù)論壇]<br/>
 
[http://www.makerspace.cn/portal.php 奧松機(jī)器人技術(shù)論壇]<br/>

2016年12月14日 (三) 17:26的版本

02S014A01.jpg

目錄

產(chǎn)品概述

此款新推出的DHT11溫濕度傳感器數(shù)據(jù)接口采用防插反插頭,接口兩側(cè)分別有字母“D”代表信號類型為數(shù)字信號,和 “溫度”標(biāo)識代表傳感器類型,傳感器特設(shè)4顆M3固定安裝孔,調(diào)節(jié)方向與固定方便易用,美觀大方。此款傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價比極高等優(yōu)點。每個DHT11傳感器都在極為精確的濕度校驗室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達(dá)20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場合的最佳選則。DHT11數(shù)字溫濕度傳感器模塊為3針PH2.0封裝,連接方便。

規(guī)格參數(shù)

  1. 工作電壓:3.3V - 5V
  2. 接口類型:KF2510 - 3P
  3. 信號類型:數(shù)字信號
  4. 供電電流:最大2.5mA
  5. 溫度范圍:0-50℃±2℃
  6. 濕度范圍:當(dāng)環(huán)境溫度在 0 ℃時為30 - 90%RH;當(dāng)環(huán)境溫度在25℃時為20 - 90%RH?;當(dāng)環(huán)境溫度在50℃時為20 - 80%RH
  7. 響應(yīng)時間:1/e(63%) 6-30s
  8. 測量分辨率分別為:溫度(8bit)濕度(8bit)
  9. 采樣周期間隔:<1s
  10. 尺寸大?。?8mm x 25mm
  11. 重量大?。?g

模塊參數(shù)

DHT11 New.png

接口定義

  • S:輸出信號
  • +:電源(VCC)
  • -:地(GND)
引腳的定義

使用方法

工作原理

DHT11 數(shù)字溫濕度傳感器是一種集溫度、濕度一體的復(fù)合傳感器,它能把溫度和濕度物理測量通過溫、濕度敏感元件和相應(yīng)電路轉(zhuǎn)換成方便計算機(jī)或者數(shù)據(jù)采集設(shè)備直接讀取的數(shù)字量,DHT11由電阻式感濕器件和NTC系數(shù)感溫器件構(gòu)成,具有校準(zhǔn)數(shù)字信號輸出功能,采用單總線串行接口,輸出數(shù)據(jù)一共5個字節(jié),分別表示:濕度整數(shù)位、濕度小數(shù)位、溫度整數(shù)位、溫度小數(shù)位及校驗和,其中校驗和為濕度與溫度之和的最低8位數(shù)據(jù)。

編程原理

DHT11數(shù)字溫度傳感器模塊共引出3個引腳,分別是地線GND、電源Vcc和數(shù)據(jù)線S。實際應(yīng)用時,將S端接在Arduino UNO的一個數(shù)字輸入接口,接線方法如接線圖所示。DHT11數(shù)字溫濕度傳感器使用一根信號線傳輸數(shù)據(jù),讀取步驟如下:

  • 將引腳 D8 設(shè)置為輸出模式,同時將引腳置為低電平(LOW),持續(xù)時間超過18ms以上;
  • 再將引腳 D8 設(shè)置為高電平(HIGH),持續(xù)時間40us;
  • 再將引腳 D8 設(shè)置為輸入(讀?。┠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ù)位。

連接示意圖

02S014A02.png

例子程序

int dht11 = 8;//定義DHT11連接到數(shù)字引腳8
byte dat [5];//設(shè)置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響應(yīng)
  pinMode(dht11,INPUT);//改為輸入模式
  while(digitalRead(dht11) == HIGH);
  delayMicroseconds(80);//DHT11發(fā)出響應(yīng),拉高總線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ù)后釋放總線,等待主機(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控制器中,并按照接線圖正確進(jìn)行接線,通過Arduino的串口監(jiān)視器可以觀察到當(dāng)前環(huán)境下的溫度和濕度值,實驗效果如下圖所示:

02S014A03.png

應(yīng)用視頻

Dht11.png

產(chǎn)品相關(guān)推薦

Erweima.png

產(chǎn)品購買地址

DHT11溫濕度傳感器

周邊產(chǎn)品推薦

Carduino UNO R3 控制器
Starduino 控制器
LM35 線性溫度傳感器
DS18B20 數(shù)字溫度傳感器

相關(guān)問題解答

DHT11溫濕度傳感器的工作原理

相關(guān)學(xué)習(xí)資料

DHT11數(shù)據(jù)手冊
運用Arduino DHT11溫濕度傳感器制作溫濕度報警器視頻
奧松機(jī)器人技術(shù)論壇