LCD e DHT11

Ragazzi il nuovo quesito è il seguente. Ho un display e un sensore DHT11 che mi misura la temperatura ad intervalli regolari. Ora fin qua nessun problema poichè finchè continuo a stampare la temperatura sul serial monitor tutto funziona ma nel momento in cui provo a stampare su lcd lo stesso rimane tutto illuminato e non visualizzo nulla. Non capisco se è un problema di codice o del display. Vi posto il codice così magari ci date un'occhiata

#include <DHT11.h>
#include <LiquidCrystal.h>
int pin=8;
DHT11 dht11(pin);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
lcd.begin(16, 2);
// imposto il tipo di display (colonne, righe)
lcd.print("Temperatura");
lcd.setCursor(0,1);
lcd.print("Umidita'"); 
Serial.begin(9600);
}

void loop()
{
  int err;
  float temp, humi;
  if((err=dht11.read(humi, temp))==0)
  {
    lcd.print("temperature:");
    lcd.print(temp);
    lcd.print(" humidity:");
    lcd.print(humi);
    lcd.println();
  }
  else
  {
    lcd.println();
    lcd.print("Error No :");
    lcd.print(err);
    lcd.println();    
  }
  delay(DHT11_RETRY_DELAY); //delay for reread
}

Domande banali:

  1. Ma il primo print su lcd nella setup() funziona?
  2. di solito le varie print su LCD devono essere posizionate con lcd.setCursor()
    io le metterei (ma LCD 16x2, 20,4 ? )

No non funziona! L'LCD è un 16*2

Allora fai un passo alla volta. Leva la libreria DHT, leva il sensore e prova solo il lcd scrivendoci sopra "Ciao".

Quando ti funziona quello, allora potrai aggiungere altro, sia come codice che hardware.