Странное поведение DHT11

Тема в разделе "Arduino & Shields", создана пользователем Mitrandir, 25 апр 2014.

  1. Mitrandir

    Mitrandir Гуру

    Подключил к меге DHT11

    Скетч такой:
    Код (Text):
    / подключаем библиотеку
    #include <dht.h>

    // создаём объект-сенсор
    DHT sensor = DHT();

    void setup()
    {
        Serial.begin(9600);

        // методом attach объявляем к какому контакту подключен
        // сенсор. В нашем примере это шестой аналоговый контакт
        sensor.attach(A6);
        //
        // после подачи питания ждём секунду до готовности сенсора к работе
        delay(1000);
    }

    void loop()
    {
        // метод update заставляет сенсор выдать текущие измерения
        sensor.update();

        switch (sensor.getLastError())
        {
            case DHT_ERROR_OK:
                char msg[128];
                // данные последнего измерения можно считать соответствующими
                // методами
                sprintf(msg, "Temperature = %dC, Humidity = %d%%",
                        sensor.getTemperatureInt(), sensor.getHumidityInt());
                Serial.println(msg);
                break;
            case DHT_ERROR_START_FAILED_1:
                Serial.println("Error: start failed (stage 1)");
                break;
            case DHT_ERROR_START_FAILED_2:
                Serial.println("Error: start failed (stage 2)");
                break;
            case DHT_ERROR_READ_TIMEOUT:
                Serial.println("Error: read timeout");
                break;
            case DHT_ERROR_CHECKSUM_FAILURE:
                Serial.println("Error: checksum error");
                break;
        }

        delay(2000);
    }
    В целом показывает температуру выше спиртового градусника градусов на 5, это нормальная погрешность?

    иногда сыпется Error: read timeout..

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

    Это нормальное поведение датчика?

    на 41 градусе надоело держать, отвел от стакана.

    ( в воду я его не опускал)
     
    Последнее редактирование: 26 апр 2014
  2. Витя

    Витя Гик

    У меня тоже такой. Он не точный у него отклонение в даташите +/- 2 градуса. И кипиток им не измерить. Сто градусов вода - потом стакан, потом пластмасса датчика, потом сам датчик. Там никогда не будет большой температуры. Но самое главное что он не может вобше мерить больше 50 градусов. Это надо другую модель DHT22 вроде. Тот от минуса до больше ста градусов меряет. И еще - если он плохо начал работать это значит он типа подпортился и его надо востановить. В даташите вот написано: http://www.micropik.com/PDF/dht11.pdf Сначало надо в духовку типа положить на 50 градусов а потом в прохладной ванной подержать. И кстати в программе он опрашивается каждые 2 секунды, а по даташиту он в лучшем случае может отвечать только раз в 6 секунд. А так аж до 30 секунд!
     
    Последнее редактирование: 26 апр 2014
    Mitrandir нравится это.