使用奥松公司的DHT11或DHT22数字温湿度传感器,让您的下一个Arduino项目能够感知周围的世界。
这些传感器经过预先校准,不需要额外的组件,因此您可以立即开始测量相对湿度和温度。
它们提供的最大功能之一是温度和湿度都测量到最接近的十分之一,也就是小数点后一位。该传感器的唯一缺点是您只能每隔一两秒从中获取一次新数据。
DHT11与DHT22/AM2302 我们有两个版本的DHTxx传感器系列。它们看起来有点相似,具有相同的引脚排列,但具有不同的特性。以下是详细信息:
DHT22是更昂贵的版本,显然具有更好的规格。其温度测量范围为-40°C至+125°C,精度为+-0.5 度,而DHT11测量温度范围为 0°C到50°C,精度为+-2 度。此外,DHT22传感器具有更好的湿度测量范围,从0到 100%,精度为2-5%,而 DHT11 湿度范围从20%到80%,精度为5%。 | DHT11 | DHT22 | 工作电压 | 3V - 5V | 3V - 5V | 最大工作电流 | 2.5mA | 2.5mA | 湿度范围 | 20-80% / 5% | 0-100% / 2-5% | 温度范围 | 0-50°C / ± 2°C | -40-80°C / ± 0.5°C | 采样率 | 1 Hz(每秒读取一次) | 0.5 Hz(每 2 秒读取一次) | 外形尺寸 | 15.5mm x 12mm x 5.5mm | 15.1mm x 25mm x 7.7mm | 优势 | 超低成本 | 更准确 |
虽然DHT22更精确,工作温度和湿度范围更大; 但DHT11更便宜,尺寸更小,采样率更高。 DHT11的采样率为 1Hz,即每秒读取一次,而DHT22的采样率为0.5Hz,即每两秒读取一次。
两个传感器的工作电压为3到5 伏,而转换期间(请求数据时)使用的最大电流为2.5毫安。最好的一点是DHT11和DHT22传感器是可互换的——这意味着,如果你用一个来构建你的项目,你可以拔掉它并使用另一个。您的代码可能需要稍作调整,但至少接线是相同的!
硬件概述 现在让我们继续讨论有趣的事情。让我们拆解DHT11和DHT22传感器,看看里面有什么。
外壳分为两部分,因此要进入它只需拿一把锋利的刀并将外壳分开即可。在外壳内部,在感应侧,有一个湿度感应组件以及一个NTC温度传感器(或热敏电阻)
湿度传感组件当然是用来测量湿度的,它有两个电极和夹在它们之间的水分保持基板(通常是盐或导电塑料聚合物)。当水蒸气被基板吸收时,离子被基板释放,这反过来又增加了电极之间的电导率。两个电极之间的电阻变化与相对湿度成正比。较高的相对湿度会降低电极之间的电阻,而较低的相对湿度会增加电极之间的电阻。
此外,它们还包括一个NTC温度传感器/热敏电阻来测量温度。热敏电阻是一种随温度改变其电阻的电阻。从技术上讲,所有电阻器都是热敏电阻——它们的电阻会随着温度的变化而略有变化——但这种变化通常非常非常小并且难以测量。
热敏电阻的制作使得电阻随温度发生剧烈变化,因此每度可以有100欧姆或更多的变化!术语“NTC”的意思是“负温度系数(Negative Temperature Coefficient)”,这意味着电阻随着温度的升高而降低。
在另一边,有一块带有8位SOIC-14封装IC的小PCB。该IC使用存储的校准系数测量和处理模拟信号,进行模数转换并输出具有温度和湿度的数字信号。
DHT11和DHT22引脚排列 DHT11和DHT22传感器相当容易连接。它们有四个引脚:
VCC 引脚为传感器供电。虽然电源电压范围为3.3V至5.5V,但建议使用5V电源。在5V供电的情况下,传感器可以保持20米的距离。但是,使用3.3V电源电压时,电缆长度不得超过1米。否则,线路电压降会导致测量误差。 Data 引脚用于传感器和微控制器之间的通信。 NC 未连接 GND 连接到Arduino开发板的地。
将DHT11和DHT22连接到Arduino UNO 现在我们已经完全了解了DHT传感器的工作原理,我们可以开始将它连接到Arduino!
幸运的是,将DHT11或DHT22传感器连接到Arduino很简单。它们使用2.54mm间距的排针,因此您可以轻松地将它们插入任何面包板。用5V为传感器供电并将GND连接到地线。最后,将Data引脚连接到数字引脚#2。
我们还需要在VCC和Data线之间放置一个10KΩ的上拉电阻,以保持它为高电平,以便传感器和MCU之间的正确通信。如果您碰巧有传感器的分线板,则无需添加任何外部上拉电阻。它带有一个内置的上拉电阻。
硬件连接完成后,你现在可以上传一些代码并让它工作了。 |