You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Arduino Nano v3搭配DHT11湿度传感器读数偏差的校准解决方法

廉价DHT11温湿度模块的校准踩坑记录

问题初现

最近我在eBay入了几款低价DHT11温湿度传感器模块,测试时却遇到了大问题:湿度读数严重不准,偏差足足有40个百分点!

一开始我换了两款不同的库(MySensors DHT库、Adafruit DHT库)测试,还先后换了两款传感器,结果湿度读数始终离谱,倒是温度读数一直正常——可我的项目偏偏需要准确的湿度数据。

MySensors库测试代码

#include "DHT.h"
DHT dht;
void setup() {
  Serial.begin(9600);
  Serial.println();
  Serial.println("Status\tHumidity (%)\tTemperature (C)\t(F)");
  dht.setup(2); // Data pin 2
}
void loop() {
  delay(dht.getMinimumSamplingPeriod());
  float humidity = dht.getHumidity();
  float temperature = dht.getTemperature();
  Serial.print(dht.getStatusString());
  Serial.print("\t");
  Serial.print(humidity, 1);
  Serial.print("\t\t");
  Serial.print(temperature, 1);
  Serial.print("\t\t");
  Serial.println(dht.toFahrenheit(temperature), 1);
}

测试结果

我用其他设备和当地气象报告确认,实际环境湿度是82%,但传感器只显示40%。后来换了第三款传感器,依旧是40%左右的偏差;换成Adafruit库的测试代码后,读数还是和实际环境对不上。

解决:盐水化学校准

后来我参考了湿度校准的方法,尝试给传感器做化学校准:

  • 先把传感器放在密封的浓盐水蒸汽环境中(没有直接接触盐水),放置6-8小时后,偏差还是有18个百分点;
  • 加热盐水加速校准过程,传感器读数瞬间升到95%,静置1小时后,读数误差缩小到-3%,终于达到了项目的使用要求。

总结

原来这类廉价DHT11必须经过盐水化学校准,才能获得准确的湿度读数,这点在官方的校准资料里也有明确说明。

内容的提问来源于stack exchange,提问作者boobie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:43:30