37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。 

【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)

实验五十五:DHT11 温湿度复合传感器模块(数字型单总线通信)

温度

度量物体冷热的物理量,是国际单位制中7个基本物理量之一。温度是物体内分子间平动动能的一种表现形式。分子运动愈快,即温度愈高,物体愈热;分子运动愈慢,即温度愈低,物体愈冷。从分子运动论观点看,温度是物体分子运动平均动能的标志,温度是分子热运动的集体表现,含有统计意义。在生产和科学研究中,许多物理现象和化学过程都是在一定的温度下进行的,人们的生活也和它密切相关。

湿度

湿度很久以前就与生活存在着密切的关系,但用数量来进行表示较为困难。对湿度的表示方法有绝对湿度、相对湿度、露点、湿气与干气的比值(重量或体积)等等。日常生活中最常用的表示湿度的物理量使空气的相对湿度。用%RH表示。在物理量的导出上相对湿度与温度有着密切的关系。一定体积的密闭气体,其温度越高相对湿度越低,温度越低,其相对湿度越高。其中涉及到复杂的热力工程学知识。

温湿度与人们生活的关系

如:冬天温度为18至25℃,湿度为30%至80%;夏天温度为23至28℃,湿度为30%至60%。在此范围内感到舒适的人占95%以上。在装有空调的室内,室温为19至24℃,湿度为40%至50%时,人会感到最舒适。如果考虑到温、湿度对人思维活动的影响,最适宜的室温度应是工作效率高。18℃,湿度应是40%至60%,此时,人的精神状态好,思维最敏捷。

DHT11
是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为4针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。

模块参数

供电电压: 3.3~5.5V DC

输 出: 单总线数字信号

测量范围: 湿度 20-90%RH, 温度 0~50℃

测量精度: 湿度+-5%RH, 温度+-2℃

分 辨 率: 湿度 1%RH, 温度 1℃

长期稳定性: <±1%RH/年

注意事项

1、避免在结露情况下使用

2、长期保存温度 10-40℃,湿度 60%以下

3、使用时电源和地接法要正确,以免损坏传感器

模块电原理图

模块描述
1、可以检测周围环境的湿度和温度
2、传感器采用DHT11
3、湿度测量范围:20%-95%(0度-50度范围)湿度测量误差:+-5%
4、温度测量范围:0度-50度 温度测量误差:+-2度
5、工作电压3.3V-5V
6、输出形式 数字输出         
7、设有固定螺栓孔,方便安装
8、小板PCB尺寸:3.2cm*1.4cm
9、电源指示灯(红色)
10、每套重量约为8g

模块接口说明(3线制)
1 VCC 外接3.3V-5V
2 GND 外接GND
3 DO  小板开关数字量输出接口 接单片机IO口

模块使用事项

传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品连接方便,可直接插接到Arduino传感器扩展板上。

/*

【Arduino】168种传感器模块系列实验(55)

实验五十五:DHT11 温湿度复合传感器模块(数字型单总线通信)

*/



#include "DHT.h"



#define DHTPIN 8

#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);



void setup() {

  Serial.begin(9600);

  dht.begin();

}



void loop() {

  delay(2000);

  float h = dht.readHumidity();

  float t = dht.readTemperature();

  Serial.print("Humidity: ");

  Serial.println(h);

  Serial.print("Temperature: ");

  Serial.print(t);

  Serial.println(" ℃ ");

}

  

/*

【Arduino】168种传感器模块系列实验(55)

实验五十五:DHT11 温湿度复合传感器模块(数字型单总线通信)

实验程序之二

*/

#include "DHT.h"

#define DHTPIN 2

#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);

void setup() {

Serial.begin(9600);

Serial.println("DHTxx test!");

  dht.begin();

}

void loop() {



delay(2000);

floath = dht.readHumidity();

floatt = dht.readTemperature();

floatf = dht.readTemperature(true);



if(isnan(h) || isnan(t) || isnan(f)) {

Serial.println("Failed to read from DHT sensor!");

return;

  }

floathi = dht.computeHeatIndex(f, h);

Serial.print("Humidity: ");

  Serial.print(h);

Serial.print(" %");

Serial.print("\t");

Serial.print("Temperature: ");

  Serial.print(t);

Serial.println(" *C ");



}

  

12-16 22:31