tag 标签: DHT11温湿度传感器

相关博文
  • 热度 3
    2020-1-4 11:47
    313 次阅读|
    0 个评论
    【雕爷学编程】Arduino动手做(55)--DHT11温湿度传感器
    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 "); }
广告