0 температура и влажность DH11

Хорошо, у меня проблемы с кодом. Я впервые использую DH11

Я продолжаю получать, что температура 0 градусов, так что влажность

#include "dht.h"
#define dht_apin A0

dht DHT;

void setup(){

  Serial.begin(9600);
  delay(500);
  Serial.println("DHT11 Humidity & temperature Sensor\n\n");
  delay(1000);

}

void loop()
{

    DHT.read11(dht_apin);

    Serial.print("Current humidity = ");
    Serial.print(DHT.humidity);
    Serial.print("%  ");
    Serial.print("temperature = ");
    Serial.print(DHT.temperature); 
    Serial.println("C  ");

    delay(5000)


}

В основном я получаю

Текущая влажность = 0,00%, температура = 0,00°C

, 👍-1

Обсуждение

вы запускали пример кода?, @jsotola

Предложение: отказаться от dht11 в пользу Bosch BME280 (не BMP!). Он измеряет температуру, влажность и давление., @tony gil

@tonygil ... и он не использует протокол дампа 1-wire. Пока 1w не поддерживается аппаратно, это оказывается решающим фактором для многих профессиональных (не производителей) приложений (мой опыт). BME — отличная альтернатива, предоставляющая SPI и i2c., @Sim Son

У вас есть внешняя подтяжка?, @Sim Son


1 ответ


0

У меня возникли проблемы при использовании некоторых версий библиотеки DHT. Могу я предложить вам попробовать использовать другую версию dht.h?

Эта версия мне подходит (есть более новая версия, которую я НЕ проверял):

dht.h (606B, 12.06.2012)

//
// ФАЙЛ: dht.h
// ВЕРСИЯ: 0.1.00
// НАЗНАЧЕНИЕ: DHT Temperature & Библиотека датчика влажности для Arduino
//
// URL-адрес: http://arduino.cc/playground/Main/DHTLib
//
// ИСТОРИЯ:
// см. файл dht.cpp
//

#ifndef dht_h
#define dht_h

#if ARDUINO >= 100
 #include "Arduino.h"
#else
 #include "WProgram.h"
#endif

#define DHT_LIB_VERSION "0.1.00"

class dht
{
public:
    int read11(uint8_t pin);
    int read22(uint8_t pin);
    double humidity;
    double temperature;

private:
    uint8_t bits[5];  // буфер для приема данных
    int read(uint8_t pin);
};
#endif
//
// КОНЕЦ ФАЙЛА
//
,