“(SKU:RB-02S014)DHT11温湿度传感器”的版本间的差异
来自ALSROBOT WiKi
(→产品相关推荐) |
|||
第15行: | 第15行: | ||
# 采样周期间隔:<1s | # 采样周期间隔:<1s | ||
− | == | + | ==接口定义== |
* S:输出信号 | * S:输出信号 | ||
第21行: | 第21行: | ||
* -:地(GND) | * -:地(GND) | ||
[[文件:wenshidu00.jpg|500px|有框|居中|引脚的定义]] | [[文件:wenshidu00.jpg|500px|有框|居中|引脚的定义]] | ||
− | + | ==使用方法 | |
===连接示意图=== | ===连接示意图=== | ||
第28行: | 第28行: | ||
S引脚接到控制器的A0口。+和- 分别接到电源的+5V和GND。 | S引脚接到控制器的A0口。+和- 分别接到电源的+5V和GND。 | ||
− | + | ===例子程序=== | |
− | == | + | |
− | + | ||
<pre style='color:blue'>#define DHT11_PIN 0 | <pre style='color:blue'>#define DHT11_PIN 0 | ||
byte read_dht11_dat() | byte read_dht11_dat() | ||
第100行: | 第98行: | ||
Serial.println("C "); | Serial.println("C "); | ||
delay(2000); | delay(2000); | ||
− | }</pre> | + | } |
+ | </pre> | ||
===程序效果=== | ===程序效果=== | ||
此代码功能是检测当前环境下的湿度和温度值。设定当湿度等于25%时LED灯亮,当温度等于28度时蜂鸣器响。如下图所示,串口助手窗口左侧一列显示为当前湿度值右侧一列为当前温度值。 | 此代码功能是检测当前环境下的湿度和温度值。设定当湿度等于25%时LED灯亮,当温度等于28度时蜂鸣器响。如下图所示,串口助手窗口左侧一列显示为当前湿度值右侧一列为当前温度值。 | ||
[[文件:12.png|500px|缩略图|居中]] | [[文件:12.png|500px|缩略图|居中]] | ||
− | |||
==产品相关推荐== | ==产品相关推荐== | ||
[[文件:erweima.png|230px|无框|右]] | [[文件:erweima.png|230px|无框|右]] |
2015年10月10日 (六) 08:51的版本
目录 |
概述
此款新推出的DHT11温湿度传感器数据接口采用防插反插头,接口两侧分别有字母“D”代表信号类型为数字信号,和 “倾角”标识代表传感器类型,传感器特设4颗M3固定安装孔,调节方向与固定方便易用,美观大方。此款传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。DHT11数字温湿度传感器模块为3针PH2.0封装,连接方便。
规格参数
- 工作电压 :3.3V~5v
- 尺寸大小:40mm x 28mm
- 重量大小:3g
- 信号类型:数字信号
- 供电电流:最大2.5mA
- 温度范围:0-50℃,误差±2℃
- 湿度范围:当环境温度在 0 ℃时为30~90%RH;当环境温度在25℃时为20~90%RH ;当环境温度在50℃时为20~80%RH
- 响应时间:1/e(63%) 6-30s
- 测量分辨率分别为:温度(8bit)湿度(8bit)
- 采样周期间隔:<1s
接口定义
- S:输出信号
- +:电源(VCC)
- -:地(GND)
==使用方法
连接示意图
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); }
程序效果
此代码功能是检测当前环境下的湿度和温度值。设定当湿度等于25%时LED灯亮,当温度等于28度时蜂鸣器响。如下图所示,串口助手窗口左侧一列显示为当前湿度值右侧一列为当前温度值。