(SKU:RB-02S014)DHT11溫濕度傳感器

來自ALSROBOT WiKi
2015年10月21日 (三) 14:58Arduino77討論 | 貢獻的版本

(差異) ←上一版本 | 最后版本 (差異) | 下一版本→ (差異)
跳轉(zhuǎn)至: 導航、 搜索
P-789.jpg

目錄

產(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ù)

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

接口定義

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

使用方法

連接示意圖

RB-02S01401.jpg
Wenshidu02.jpg

S引腳接到控制器的A0口。+和- 分別接到電源的+5V和GND。

例子程序

#define DHT11_PIN 0           
byte read_dht11_dat()
{
	byte i = 0;
	byte result=0;
	for(i=0; i< 8; i++){
	     while(!(PINC & _BV(DHT11_PIN)));  // wait for 50us
	     delayMicroseconds(30);
	     if(PINC & _BV(DHT11_PIN)) 
	     result |=(1<<(7-i));
             while((PINC & _BV(DHT11_PIN)));  // wait '1' finish
	}
	return result;
}
void setup()
{
	DDRC |= _BV(DHT11_PIN);
	PORTC |= _BV(DHT11_PIN);
	  Serial.begin(19200);
Serial.println("Ready");
	}
	
void loop()
{
	byte dht11_dat[5];
	byte dht11_in;
	byte i;
	// start condition
	// 1. pull-down i/o pin from 18ms
	PORTC &= ~_BV(DHT11_PIN);
	delay(18);
	PORTC |= _BV(DHT11_PIN);
	delayMicroseconds(40);
	DDRC &= ~_BV(DHT11_PIN);
	delayMicroseconds(40);
	dht11_in = PINC & _BV(DHT11_PIN);
	if(dht11_in){
		Serial.println("dht11 start condition 1 not met");
		return;
	}
	delayMicroseconds(80);
	dht11_in = PINC & _BV(DHT11_PIN);
	if(!dht11_in){
		Serial.println("dht11 start condition 2 not met");
		return;
	}
	delayMicroseconds(80);
	// now ready for data reception
	for (i=0; i<5; i++)
		dht11_dat[i] = read_dht11_dat();
	DDRC |= _BV(DHT11_PIN);
	PORTC |= _BV(DHT11_PIN);
  byte dht11_check_sum = dht11_dat[0]+dht11_dat[1]+dht11_dat[2]+dht11_dat[3];
	// check check_sum
	if(dht11_dat[4]!= dht11_check_sum)
	{
		Serial.println("DHT11 checksum error");
	}
	Serial.print("Current humdity = ");
	Serial.print(dht11_dat[0], DEC);
	Serial.print(".");
	Serial.print(dht11_dat[1], DEC);
	Serial.print("%  ");
	Serial.print("temperature = ");
	Serial.print(dht11_dat[2], DEC);
	Serial.print(".");
	Serial.print(dht11_dat[3], DEC);
	Serial.println("C  ");
	delay(2000);
}

程序效果

此代碼功能是檢測當前環(huán)境下的濕度和溫度值。設定當濕度等于25%時LED燈亮,當溫度等于28度時蜂鳴器響。如下圖所示,串口助手窗口左側一列顯示為當前濕度值右側一列為當前溫度值。

12.png

應用視頻

Dht11.png


















產(chǎn)品相關推薦

Erweima.png

產(chǎn)品購買地址

DHT11溫濕度傳感器

周邊產(chǎn)品推薦

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

相關問題解答

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

相關學習資料

運用Arduino DHT11溫濕度傳感器制作溫濕度報警器視頻
奧松機器人技術論壇