Arduino - 湿度传感器
在本节中,我们将学习如何将 Arduino 板与不同的传感器连接起来。我们将讨论以下传感器 −
- 湿度传感器 (DHT22)
- 温度传感器 (LM35)
- 水检测器传感器 (简单水触发器)
- PIR 传感器
- 超声波传感器
- GPS
湿度传感器 (DHT22)
DHT-22(也称为 AM2302)是一种数字输出、相对湿度和温度传感器。它使用电容式湿度传感器和热敏电阻来测量周围的空气,并在数据引脚上发送数字信号。
在此示例中,您将学习如何将此传感器与 Arduino UNO 一起使用。室温和湿度将打印到串行监视器。
DHT-22 传感器
连接很简单。左侧的第一个引脚接 3-5V 电源,第二个引脚接数据输入引脚,最右边的引脚接地。
技术细节
功率 − 3-5V
最大电流 − 2.5mA
湿度 − 0-100%,精度 2-5%
温度 − 40 至 80°C,精度 ±0.5°C
所需组件
您将需要以下组件 −
- 1 × 面包板
- 1 × Arduino Uno R3
- 1 × DHT22
- 1 × 10K 欧姆电阻
步骤
按照电路图,将组件连接到面包板上,如下图所示。
草图
在计算机上打开 Arduino IDE 软件。使用 Arduino 语言进行编码将控制您的电路。单击"新建"打开新的草图文件。
Arduino 代码
// 各种 DHT 湿度/温度传感器的示例测试草图
#include "DHT.h"
#define DHTPIN 2 // what digital pin we're connected to
// 取消注释您正在使用的类型!
//#define DHTTYPE DHT11 // DHT 11
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// 将传感器的引脚 1(左侧)连接到 +5V
// 注意:如果使用具有 3.3V 逻辑的电路板(如 Arduino Due),请将引脚 1
// 连接到 3.3V 而不是 5V!
// 将传感器的引脚 2 连接到您的 DHTPIN
// 将传感器的引脚 4(右侧)连接到地面
// 将一个 10K 电阻从传感器的引脚 2(数据)连接到引脚 1(电源)
// 初始化 DHT 传感器。
// 请注意,此库的旧版本采用了可选的第三个参数来
// 调整时间以加快处理器的速度。此参数不再需要
// 因为当前 DHT 读取算法会自行调整以适应更快的处理速度。
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("DHTxx test!");
dht.begin();
}
void loop() {
delay(2000); // 测量之间等待几秒钟
float h = dht.readHumidity();
// 读取温度或湿度大约需要 250 毫秒!
float t = dht.readTemperature();
// 将温度读取为摄氏度(默认值)
float f = dht.readTemperature(true);
// 将温度读取为华氏度(isFahrenheit = true)
// 检查是否有任何读取失败并提前退出(重试)。
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// 以华氏度计算热指数(默认值)
float hif = dht.computeHeatIndex(f, h);
// 以摄氏度计算热指数(isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
Serial.print ("Humidity: ");
Serial.print (h);
Serial.print (" % ");
Serial.print ("Temperature: ");
Serial.print (t);
Serial.print (" *C ");
Serial.print (f);
Serial.print (" *F ");
Serial.print ("Heat index: ");
Serial.print (hic);
Serial.print (" *C ");
Serial.print (hif);
Serial.println (" *F");
}
需要注意的代码
DHT22 传感器有四个端子(Vcc、DATA、NC、GND),它们按以下方式连接到电路板 −
- DATA 引脚连接到 Arduino 引脚号 2
- Vcc 引脚连接到 Arduino 电路板的 5 伏电压
- GND 引脚连接到 Arduino 电路板的地线
- 我们需要在 DATA 和 Vcc 引脚之间连接 10k 欧姆电阻(上拉电阻)
完成硬件连接后,您需要将 DHT22 库添加到 Arduino 库文件中,如前所述。
结果
您将在串行端口监视器上看到温度和湿度显示,每 2 秒更新一次。

