当我编译此代码时,我收到了错误" 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温度和湿度传感器,我的库位于正确的文件夹中。
任何人都可以帮我删除这类错误.. ??
提前感谢。
答案 0 :(得分:2)
我刚刚在过去的几个小时内处理过同样的问题,最终弄明白问题是什么。我正在从网页上复制并粘贴库文件,然后尝试从草图中保存它们,所以每次我保存我的&#34; .h&#34;和&#34; .cpp&#34;文件,我实际上将它们保存为&#34; .h.ino&#34;和&#34; .cpp.ino&#34;文件,在编译期间当然不会被识别。我通过将库代码复制到文本文档中来纠正这个问题,然后&#34;另存为...&#34;并将文件类型更改为&#34;所有文件&#34;他们保存为正确的文件类型。将这两个文件粘贴到Arduino Library文件中的命名文件夹中,你应该好好去。这花了我很长时间才弄明白;我有点惭愧。
希望这不是太晚了,这对某人有所帮助!一切顺利
答案 1 :(得分:1)
以下是我在设置部分之前使用的内容。:
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN,DHTTYPE);
int chk;
float temp;
float hum;