DTH11 - влажность 95% "всегда"

Тема в разделе "Arduino & Shields", создана пользователем chumaty, 21 янв 2018.

Метки:
  1. chumaty

    chumaty Нуб

    Товарищи, всем доброго врмеени суток!
    Похожей темы не нашел, видимо один я такой "счастливый"

    Проблемы с этим датчиком, подскажите возможно кто встречался.

    Датчик dth11 подключен к ардуинке нано, влажность и температуру показывает, все работает, но периодически без какой либо зависимости он с не с того не с сего показывает влажность 95%, так может и час и 5 минут показывать. Датчик стоит в ванной комнате, но в период "сбоя" никаких изменений по влажности нет. Обычную влажность показывает около 30%+. Подскажите, это датчик такой попался или в принципе какая то ерунда? Спасибо.

    Код (C++):
    #include <SimpleDHT.h>
    int pinDHT11 = 2; // номер пина, к которому подсоединен датчик
    SimpleDHT11 dht11;

    const int vcPin =  4;      // номер выхода, подключенного к реле
    long previousMillis = 0;        // храним время последнего переключени
    long interval = 5000;           // интервал между включение/выключением (1000 - 1 секунда)

    void setup() {
      pinMode(vcPin, OUTPUT); // Номер пина, который будем использовать для реле
      digitalWrite(vcPin, HIGH); // Выключено (OFF) 1
      Serial.begin(9600);
    }

    void loop() {
      unsigned long currentMillis = millis();

      //проверяем не прошел ли нужный интервал, если прошел то
      if(currentMillis - previousMillis > interval) { //begin global if
        // сохраняем время последнего переключения
        previousMillis = currentMillis;

        //влажность и температура + ошибки
        // Температура
        byte temperature = 0;
        // Влажность
        byte humidity = 0;
        // Ошибки
        int err = SimpleDHTErrSuccess;
       
        if ((err = dht11.read(pinDHT11, &temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
          Serial.print("Read DHT11 failed, err="); Serial.println(err);
          return;
        }

            Serial.print("Humidity: ");
            Serial.print((int)humidity);
            Serial.print(" %\t");
            Serial.print("Temperature: ");
            Serial.print((int)temperature);
            Serial.println(" *C");
       
        //если влажность > 75 включаем реле
        if ((int)humidity > 75) {
          digitalWrite(4, LOW);
        } else {
          //если меньше 75 - то выключаем
          digitalWrite(4, HIGH);
        }

      } //end global if

    }
     
  2. ostrov

    ostrov Гуру

    Датчик г-но изначально. Годится только на попробовать в принципе.
     
  3. Airbus

    Airbus Радиохулиган Модератор

    DHT22 тоже Г.
     
  4. Securbond

    Securbond Гуру

    AM2320 в ту же кучу... (какашка)

    BME280 - возможно чуть более точный.
    Проверял по военной метеостанции
    BME280 — идеально показывает давление
    Ds18b20 — идеально показывает температуру
    По влажности пока не определился, возможно есть что то более дорогое (особенно для улицы).
     
  5. chumaty

    chumaty Нуб

    Парни, а чего брать то подскажите, есть более менее по адекватной цене и работоспособности?
     
  6. ostrov

    ostrov Гуру

  7. DetSimen

    DetSimen Guest

    BME280 от Bosch. c влажностью. BMP280 - без влажности, только тенпература и атм.давление.

    подешевле - AM2320, он лучше, канеш, чем DHT11 но ненамного.

    более-менее адекватный даччик Si7021, но за него китайцы много денег просют