LCD won't display the sensor reading.

So, I’m new to Arduino and coding, but I bought a starter kit to learn the basics. After going through all the examples, I started to do some things on my own, but I’m stuck now. I have a 16x02 LCD screen and a DHT11 sensor, and I’m trying to display the temp/hum readings on the screen. The problem is, my screen only displays “Temp 0.00C” and “Hum 0.00%”. When I run the exact same code but printing on Serial, I have all the right readings, using the same variables.

Here is the code:

#include <LiquidCrystal.h>
#include <DHT11.h>

dht11 DHT11;
#define DHT11PIN 7

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(0, 1, 2, 3, 4, 5);

void setup() {
// set up the LCD’s number of columns and rows:
lcd.begin(16, 2);
}

void loop(){
// Print a message to the LCD.
float humidity=DHT11.humidity;
float temperature=DHT11.temperature;
lcd.setCursor(0,0);
lcd.print(“Temp C”);
lcd.setCursor(6,0);
lcd.print(temperature);
lcd.setCursor(0,1);
lcd.print(“Humi %”);
lcd.setCursor(6,1);
lcd.print(humidity);
delay(2000);
}

What am I doing wrong??

Take a look at this previous posting on printing floating point numbers to lcd.

http://forum.arduino.cc/index.php/topic,45943.0.html

I tried using INT, and than it just displayed 0...

PS: Just tried the Light Sensor example, and I managed to succesfuly display the readings on the LCD. Did some tweakings on the DHT11 code but for the love of god, it still only displays 0.00!!

Looks like your using the same library as me, and your missing the read function:

#include <DHT11.h>

DHT11 dht11(A3);

float temp, humi;
int err;
lcd.print(F(“dht11 readings”));
lcd.setCursor(0,1);
if((err=dht11.read(humi, temp))==0) {
lcd.print(int(temp));
lcd.print(F(" *C “));
lcd.print(int(humi));
lcd.print(F(” %LV "));

} else {
lcd.print(F(“error”));
lcd.print(err);
}

The F() is so the texts gets written and gets called from flash instead memory