неправильная влажность от датчика DHT11 с Nano v3 - PullRequest
0 голосов
/ 31 мая 2018

Я купил пару датчиков влажности ebay link

по дешевке и опробовал их.С двумя различными наборами библиотек и двумя разными датчиками, оба дают очень очень неправильное считывание влажности на тех же 40 точках.

библиотеки

код:

#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);
}

выход:

enter image description here

У меня есть 2 других устройства и отчеты о погоде с липкой влажностью 82%.Устройство сообщает о 40% влажности.на 40 пунктов.

Я не совсем купил верхнюю полку, но я также новичок в этой технологии.

Нужна ли калибровка?Должен ли я получить 40 очков за уродливый хак, как это делают профессионалы, и это всего лишь одна большая ложь?или эти датчики просто мусор?

Как получить правильные показания влажности от датчика DHT11, или мне просто нужно более качественное оборудование?

Температура выглядит правильно, влажность - нет.Для моего проекта необходимы дистанционно точные показания влажности.

ОБНОВЛЕНИЕ: Пробовал 3-й и все 3 идентичны по поведению.Тот же недостаток в 40 баллов.

ОБНОВЛЕНИЕ № 2:

Я повторил попытку библиотек Адафрута, используя их тестовый код, и если бы я проживал на Венере, он был бы мертвым.Но, к сожалению, я живу на Земле, и эти показания тоже мало чем помогут.

библиотеки и тестовый код

вывод:

enter image description here

ОБНОВЛЕНИЕ 3: Я пытаюсь https://forum.mysensors.org/topic/126/calibrating-humidty Если никаких дополнительных обновлений нет, то или это сработало, или я купил что-то другое.

ПОСЛЕДНЕЕ ОБНОВЛЕНИЕ: Этовопрос ХИМИИ, а не цифровой.DHT11 режут без калибровки.Решение?Раздувай металл немного.Соль помогает в процессе окисления, просто спросите любую лодку.Я смешал немного густой соленой воды в чашке и подвесил датчик над чашкой с куском бумаги, не намочив его непосредственно, что также несколько загерметизировало / закрыло датчик ниже уровня губ чашки.Поскольку датчик (а не плата) несколько герметичен, я позволил парам соленой воды работать на нем в течение 6 - 8 часов.В этот влажный день было еще 18 очков.Поэтому я немного нагрел соленую воду, потому что я нетерпеливый.Это мгновенно подняло влажность с ~ 50% до 95%.Оставьте на час, датчик все еще показывает высокий уровень.Через 1 час он удерживается на уровне -3% от цели.Это нормально.

Прибор DHT11 должен быть откалиброван химически (соленая вода) для обеспечения точности ...

К вашему сведению: информация о калибровке

1 Ответ

0 голосов
/ 31 мая 2018

После обновления я был уверен, что библиотека 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)

Это должно дать вам влажность в диапазоне от 30 до 40%, если DHT22 давал вам влажность в диапазоне 800%.

IРанее сталкивался с той же проблемой.

Единственный вывод, который вы можете сделать на этом этапе, заключается в том, что у вас плохие датчики.

Надеюсь, это поможет.

...