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 秒更新一次。