I played with the code a little bit (I don't know if I've actually changed anything..) and I still get the same error, also I don't really think I know what you mean by defining an DHT object? Including and using the lib and setting the pin is not enough for proper functioning?
#include <SimpleDHT.h>
#include <LiquidCrystal.h>
#include <Time.h>
#include <Wire.h>
#include <DS1307RTC.h>
#define screen LiquidCrystal
#define sensor SimpleDHT11
int DHT11_PIN = 2;
unsigned int DHTcheck = 0;
int RSPin = 6;
int EnablePin = 7;
int DS4 = 9;
int DS5 = 10;
int DS6 = 11;
int DS7 = 12;
int LCDColumns = 16;
int LCDRows = 2;
LiquidCrystal screen(RSPin, EnablePin, DS4, DS5, DS6, DS7);
long LastCheck = 0;
const long interval = 1800000;
void setup ()
{
screen.begin(LCDColumns, LCDRows); //Configure the LCD
setSyncProvider(RTC.get); //Declare RTC as time data source
}
void loop()
{
digitalClockDisplay();
DHTsensor();
}
void digitalClockDisplay () {
screen.setCursor(0, 0);
screen.print(hour());
screen.print(":");
screen.print(minute());
screen.setCursor(6, 0);
screen.print(day());
screen.print(".");
screen.print(month());
screen.print(".");
screen.print(year());
}
void DHTsensor () {
unsigned long CurrentTime = millis();
if (CurrentTime - LastCheck >= interval) {
LastCheck = CurrentTime;
DHTcheck = sensor.read11(DHT11_PIN);
}
screen.setCursor(0, 1);
screen.print("H:");
screen.print(sensor.humidity, 1);
screen.setCursor(9, 1);
screen.print("T:");
screen.print(sensor.temperature, 1);
}