2017-06-30 7 views
0

Je reçois ce message d'erreur avec mon code arduino "request for member 'read11' in 'sensor », qui est de type non-classe 'DHT()' »Logiciel Arduino: "request for member 'read11' dans 'sensor', qui est de type 'DHT()'"

#include <DHT.h> 


#include <LiquidCrystal.h> 


LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 
int greenPin = A0; 
DHT sensor(); 

void setup() 
{ 
    lcd.begin(16,2); //16 by 2 character display 
} 

void loop() 
{ 
    delay(1000); //wait a sec (recommended for DHT11) 
    sensor.read11(greenPin); 
    lcd.clear(); 
    lcd.setCursor(0,0); 
    lcd.print("Humidity = "); 
    lcd.print(sensor.humidity); 
    lcd.setCursor(0,1); 
    lcd.print("Temp = "); 
    lcd.print(sensor.temperature); 
} 

J'ai téléchargé la bibliothèque, il a dit à télécharger, s'il vous plaît aider!

Je l'ai pris sur ce site BTW juste pour éviter les problèmes de Copywright: https://www.hive-rd.com/blog/arduino-dht11-output-lcd-module/

Répondre

1

Sur la ligne

DHT sensor(); 

l'utilisation de parenthèses provoque cette ligne s'analysable comme une déclaration avant d'une fonction sensor(), en prenant aucun argument, renvoyant le type DHT. Ce que vous voulez est juste définir sensor comme une variable de type dht (note:. le tutoriel utilise minuscules) La syntaxe correcte serait:

#include <dht.h> 
/* code */ 
dht sensor; 

Si vous faites référence au tutoriel vous vous êtes connecté, vous aurez voyez comment cela apparaît dans l'exemple de code.