这里我包含了我的库:
#include <LiquidCrystal.h>
#include <SimpleDHT.h>
LiquidCrystal LCD();
SimpleDHT11 dht11();
我宣布我的注册和引脚:
int pinDHT11 = 12;
int temperature;
int humidity;
int GLED = 13;
int RLED = 8;.
我做了我的虚空设置:
void setup() {
Serial.begin(9600);
pinMode (GLED, OUTPUT);
pinMode (RLED, OUTPUT);
LCD.begin (16,2);
}
我做了我的无效循环:
void loop() {
Serial.println("Sensor");
// read with raw sample data.
byte temperature = 0;
byte humidity = 0;
if (dht11.read(pinDHT11, &temperature, &humidity, NULL)) {
Serial.print("Read DHT11 failed");
delay (1000);
return;
}
Serial.print("Temperatura: ");
Serial.print((int)temperature); Serial.println(" *C, ");
Serial.print ("Humedad");
Serial.print((int)humidity); Serial.println(" %");
LCD.setCursor (0,0);
LCD.print ("Temperatura"); LCD.print (temperature); LCD.print(" C");
LCD.setCursor (0,1);
LCD.print ("Humedad"); LCD.print (humidity); LCD.print(" %");
delay(1000);
}
它给了我这个错误:
((DHT11:16:错误:在'LCD'中请求成员'begin',这是非类型'LiquidCrystal()'))
答案 0 :(得分:0)
在C ++中,LiquidCrystal LCD();
被解释为函数声明。
相反,使用LiquidCrystal LCD;
来调用空构造函数。
但是从LiquidCrystal doc开始,没有可用的空构造函数。使用以下之一:
LiquidCrystal(rs, enable, d4, d5, d6, d7)
LiquidCrystal(rs, rw, enable, d4, d5, d6, d7)
LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7)
LiquidCrystal(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7)
答案 1 :(得分:0)
在代码的第三行,您缺少用于将LCD连接到Arduino板的引脚。它应该是这样的:
LiquidCrystal LCD(12, 11, 10, 5, 4, 3, 2);
如果您使用引脚12,11,10,5,4,3,2将LCD连接到Arduino。在Liquid Crystal reference page上查看您需要的所有信息。