【问题标题】:dht does not name a type errordht 没有命名类型错误
【发布时间】:2014-08-13 08:12:08
【问题描述】:

当我编译此代码时,我收到错误“dht 没有命名类型”

 #include <DHT.h>

 #include <DHT22.h>


  dht DHT;


  #define DHT22_PIN 5

 void setup()
{
    Serial.begin(9600);
    Serial.println("DHT TEST PROGRAM ");
    Serial.print("LIBRARY VERSION: ");
    Serial.println(DHT_LIB_VERSION);
    Serial.println();
    Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
}

 void loop()
{
     // READ DATA
     Serial.print("DHT22, \t");
     int chk = DHT.read22(DHT22_PIN);
     switch (chk)
    {
         case DHTLIB_OK:
             Serial.print("OK,\t");
              break;
        case DHTLIB_ERROR_CHECKSUM:
              Serial.print("Checksum error,\t");
              break;
        case DHTLIB_ERROR_TIMEOUT:
              Serial.print("Time out error,\t");
              break;
         default:
             Serial.print("Unknown error,\t");
            break;
      }
       // DISPLAY DATA
         Serial.print(DHT.humidity, 1);
        Serial.print(",\t");
         Serial.println(DHT.temperature, 1);
       delay(1000);

      }

我正在使用 dht22 温度和湿度传感器,我的库位于正确的文件夹中。

谁能帮我消除这种类型的错误..??

提前致谢。

【问题讨论】:

  • 你不应该包括dht.h而不是DHT.h吗?

标签: arduino-uno dht


【解决方案1】:

在过去的几个小时里,我刚刚处理了同样的问题,终于弄清楚了问题所在。我从网页上复制和粘贴库文件,然后尝试从草图中保存它们,所以每次我保存我的“.h”和“.cpp”文件时,我实际上是把它们保存为“.h .ino" 和 ".cpp.ino" 文件,在编译过程中当然不会被识别。我通过将库代码复制到文本文档中来纠正这个问题,然后“另存为...”并将文件类型更改为“所有文件”并将它们保存为正确的文件类型。将这两个文件粘贴到您的 Arduino 库文件中的一个命名文件夹中,您应该一切顺利。我花了很长时间才弄清楚。我有点惭愧。

希望这还不算太晚,它可以帮助别人!万事如意

【讨论】:

    【解决方案2】:

    这是我在设置部分之前使用的:

    #include <DHT.h>
    
    #define DHTPIN 2
    
    #define DHTTYPE DHT11
    
    DHT dht(DHTPIN,DHTTYPE);
    
    int chk;
    
    float temp;
    
    float hum;
    

    【讨论】:

      猜你喜欢
      • 2021-02-03
      • 2011-12-10
      • 2013-09-09
      • 2015-12-01
      • 2014-12-16
      • 2016-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多