我正在运行这段代码,它一直给我这个错误。下面我把密码。这是气象站的代码。我已经添加和导入了库,但是我仍然得到相同的错误。
#include <stdlib.h>
#include <SoftwareSerial.h>
#include <DHT.h>
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP085_U.h>
#define SSID "DroidSpot" //replace XXXXX by your router SSID
#define PASS "gggg" //replace YYYYY by your router password
#define IP "184.106.153.149" // thingspeak.com IP
#define DHT22_PIN 2
String GET = "GET /update?key=GDQ0LAAXLDGYMXW1&field1="; //replace ZZZZZ by your ThingSpeak channel write key
SoftwareSerial monitor(10, 11); //Serial communication to ESP8266 module (RX, TX)
dht DHT;
Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085);
.....
//read other sensors
char buffer[10];
//light sensor
float luminance = analogRead(luminancePin);
//UV sensor
float uv = analogRead(uvPin);
uv = uv * 0.0049; //convert values to volts
uv = uv * 307; //convert to mW/m²
uv = uv/200; //calculate UV index
//temperature and humidity
int chk = DHT.read22(DHT22_PIN);
float humidity = DHT.humidity;
float temperature = DHT.temperature;
//pressure and temperature1
sensors_event_t event;
bmp.getEvent(&event);
float pressure = 0;
float temperature1 = 0;
if (event.pressure)
{
pressure = event.pressure;
bmp.getTemperature(&temperature1);
}错误在DHT;行中。它是:
'dht' does not name a type发布于 2020-10-20 14:09:16
检查您正在使用的库。您可能尝试使用两个不同的库组合两个不同的源代码示例。
代码的正文似乎表明您需要一个不同的库。正如Juraj所指出的,这个库定义了您想要的类型:带有适当字段的https://github.com/RobTillaart/DHTstable。
您还必须更改您的头,以及这里。特别是:
#include <dht.h>如果您确实打算使用Adafruit库,正如您所包含的那样:
切换令牌:
DHT dht;并将所有其他DHT重构为dht。您还需要确保调用正确的类方法,因为这个库中没有定义read22。
https://stackoverflow.com/questions/64444721
复制相似问题