Automation DHT11传感器(带Nano v3)的湿度错误

Automation DHT11传感器(带Nano v3)的湿度错误,automation,arduino,sensors,Automation,Arduino,Sensors,我买了两个湿度传感器 为了便宜,我试了一下。 有两套不同的库和两个不同的传感器,它们都会在相同的40个点上产生非常不正确的湿度读数 代码: 输出: 我还有另外两台设备和天气报告,湿度高达82%。 设备报告湿度为40%。差40分 我并没有购买顶级装备,但我对这项技术也很陌生 是否需要进行校准? 难道我会像职业选手那样为这场丑恶的恶作剧得到40分,而这真的只是一个弥天大谎吗? 还是这些传感器只是垃圾 如何从DHT11传感器获得正确的湿度读数,还是只需要质量更好的设备 温度看起来正确,湿度不正确

我买了两个湿度传感器

为了便宜,我试了一下。 有两套不同的库和两个不同的传感器,它们都会在相同的40个点上产生非常不正确的湿度读数

代码:

输出:

我还有另外两台设备和天气报告,湿度高达82%。 设备报告湿度为40%。差40分

我并没有购买顶级装备,但我对这项技术也很陌生

是否需要进行校准? 难道我会像职业选手那样为这场丑恶的恶作剧得到40分,而这真的只是一个弥天大谎吗? 还是这些传感器只是垃圾

如何从DHT11传感器获得正确的湿度读数,还是只需要质量更好的设备

温度看起来正确,湿度不正确。 我的项目需要远程精确的湿度读数

更新: 第三个和所有3个在行为上是相同的。同样的40分缺陷

更新#2:

我使用Adafruit库的测试代码重试了它们,如果我住在Venus上,它就死定了。 但遗憾的是,我生活在地球上,这些读数也帮不了什么忙

输出:

更新3: 我正在尝试 如果没有额外的更新,那么要么这起作用,要么我买了其他东西

最近更新: 这是一个化学问题,不是数字问题。DHT11在没有任何校准的情况下被切割。 解决方案 把金属稍微膨胀一下。 盐有助于氧化过程,只要问问船上的人就知道了。 我在一个杯子里混合了一些浓盐水,并用一张纸将传感器悬挂在杯子上方,但没有直接弄湿,这也在一定程度上密封/包裹了低于杯唇水平的传感器。 由于传感器(而不是电路板)有点气密,我让盐水蒸汽在其上工作了大约6-8个小时。 在这潮湿的一天,它仍然落后18分。 所以我把盐水加热了一点,因为我不耐烦。 这使得湿度瞬间从约50%上升到95%。 让它静置大约一个小时,传感器仍然报告高。 1小时后,它现在保持在大约-3%的目标。这很好

DHT11必须经过化学校准(盐水)才能变得准确

供参考:

更新后,我确信Adafruit库实际上不适合您,只是您没有取消注释正确的传感器定义

示例中是这样的

//#define DHTTYPE DHT11   // DHT 11
#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)
DHT11应该是这样的

#define DHTTYPE DHT11   // DHT 11
//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)
如果DHT22提供的湿度在800%范围内,则应提供30%至40%范围内的湿度

我之前也遇到过同样的问题

在这一点上你能得出的唯一结论是你的传感器坏了


我希望这能有所帮助。

那么你说你买了两个传感器,两个都打了40%的折扣吗?@PaulOgilvie是的,所有3个(1,2,3)都打了40%的折扣。你用过其他库吗?@Nitro图书馆经理的DHT和另一个,我已经记不清了。@Nitro我也试过ardufruit图书馆,但也出了一些类错误。Adafruit_Sensor.h dht11.cpp dht11.h DHT.cpp DHT.h DHT.h DHT.h旧dhtnew.cpp dhtnew.h DHT_.cpp DHT_.h潮湿_.h温度idDHT11.cpp idDHT11.h都试过了,只有两个成功。我试过dht11和DHT22类。同样的问题。我想我刚刚找到了一个论坛,明确指出传感器是垃圾。还在读书,但看起来不太好。
#define DHTTYPE DHT11   // DHT 11
//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)