DHT11 en LCD-scherm

Hallo, het volgende. Momenteel ben ik bezig met de combinatie van een LCD-scherm en een DHT11-sensor. De meetwaarden oCelsius en luchtvochtigheid dienen op het LCD-scherm weergegeven te worden. Hiervoor heb ik een sketch (welke ik gebruik op een Arduino UNO), bij het compileren krijg ik steeds een foutmelding. De sketch is de volgende:

/*LCD-display 2004
kamertemperatuur en relatieve vochtigheid tonen op LCD-display 2004
*/

//Bibliotheken voor LCD-display en DHT-sensor
#include "LiquidCrystal.h";
#include "DHT.h";
//Wijs bibliotheek toe aan variabele 'dht':
DHT dht;
//wijs bibliotheek toe aan variabele 'LCD'; tussen haakjes staan
//de Arduino-pinnen dia data doorgeven aan het display;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
//Data van DHT komen binnen op pin D6:
dht.setup(6);
//LCD-display kan 20 karakters en 4 regels weergeven:
lcd.begin(20, 4);
//zet displaycursor op psitie 0 van regel 0:
lcd.setCursor (0, 0);
//toon tekst 'Basisboek Arduino' op display
lcd.print ("Basisboek Arduino");
//zet displaycursor op positie 8 van regel 1:
lcd.zetCursor(8, 1);
//toon tekst 'Programmeren' op display:
lcd.print ("programmeren");
}
void loop() {
//pauze om DHT nieuwe data te laten verzamelen:
delay(dht.getMinimumSamplingPeriod());
//vraag relatieve luchtvochtigheid op:
float humidity = dht.getHumidity();
//vraag de temperatuur op:
float temperature = dht.getTemperature();
//zet cursor op positie 0 van regel 2:
lcd.setCursor(0, 2);
//toon het woord 'temperature'op LCD-display:
lcd.print("Temperature= ");
//zet displaycursor op positie 15 van regel 2:
lcd.setCursor(15, 2);
//toon de temperatuur zonder decimalen op LCD-display:
lcd.println((temperature, 0);
//zet displaycursor op positie 17 van regel 2:
lcd.setCursor(17, 2);
//toon het 'graden Celsius'symbool op LCD-display:
lcd.print ("oC");
//zet displaucursor op positie 0 van regel 3:
lcd.setCursor(0, 3);
//toon het woord 'Humidity'op LCD-display:
lcd.print("Humidity");
//zet displaycursor op positie 15 van regel 3:
lcd.setCursor(15, 3);
//toon relatieve luchtvochtigheid zonder decimaal op LCD-display:
lcd.print(humidity, 0);
//zet displaycursor op positie 19 van regel 3:
lcd.setCursor(17, 3);
//toon het % symbool op LCD-scherm:
lcd.print(" %");
}

In regel 9: DHT dht; wordt iets niet goed vermeldt, er wordt een foutcode vermeld: no matching function for call to 'DHT;DHT()' - wat kan/moet hier aangepast worden?

Je moet de bibliotheek voor de DHT11 installeren (probeer via Schets > Bibliotheek gebruiken > Bibliotheken beheren...)

hoi pascal100,

Draai deze sketch eens en probeeer daarna of je de data ook naar je LCD kan sturen. Dat laatste zit niet in deze sketch. Leuke uitdaging!

// single DHT 11 temp-humidity sensor on Arduino with serial monitor reporting only
// original written by Tim Stephens 2013 -  http://www.tjstephens.com/blog/2013/11/23/temperature-logger/
// public domain
// modified photoncatcher July 1, 2017

// based on DHT11 examples by Ladyada.
// data pin of DHT11 sensors wired to pin 8 on Arduino
// 10k pull up resistor (between data and 5V)

   #include "DHT.h"

   float h, t;
   DHT DHT_sens(8, DHT11);           // datapin sensor to pin 8 Arduino


void setup()
{

   DHT_sens.begin();

   Serial.begin (9600);
   Serial.println ("===============================================");
   Serial.println ("Bare DHT11 temp-humidity sensor - Aug 20, 2020");
   Serial.println ("===============================================");
   Serial.println (" ");
}


void loop(){


   
// ================== read from buffer and display =========================   
   
   h = DHT_sens.readHumidity();
   t = DHT_sens.readTemperature();

 
   delay (1000);                        // pause a second
   Serial.print ("Humidity: ");
   Serial.print (h,0);                  // zero decimal
   Serial.print (" %\t");
   Serial.print ("Temperature: ");
   Serial.print (t,1);                  // one decimal
   Serial.println (" *C");
   delay (1000);                        // pause a second

}

Succes, photoncatcher